Taschenbuch der Wirtschaftsmathematik [2ed.]
 9783817116942, 3817116942 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Formeln zur Finanzmathematik Zinsrechnung Einfache Verzinsung: Kn = K0 (1 + ni) Zinseszinsrechnung: Kn = K0 · (1 + i)n

Kn = Kapital nach n Jahren

n = (log(Kn ) − log(K0 )) / log(1 + i)   Kn n i= −1 K0

i = Zinssatz

Unterjährige Verzinsung:  nm i Kn = K0 1 + m

K0 = Anfangskapital

n = Laufzeit m = Anzahl Zinstermine pro Jahr

Rentenrechnung Nachschüssige jährliche Rente: qn − 1 Rn = r q−1 n=

log(i Rn + r) − log(r) log(1 + i)

Nachschüssige jährliche Rente mit einmaliger Zahlung: qn − 1 q−1   i Rn n = log + 1 / log(1 + i) r

Rn = K0 qn + r

Vorschüssige jährliche Rente: qn − 1 Rn = r q q−1   i Rn / log(1 + i) n = log 1 + r Unterjährige nachschüssige Rente:   (m − 1)i qn − 1 Rn = r m + 2 i Unterjährige vorschüssige Rente:   (m + 1)i qn − 1 Rn = r m + 2 i

Rn = Rentenendwert r = Rentenzahlung i = Zinssatz q =1 + i n = Laufzeit m = Anzahl Zahlungstermine pro Jahr

1

Universalrechensysteme und Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

=⇒

2

Programmierung und Programmiersprachen . . . . . . . . . . . . . . . . . . . . . 43

=⇒

3

Entscheidung als Grundpfeiler betrieblichen Handelns . . . . . . . . . . 136

=⇒

4

Normative Methoden und Verfahren der Entscheidungsfindung . . 156

=⇒

5

Daten und Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

=⇒

6

Planung und Realisierung von Informationssystemen . . . . . . . . . . . . 242

=⇒

7

Vernetzung als Wettbewerbsfaktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

=⇒

8

Finanzmathematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

=⇒

9

Quantitative Methoden des modernen Wertpapier-Managements . 377

=⇒

10

Operations Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

=⇒

11

Spieltheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

=⇒

12

Graphen und Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

=⇒

13

Netzplanmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

=⇒

14

Arithmetik und Numerik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

=⇒

15

Gleichungen und Ungleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508

=⇒

16

Vektorrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530

=⇒

17

Matrizen, Determinanten und lineare Gleichungssysteme . . . . . . . . 540

=⇒

18

Boole’sche Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589

=⇒

19

Analytische Geometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602

=⇒

20

Folgen, Reihen, Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624

=⇒

21

Funktionen einer reellen Variablen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637

=⇒

22

Funktionen mehrerer unabhängiger Variablen . . . . . . . . . . . . . . . . . . 744

=⇒

23

Komplexe Zahlen und Funktionen einer komplexen Variablen . . . 763

=⇒

24

Integralrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784

=⇒

25

Differenzialgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805

=⇒

26

Differenzengleichungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .831

=⇒

27

Nichtlineare Dynamik, Chaostheorie, Fraktale Geometrie . . . . . . . . 852

=⇒

28

Fuzzy Set-Theorie und Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 874

=⇒

29

Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900

=⇒

30

Wahrscheinlichkeitsrechnung und mathematische Statistik . . . . . . 912

=⇒

Sachwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979

=⇒

Taschenbuch der

Wirtschaftsinformatik und

Wirtschaftsmathematik Herausgegeben von: Wolfgang König, Heinrich Rommelfanger, Dietrich Ohse, Oliver Wendt, Markus Hofmann, Michael Schwind, Klaus Schäfer, Helmut Kuhnle, Andreas Pfeifer

2., überarbeitete und erweiterte Auflage

Verlag

Harri Deutsch

Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über  http://dnb.ddb.de  abrufbar. ISBN 3-8171-1694-2

Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdrucks und der Vervielfältigung des Buches – oder von Teilen daraus – sind vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Fotokopie, Mikrofilm oder ein anderes Verfahren), auch nicht für Zwecke der Unterrichtsgestaltung, reproduziert oder unter Verwendung elektronischer Systeme verarbeitet werden. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Der Inhalt des Werkes wurde sorgfältig erarbeitet. Dennoch übernehmen Herausgeber, Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie für eventuelle Druckfehler keine Haftung.

2., überarbeitete und erweiterte Auflage 2003 c Wissenschaftlicher Verlag Harri Deutsch GmbH, Frankfurt am Main, 2003  Satz: Satzherstellung Dr. Steffen Naake, Chemnitz Druck: Clausen & Bosse, Leck Printed in Germany

Autoren (in alphabetischer Reihenfolge) Dipl.-Phys. Thomas Achenbach, FTZ, Telekom, Darmstadt, Prof. Dr. Jürgen Albrecht, Märkische Fachhochschule Iserlohn, Prof. Dr. Paul Alpar, Uni Marburg, Prof. Dr. Hans Babovsky, TU Ilmenau, Dr. Steffen Bass, Duke University, Prof. Dr. V. Baumgartner, HTW des Saarlandes, Saarbrücken, Dr. Arnd Bischoff, Uni Frankfurt, Dr. Marcus Bleicher, Uni Frankfurt, Prof. Dr. Steffen Bohrmann, Uni Kaiserslautern, Prof. Dr. Gerhard Brecht, Lemgo, Dipl.-Ing. Gerd Brinkmann, Leipzig, Dr. Gerd Buchwald, Christ Verlag, Prof. Dr. Helmut Carl, FH Biberach, Prof. Dr. Peter Chamoni, Uni Duisburg, Prof. Dr. Jörg Desel, KU Eichstätt, Dr. Ralf Dielschneider, SAP AG, Prof. Dr. A. Dobranis, Rheinische FH Köln, Prof. Dr. Adrian Dumitru, Uni Frankfurt, Dr. Ulrich Eichmann, Uni Frankfurt, Prof. Dr. Günter Flach, Dresden, Dr. Norbert Fleischer, Moskau, Prof. Dr.-Ing. Rainer Fremd, FH Rheinland-Pfalz, Abt. Kaiserslautern, Dipl.-Kfm. Markus Fricke, Uni Frankfurt, Prof. Dr. Siegfried Fuchs, Dresden, Prof. Dr. W. Glaser, FH Hamburg, Prof. Günter Graf, FH Karlsruhe, Dr. Harald Graf, Frankfurt, Prof. Dr. Adolf Grauel, Uni GH Paderborn, Dipl.-Kfm. Sven Grolik, Uni Frankfurt, Prof. E. Groth, FH Hamburg, Prof. Dr. Werner Güth, Humboldt-Universität Berlin, Dr. Christoph Hartnack, Ecole de Mines und Subatech Nantes, Prof. Dr. M. Herrmann, Uni Jena, Prof. Dr. Martin Hitz, Uni Klagenfurt, Dr. Christian Hofmann, Deutsche Bank AG, Dr. Markus Hofmann, Sun Microsystems, Langen, Prof. Dr. W. Hofner, FH Ravensburg-Weingarten, Dipl.-Inform. Jürgen Hollatz, TU München, Prof. Dr. Peter Junglas, FH Vechta/Diepholz, Dr. Kyung-Ho Kang, Uni Frankfurt, Prof. Dr. Gerti Kappel, TU Wien, Prof. Dr. K. Karow, FH Rheinland Pfalz, Dr. Andreas von Keitz, Frankfurt, Prof. Dr. Wolfgang König, Uni Frankfurt, Dr. Jens Konopka, Deutsche Flugsicherung, Langen, Prof. Dr. H.-J. Kröcker, Humboldt-Uni Berlin, Prof. Dr. Helmut Kuhnle, Uni Hohenheim, Dipl.-Ing. Helmut Kutz, Mauser AG, Oberndorf,

Prof. Dr. Eberhard Lanckau, TU Chemnitz, Prof. Dr. Bernd Luderer, TU Chemnitz, Prof. Dr.-Ing. Holger Lutz, FH Gießen-Friedberg, Prof. Dr.-Ing. Dipl.-Math. Monika Lutz, FH Gießen-Friedberg, Dr. Raffaele Mattiello, Frankfurt, Gerhard Merziger, Hannover, Prof. Dr. Heinz Dieter Motz, Uni Wuppertal, Dipl.-Ing. Robert Münzel, Studiendirektor, Feldbergschule Oberursel, Prof. Dr. Andreas Oberweis, Uni Frankfurt, Prof. Dr. Dietrich Ohse, Uni Frankfurt, Prof. Dr. Andreas Pfeifer, FH Darmstadt, Prof. Dr. Rudolf Pitka, FH Frankfurt, Prof. Dr. Kai Rannenberg, Uni Frankfurt, Prof. Dr. Rüdiger Reischuk, Uni Lübeck, Dr. Hans-Georg Reusch, Uni Münster, Prof. Dr. Wieland Richter, Uni GH Paderborn, Prof. Dr. Dirk Rischke, Uni Frankfurt, Prof. Dr. Heinrich Rommelfanger, Uni Frankfurt, Dr. Matthias Rosenstock, Frankfurt, Dipl.-Inform. Heiko Rossnagel, Uni Frankfurt, Dipl.-Inform. Inge Rumrich, Uni Frankfurt, Dr. Klaus Rumrich, Schumann und Partner, Köln, Dr. Klaus Schäfer, Uni München, Dr. Wolfgang Schäfer, Bosch Telekom, Paris, Prof. Dr. Jürgen Schaffner, Frankfurt, Dr. H.-J. Schell, TU Chemnitz, Dr. Thomas Schönfeld, DG Bank, Frankfurt, Prof. Dr. Thomas Schramm, HAW Hamburg, Prof. Dr. Bernd Schürmann, Siemens AG, Prof. Dr. Karlheinz Schüffler, FH Krefeld, Prof. Dr. Gerhard Schwabe, Uni Zürich, Dipl. Wirtsch.-Ing. Michael Schwind, Uni Frankfurt, Dr. Christian Spieles, KfW, Frankfurt, Prof. Dr. Horst Stöcker, Uni Frankfurt, Dipl.-Kfm. Tim Stockheim, Uni Frankfurt, Dr. Juri Stolyarsky, JINR Dubna, Prof. Dr. Georg Terlecki, FH Rheinland-Pfalz, Abt. Kaiserslautern, Prof. Dr. Peter Thieler, FH Flensburg, Dr. Dirk Troltenier, Louisiana State University, Prof. Dr. Christof Weinhart, Uni Karlsruhe, Dr. Oliver Wendt, Uni Frankfurt, Prof. Dr. Wilhelm Werner, FH Heilbronn, Außenstelle Künzelsau, Dr. Luke Winckelmann, Hewlett Packard, Bad Homburg, Prof. Dr. Robert Winter, Uni St. Gallen, Prof. Dr. Ulrich Wöhrl, FH Zwickau, Dr. Mario Vidovi´c, Sun Microsystems, Langen, Dr.-Ing. Dieter Zetsche, Vorstand Daimler-Chrysler AG, Detroit.

Was für wen? Die Lösung von Aufgabenstellungen in Wirtschaft und Verwaltung wie auch in den Ingenieur- und Naturwissenschaften wird heute durch den Einsatz von leistungsfähigen Computern, insbesondere vernetzten PCs bestimmt. Zur Anwendung kommen hierbei Methoden der Mathematik, Wirtschaftsinformatik, Informatik, Statistik sowie des Operations Research. Neben den Methoden der analytischen Mathematik kommen zunehmend rechnergestützte Simulationsverfahren zum Einsatz. Zur Unterstützung des Verständnisses einzelner Verfahren sind jeweils Beispiele ihrer Anwendung in der Praxis notwendig. Darüber hinaus sollen die Methoden in einen strukturellen Zusammenhang eingebettet werden, um Variationen zwischen den einzelnen Vorgehensweisen und deren jeweiliger Anwendbarkeit leicht erkennen zu können. Das Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik wurde von erfahrenen Wissenschaftlern und in der Praxis tätigen Ingenieuren unter diesen Gesichtspunkten entworfen und realisiert. Es spannt den Bogen vom Basiswissen für Studienanfänger über das Aufbauwissen für fortgeschrittene Studierende bis hin zu Fragestellungen für „Spezialisten“. Darüber hinaus liefert das Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik den technisch-konzeptionellen Hintergrund für den Aufbau und Betrieb von vernetzten Informationssystemen sowie den formalen Hintergrund für Entscheidungsträger in Wirtschaft und Verwaltung. In der hier vorliegenden zweiten vollständig überarbeiteten und stark erweiterten Auflage spiegelt sich die rasante Fortentwicklung der Wirtschaftsinformatik. Die zunehmende Bedeutung von webbasierten Applikationen findet ihren Niederschlag im neuen Kapitel „Vernetzung als Wettbewerbsfaktor“. Zudem wird nun auch die Spieltheorie als ein Bindeglied zwischen Mathematik und Wirtschaftstheorie ausreichend gewürdigt.

Wozu? Das Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik ist zugleich ein umfassendes Nachschlagewerk für die Berufspraxis, ein rasch verfügbarer Informationspool z. B. für Klausur- und Prüfungsvorbereitung sowie ein sicheres Hilfsmittel beim Lösen von Problemen und Übungsaufgaben.

Was ist enthalten und wie wird es dargestellt? ● alle wichtigen Begriffe, Formeln und Regeln ■ zahlreiche Beispiele und praktische Anwendungen ▲ Hinweise auf Fehlerquellen, wichtige Tips und Querverweise

Struktur und Besonderheiten Die Leserinnen und Leser gewinnen die benötigten Informationen gezielt und rasch durch die benutzerfreundliche Gestaltung des Taschenbuchs: • strukturiertes Inhaltsverzeichnis, • Griffleisten und farbige Lesezeichen für den schnellen Zugriff, • umfassendes Stichwortverzeichnis.

Leserkontakt Wir möchten auch Sie als Nutzer des Taschenbuchs bitten, Vorschläge und Ergänzungen an den Verlag zu senden. Herausgeber und Verlag Harri Deutsch Gräfstraße 47 D-60486 Frankfurt am Main [email protected] http://www.harri-deutsch.de/verlag/

Inhaltsverzeichnis

1

Universalrechensysteme und Netze 1.1 Bestandteile der Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Prozessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Hauptspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Externer Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.4 Datenwege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.5 Ein- und Ausgabegeräte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Systematisierung der Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Systemsoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Anwendungssoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Groupware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Rechnerklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Großrechner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Workstations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.3 Netzwerkcomputer (NC) und Thin-Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.4 Handheld Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.5 Client-Server-Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Rechnernetze und Netzarchitekturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Übertragungsprotokolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Komponenten von Rechnernetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Local Area Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.4 Wide Area Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Mobile/kabellose Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 Drahtlose WAN-Techniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.2 Drahtlose LAN-Techniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.3 Drahtlose Nahbereichstechniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Informationen im Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1 Das World Wide Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.2 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.3 Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.4 Nutzung der Internet-Dienste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.5 Gezielte Informationssuche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 2 3 3 6 6 7 8 11 13 17 17 18 18 18 19 20 21 24 25 27 28 28 29 29 29 29 31 34 35 40

2

Programmierung und Programmiersprachen 2.1 Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Werkzeuge zur Programmentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Programmiermethodik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Programmiersprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Einführung in PASCAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Einführung in C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Einführung in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Einführung in Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.5 Einführung in Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Problemlösungsumgebungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Maple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Kurvenanpassung und Interpolation mit Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.4 Grafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43 43 43 45 55 55 71 80 86 112 122 123 133 134 134

ii

Inhaltsverzeichnis

3

Entscheidung als Grundpfeiler betrieblichen Handelns 3.1 Einführung in das betriebswirtschaftliche Konzept von Entscheidungen . . . . . . . . . . . . . . . . . . . . 3.1.1 Das wirtschaftliche Handeln in einer Umwelt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Die Qualität einer Entscheidung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Der Entscheidungsträger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Die Kosten einer Entscheidung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 Der Entscheidungsprozess als Produktionsprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Klassifizierung von Entscheidungsprozessen und Entscheidungen . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Klassifikationsansätze für Entscheidungsprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Klassifikationsansätze für Entscheidungen (als Ergebnisse von Entscheidungsprozessen) 3.3 Grundlagen der Entscheidungstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Präskriptive Entscheidungstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Deskriptive Entscheidungstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Das Konzept der Beschränkten Rationalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4 Aufbau eines Entscheidungsmodells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.5 Ziele und Zielsysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.6 Der Aktionenraum A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.7 Bewertung der Aktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.8 Der Zustandsraum S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.9 Das Problem der Datenbeschaffung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Workflow-Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Grundkonzept des Workflow-Managements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Komponenten eines Workflow-Managementsystems . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 Standardisierungsbestrebungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136 136 136 137 137 138 138 139 139 141 144 144 145 145 146 147 148 149 151 152 153 153 154 155

4

Normative Methoden und Verfahren der Entscheidungsfindung 4.1 Entscheidung unter Sicherheit mit singulärem Zielkriterium . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Parameteroptimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Multikriterielle Entscheidung bei Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Nutzwertanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Lexikografische Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 Analytic Hierarchy Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.4 Outranking-Verfahren (Electre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Entscheidung bei Risiko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Risikopräferenz (µ ,σ ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Bernoulli-Prinzip und Sicherheitsäquivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Informationsbeschaffung als Entscheidungsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Entscheidung bei Ungewissheit (Unsicherheit im engeren Sinne) . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Diskussion verschiedener Entscheidungsregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Zusammenfassende Kritik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Lösung mehrstufiger Entscheidungsprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Starre Planung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.2 Flexible Planung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.3 Dynamische Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Komplexitätsbewältigung durch Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Monte-Carlo-Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.2 Ereignisfolge-Simulationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz . . . . . . . . . . . . . . . . . . . . 4.7.1 Wissensrepräsentation und Inferenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.2 Monotone versus nichtmonotone Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.3 Repräsentation unsicheren Wissens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.4 Entscheidungen bei Unschärfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.5 Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Heuristische Suchverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.1 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.2 Tabu Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

156 156 157 158 159 159 159 160 160 161 161 162 163 163 165 165 165 166 167 169 169 170 175 175 176 178 179 182 183 184 184

Inhaltsverzeichnis

iii

4.8.3 Genetische Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.4 COSA: COoperative Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bekräftigungslernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.1 Markov-Prozess in Entscheidungsbäumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.2 Grundgedanke des Bekräftigungslernens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.3 Stochastische dynamische Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.4 Monte-Carlo-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.5 Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

185 186 188 188 189 189 193 197

5

Daten und Information 5.1 Klassifizierung der Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Organisation formatierter Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Organisation unformatierter Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Data Warehouse und Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Managementunterstützungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Data Warehouse und On-Line Analytical Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

199 199 199 212 220 222 222 226 234

6

Planung und Realisierung von Informationssystemen 6.1 Organisatorische Aspekte der Systementwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Phasenkonzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 Prozessmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.3 Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Algorithmische Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Berechenbar vs. nichtberechenbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Zeitkomplexität von Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.3 Speicherplatzbedarf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.4 Analyse von Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.5 Komplexität von Problemen – Komplexitätsklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.6 Reduktionen und Vollständigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.7 Die Klasse N P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.8 Die Segnungen hoher Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Aufwands- und Nutzenabschätzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Aufwandsschätzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.2 Nutzen von Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.3 Bewertung von Informationssystemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.4 Outsourcing von IS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Klassische Modellierungsansätze zur IS-Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Entity-Relationship-Model (ERM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Strukturierte Analyse (SA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.3 Ereignisgesteuerte Prozesskettendiagramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.4 Petri-Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Moderne Modellierungsansätze zur IS-Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.1 Objektmodell von Rumbaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.2 Objektmodell von Booch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Klassische Realisierungsansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.1 Programmstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.2 Imperativer Programmentwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.3 Maschinennahe Sprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.4 Höhere Programmiersprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.5 Moderne Realisierungsansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.1 SQL als Data Manipulation Language (DML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.2 SQL als Query Language (QL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.3 Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

242 242 242 244 246 246 246 247 248 248 249 250 251 252 252 253 254 255 261 262 262 267 269 270 275 276 283 289 289 292 294 295 296 297 298 299 303

4.9

iv

Inhaltsverzeichnis 6.7.4 Query By Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.5 Deskriptive Anwendungsentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.6 Ausgewählte Probleme relationaler Datenbanken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objektorientierte Modellierung: UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ein ganzheitlicher Entwicklungsansatz: CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9.1 Werkzeuge zur Daten- und Objektmodellierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9.2 CASE-Werkzeug: ORACLE Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

303 304 307 308 330 332 333

7

Vernetzung als Wettbewerbsfaktor 7.1 Electronic Business . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Portale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.2 Elektronische Märkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Internet-Auktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Softwareagenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Deliberative Softwareagenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Reaktive Softwareagenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.3 Hybride Softwareagenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.4 BDI-Softwareagenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.5 Eigenschaften von Softwareagenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Standardisierung und Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.1 Electronic Data Interchange (EDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.2 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.3 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.4 XML/EDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.1 Verschlüsselung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.2 Schlüsselzertifizierung und -infrastrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.3 Schutz von Kommunikation über das WWW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.4 Sichere Anbindung an das Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.5 Schutz von Anonymität und Unbeobachtbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.6 Mehrseitig sichere Zahlungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.7 Nutzbare Verhandlungs- und Verknüpfungsmechanismen . . . . . . . . . . . . . . . . . . . . . . . 7.5.8 Vertrauenswürdige Geräte in Nutzerhand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.9 Erkennbarkeit der Sicherheit für Nutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.10 Entwurfsprinzipien für mehrseitige Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

335 335 335 336 338 340 341 342 343 344 345 347 348 350 350 352 353 353 355 355 356 358 359 359 360 361 361

8

Finanzmathematik 8.1 Einfache Zinsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Zinseszinsrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Vorschüssige Verzinsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.2 Unterjährige Verzinsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.3 Stetige Verzinsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Rentenrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.2 Nachschüssige Rente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.3 Vorschüssige Rente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.4 Ewige Rente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.5 Aufgeschobene und abgebrochene Rente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.6 Jährliche Verzinsung – unterjährige Rentenzahlung . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.7 Unterjährige Verzinsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Tilgungsrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.2 Ratentilgung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.3 Annuitätentilgung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.4 Unterjährige Verzinsung und Tilgung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

362 362 364 364 365 365 365 365 366 367 368 368 369 371 372 372 373 374 375

6.8 6.9

Inhaltsverzeichnis 8.5

v

Abschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 8.5.1 Abschreibungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

9

Quantitative Methoden des modernen Wertpapier-Managements 9.1 Portfolio Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Grundmodell ohne Existenz einer risikofreien Anlage . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.2 Portfolio Selection bei Existenz einer risikofreien Anlage . . . . . . . . . . . . . . . . . . . . . . 9.1.3 Separationstheorem von Tobin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.4 Tangential-Portefeuille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.5 Portefeuille-Risiken der Wertpapiere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Capital Asset Pricing Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2 Annahmen des CAPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3 Hypothesen des CAPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.4 Security Market Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.5 Capital Market Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Index- und Faktormodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.1 Ein-Index-Modell und Ein-Faktor-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.2 Multi-Index- und Mehr-Faktoren-Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.3 Das Marktmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.4 Arbitrage Pricing Theory APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4 Kennzahlen des Zins-Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.1 Effektiv-, Termin- und Laufzeitzinssätze von Anleihen . . . . . . . . . . . . . . . . . . . . . . . . 9.4.2 Arbitrage-Analyse von Anleihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.3 Duration und Immunisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5 Preistheorie von Aktienoptionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.1 Arbitrage-Grenzen bei Aktienoptionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.2 Optimale Ausübung amerikanischer Aktienoptionen . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.3 Put-Call-Paritäten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.4 Binomialmodell zur Bewertung von Optionen: Ein-Perioden-Fall . . . . . . . . . . . . . . . . . 9.5.5 Binomialmodell zur Bewertung von Optionen: Zwei-Perioden-Fall . . . . . . . . . . . . . . . 9.5.6 Binomialmodell zur Bewertung von Optionen in allgemeiner Form . . . . . . . . . . . . . . . 9.5.7 Black/Scholes-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.8 Beispielsrechnung zur Black/Scholes-Formel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.9 Delta-Faktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.10 Dynamisches Hedging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.11 Gamma-Faktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.12 Theta-Faktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.13 Lambda-, Rho-, Alpha- und Omega-Faktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5.14 Berechnung von Optionskennzahlen in einem einfachen Fall . . . . . . . . . . . . . . . . . . . .

377 377 377 380 381 382 383 384 384 384 384 385 386 387 387 388 389 390 393 393 394 394 395 396 397 398 398 400 402 403 404 406 407 407 408 408 409

10

Operations Research 10.1 Lineare Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Das Grundmodell der Linearen Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.2 Modellerweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.3 Grafische Lösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.4 Äquivalentes unterbestimmtes Gleichungssystem und Basislösung . . . . . . . . . . . . . . . . 10.1.5 Simplex-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.6 Simplex-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.7 Bestimmung einer zulässigen Lösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Dualitätstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 Duale Simplex-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 Revidierte Simplex-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.1 Revidierte Simplex-Methode mit Explizitform der Basisinversen . . . . . . . . . . . . . . . . . 10.3.2 Algorithmus und Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.3 Produktdarstellung der Inversen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

410 410 410 411 412 413 414 415 417 418 422 424 425 427 431

vi

Inhaltsverzeichnis 10.3.4 10.3.5

Implementierung der Produktform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 Vorteile der revidierten vs. der klassischen Simplex-Methode . . . . . . . . . . . . . . . . . . . . 435

11

Spieltheorie 11.1 Extensive Spiele und Spielbäume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Lösungskonzepte für extensive Spiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 Korrelierte Gleichgewichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 Spiele mit unvollständiger Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5 Stufenspiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.6 Spiele in Agentennormalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.7 Normalformspiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.8 Wiederholte Spiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.9 Evolutionäre Spiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.10 Kooperative Spiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.11 Vom Detail zum Wesentlichen? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

437 437 440 444 445 447 447 448 451 452 453 457

12

Graphen und Algorithmen 12.1 Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1.2 Darstellung von Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1.3 Bäume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Matchings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3.1 Flüsse in Netzwerken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3.2 Euler’scher Zug und Hamilton’scher Kreis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

459 459 459 461 461 462 463 463 463

13

Netzplanmodelle 13.1 Überblick über die Netzplantechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 Critical Path Method (CPM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.1 Darstellung im CPM-Netzplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.2 Hinweis zur Ermittlung der Pufferzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3 Program Evaluation and Review Technique (PERT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.1 Wahrscheinlichkeitsverteilung der Vorgangsdauern . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.2 Wahrscheinlichkeit der Einhaltung von Projektendterminen . . . . . . . . . . . . . . . . . . . . . 13.4 Metra-Potenzial-Methode (MPM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5 Graphic Evaluation and Review Technique (GERT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5.1 Zweck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5.2 Knotenlogik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5.3 Struktur von GERT-Netzplänen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5.4 Beispiel für einen GERT-Netzplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.6 Stochastische Exklusive-Oder-Netzpläne (STEO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

465 465 465 466 467 470 470 471 472 473 473 473 474 474 475

14

Arithmetik und Numerik 14.1 Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.1 Darstellung von Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.2 Mengenoperationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.3 Gesetze der Mengenalgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2 Zahlensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.1 Dekadisches Zahlensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.2 Weitere Zahlensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.3 Darstellung in Rechnern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.4 Horner-Schema zur Zahlendarstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3 Natürliche Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.1 Vollständige Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

477 477 477 478 480 480 480 482 482 483 483 484

Inhaltsverzeichnis

15

vii

14.3.2 Vektoren und Felder, Indizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.3 Rechnen mit natürlichen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4 Ganze Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5 Rationale Zahlen (gebrochene Zahlen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.1 Dezimalbrüche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.2 Brüche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.3 Rechnen mit Brüchen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6 Rechnen mit Quotienten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6.1 Proportion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6.2 Dreisatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.7 Irrationale Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.8 Reelle Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.9 Komplexe Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10 Rechnen mit reellen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.1 Vorzeichen und Betrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.2 Ordnungsrelationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.3 Intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.4 Runden und Abschneiden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.5 Rechnen mit Intervallen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.6 Klammerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.7 Addition und Subtraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.8 Summenzeichen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.9 Multiplikation und Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.10 Produktzeichen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.11 Potenzen und Wurzeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10.12 Exponentation und Logarithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.11 Binomischer Satz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.11.1 Binomische Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.11.2 Binomialkoeffizienten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.11.3 Pascal’sches Dreieck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.11.4 Eigenschaften der Binomialkoeffizienten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.11.5 Entwicklung von Potenzen von Summen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

484 485 487 487 488 489 490 490 490 491 491 492 492 493 493 494 495 495 496 497 497 498 499 500 501 503 505 505 505 505 506 507

Gleichungen und Ungleichungen 15.1 Grundlegende algebraische Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.1 Nomenklatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.2 Gruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.3 Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.4 Körper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.5 Vektorraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.6 Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Gleichungen mit einer Unbekannten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.1 Elementare Äquivalenzumformungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.2 Übersicht der verschiedenen Gleichungsarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3 Lineare Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.1 Gewöhnliche lineare Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.2 Lineare Gleichungen in gebrochener Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.3 Lineare Gleichungen in irrationaler Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4 Quadratische Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4.1 Quadratische Gleichungen in gebrochener Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4.2 Quadratische Gleichungen in irrationaler Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.5 Kubische Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.6 Gleichungen vierten Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.6.1 Allgemeine Gleichung vierten Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.6.2 Biquadratische Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.6.3 Symmetrische Gleichungen vierten Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

508 508 508 509 510 510 511 511 511 512 512 513 513 513 514 514 515 515 515 516 517 517 517

viii

Inhaltsverzeichnis 15.7

Gleichungen beliebigen Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.7.1 Polynomdivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gebrochenrationale Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Irrationale Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.9.1 Wurzelgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.9.2 Potenzgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transzendente Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.10.1 Exponentialgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.10.2 Logarithmusgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.10.3 Trigonometrische (goniometrische) Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gleichungen mit Beträgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.11.1 Gleichung mit einem Betragsausdruck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.11.2 Gleichungen mit mehreren Betragsausdrücken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ungleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.12.1 Äquivalenzumformungen bei Ungleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.12.2 Addition und Multiplikation von Ungleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Numerische Lösung von Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.13.1 Grafische Lösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.13.2 Intervallschachtelung (Bisektion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.13.3 Sekantenverfahren und Regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.13.4 Newton-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.13.5 Sukzessive Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

518 518 519 519 519 520 520 520 521 522 522 522 523 523 524 525 525 525 525 526 527 528

16

Vektorrechnung 16.1 Vektoralgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.1 Vektor und Skalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.2 Spezielle Vektoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.3 Multiplikation eines Vektors mit einem Skalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.4 Vektoraddition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.5 Vektorsubtraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.6 Rechengesetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.7 Lineare (Un-)Abhängigkeit von Vektoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.8 Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2 Skalarprodukt oder inneres Produkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.1 Rechenregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.2 Eigenschaften und Anwendungen des Skalarproduktes . . . . . . . . . . . . . . . . . . . . . . . .

530 530 530 530 531 531 532 532 533 534 537 537 537

17

Matrizen, Determinanten und lineare Gleichungssysteme 17.1 Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1.1 Zeilen- und Spaltenvektoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2 Spezielle Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2.1 Transponierte, konjugierte und adjungierte Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2.2 Quadratische Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2.3 Dreiecksmatrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2.4 Diagonalmatrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3 Operationen mit Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.1 Addition und Subtraktion von Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.2 Multiplikation einer Matrix mit skalarem Faktor c . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.3 Multiplikation von Vektoren, Skalarprodukt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.4 Multiplikation einer Matrix mit einem Vektor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.5 Multiplikation von Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.6 Rechenregeln der Matrixmultiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.7 Multiplikation mit einer Diagonalmatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.8 Matrizenmultiplikation nach dem Falk-Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3.9 Zeilensummen- und Spaltensummenproben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

540 540 542 543 543 543 545 546 548 548 549 550 551 552 553 554 555 556

15.8 15.9

15.10

15.11

15.12

15.13

Inhaltsverzeichnis 17.4

ix

Determinanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.1 Zweireihige Determinanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.2 Allgemeine Rechenregeln für Determinanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.3 Determinantenwert Null . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.4 Dreireihige Determinanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.5 Determinanten höherer (n-ter) Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.6 Berechnung n-reihiger Determinanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.7 Reguläre und inverse Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.8 Berechnung der inversen Matrix mit Determinanten . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.9 Rang einer Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4.10 Bestimmung des Ranges mit Unterdeterminanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lineare Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.5.1 Systeme von zwei Gleichungen mit zwei Unbekannten . . . . . . . . . . . . . . . . . . . . . . . . Numerische Lösungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6.1 Gauß’scher Algorithmus für lineare Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . 17.6.2 Vorwärtselimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6.3 Pivotisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6.4 Rückwärtseinsetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6.5 LR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6.6 Lösbarkeit von (m × n)-Gleichungssystemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6.7 Gauß-Jordan-Verfahren zur Matrixinversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6.8 Berechnung der inversen Matrix A−1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Iterative Lösung linearer Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.7.1 Gesamtschritt-Verfahren (Jacobi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.7.2 Einzelschrittverfahren (Gauß-Seidel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eigenwertgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

557 558 558 560 560 563 564 564 565 567 567 568 569 570 571 571 572 573 574 578 579 582 584 584 585 586

18

Boole’sche Algebra 18.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.1 Aussagen und Wahrheitswerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.2 Aussagenvariablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.2 Boole’sche Verknüpfungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.2.1 Negation, nicht, not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.2.2 Konjunktion, und, and . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.2.3 Disjunktion, (inklusives) oder, or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.2.4 Rechenregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.3 Boole’sche Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.3.1 Verknüpfungsbasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.4 Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.4.1 Disjunktive Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.4.2 Konjunktive Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.4.3 Darstellung von Funktionen durch Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.5 Karnaugh-Veitch-Diagramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.5.1 Erstellen eines KV-Diagrammes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.5.2 Eintragen einer Funktion in ein KV-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.5.3 Minimierung mithilfe von KV-Diagrammen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.6 Minimierung nach Quine und McCluskey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

589 589 589 590 590 590 591 591 591 593 594 594 594 594 595 597 597 598 598 599

19

Analytische Geometrie 19.1 Elemente der Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1.1 Abstand zweier Punkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1.2 Teilung einer Strecke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1.3 Fläche eines Dreiecks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1.4 Gleichung einer Kurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2 Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2.1 Gleichungsformen der Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

602 602 602 602 603 603 603 603

17.5 17.6

17.7

17.8

x

Inhaltsverzeichnis

19.3

19.4

19.5

19.6

19.7

19.8

19.9

19.2.2 Hesse’sche Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2.3 Schnittpunkt von Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2.4 Winkel zwischen Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2.5 Parallele und senkrechte Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kreis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.3.1 Kreisgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.3.2 Kreis und Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.3.3 Kreisschnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.3.4 Kreistangentengleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4.1 Gleichungsformen der Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4.2 Brennpunktseigenschaften der Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4.3 Durchmesser der Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4.4 Tangente und Normale der Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4.5 Krümmung der Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4.6 Ellipsenflächen und Ellipsenumfang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.1 Gleichungsformen der Parabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.2 Brennpunktseigenschaften der Parabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.3 Parabeldurchmesser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.4 Tangente und Normale der Parabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.5 Krümmung einer Parabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.6 Parabelflächen und Parabelbogenlänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.7 Parabel und Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hyperbel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.6.1 Gleichungsformen der Hyperbel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.6.2 Brennpunktseigenschaften der Hyperbel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.6.3 Tangente und Normale der Hyperbel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.6.4 Konjugierte Hyperbeln und Durchmesser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.6.5 Krümmung einer Hyperbel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.6.6 Flächen einer Hyperbel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.6.7 Hyperbel und Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elemente im Raum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.7.1 Abstand zweier Punkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.7.2 Teilung einer Strecke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.7.3 Rauminhalt eines Tetraeders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Geraden im Raum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.8.1 Parameterdarstellung einer Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.8.2 Schnittpunkt zweier Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.8.3 Schnittwinkel zweier sich schneidender Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.8.4 Fußpunkt des Lotes (Lotgerade) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.8.5 Abstand zwischen Punkt und Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.8.6 Abstand zweier Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ebenen im Raum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.1 Parameterdarstellung der Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.2 Koordinatendarstellung der Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.3 Hesse’sche Normalform der Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.4 Umformungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.5 Abstand Punkt – Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.6 Schnittpunkt Gerade – Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.7 Schnittwinkel zweier sich schneidender Ebenen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.8 Fußpunkt des Lotes (Lotgerade) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.9 Spiegelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.10 Abstand zweier paralleler Ebenen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.9.11 Schnittmenge zweier Ebenen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

605 605 606 606 606 606 607 608 608 608 609 609 609 610 610 610 611 611 612 612 612 612 613 613 613 614 615 615 615 616 616 616 617 617 617 617 618 618 618 618 619 619 619 620 620 620 620 621 621 622 622 622 622 623 623

Inhaltsverzeichnis

xi

20

Folgen, Reihen, Funktionen 20.1 Folgen und Reihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1.1 Eigenschaften von Folgen, Grenzwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2 Abbildungen und Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3 Unendliche Reihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.1 Reihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.2 Konvergenzkriterien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.3 Spezielle Zahlenreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.4 Taylor- und MacLaurin-Reihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.5 Formel von Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.6 Taylor-Reihe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.7 Potenzreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.8 Konvergenzbetrachtungen für Potenzreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.9 Eigenschaften konvergenter Potenzreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3.10 Spezielle Reihenentwicklungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

624 624 625 627 628 628 629 631 632 632 633 634 634 634 636

21

Funktionen einer reellen Variablen 21.1 Darstellungsformen und Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.1 Klassifikation von Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Grenzwert und Stetigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Differenzierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.1 Differenziationsregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.2 Ableitungen elementarer Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.3 Ableitungen trigonometrischer Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.4 Mittelwertsätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.5 Höhere Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 Kurvendiskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.1 Definitionsbereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.2 Symmetrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.3 Verhalten im Unendlichen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.4 Definitionslücken und Unstetigkeitsstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.5 Nullstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.6 Steigungsverlauf, Extrema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.7 Krümmung und Wendepunkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.8 Variationsdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5 Anwendung in den Wirtschaftswissenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.6 Steckbrief für Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.7 Einfache Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.7.1 Konstante Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.8 Betragsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.9 Gaußklammer-Funktion, Restfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.10 Ganzrationale Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.10.1 Lineare Funktion – Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.10.2 Quadratische Funktion – Parabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.10.3 Kubische Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.10.4 Potenzfunktion höheren Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.10.5 Polynome höheren Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.10.6 Darstellung von Polynomen und spezielle Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11 Gebrochen rationale Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11.1 Hyperbel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11.2 Reziproke quadratische Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11.3 Potenzfunktionen mit negativem Exponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.11.4 Quotient zweier Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.12 Nichtrationale algebraische Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.12.1 Quadratwurzelfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.12.2 Wurzelfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

637 637 638 639 641 643 645 646 646 647 648 648 648 649 650 651 651 653 654 656 659 663 663 665 667 669 670 672 674 678 681 683 684 684 686 689 692 696 697 698

xii

Inhaltsverzeichnis 21.12.3 Potenzfunktionen mit gebrochenen Exponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.12.4 Wurzeln von rationalen Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.12.5 Kegelschnitte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13 Transzendente Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13.1 Exponentialfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13.2 Exponentialfunktionen von Potenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.13.3 Logarithmusfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.14 Trigonometrische Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.14.1 Sinus- und Kosinusfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.14.2 Tangens und Kotangens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.15 Arkusfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.15.1 Arkussinus und Arkuscosinus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.15.2 Arkustangens und Arkuscotangens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

701 703 707 709 710 713 717 720 724 733 737 739 741

22

Funktionen mehrerer unabhängiger Variablen 22.1 Definition und geometrische Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Umgebung, Grenzwert, Stetigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.3 Partielle Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.4 Tangentialfläche und totales Differenzial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.5 Quadratische Formen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.6 Extrema von Funktionen mehrerer unabhängiger Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.7 Implizite Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.8 Extrema unter Beachtung von Nebenbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

744 744 746 747 750 752 755 756 757

23

Komplexe Zahlen und Funktionen einer komplexen Variablen 23.1 Komplexe Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1.1 Imaginäre Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1.2 Algebraische Darstellung komplexer Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1.3 Kartesische Darstellung komplexer Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1.4 Konjugiert komplexe Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1.5 Betrag einer komplexen Zahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1.6 Trigonometrische Darstellung komplexer Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1.7 Exponentialdarstellung komplexer Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1.8 Umrechnung zwischen kartesischer und trigonometrischer Darstellung . . . . . . . . . . . . 23.1.9 Riemann’sche Zahlenkugel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2 Elementare Rechenoperationen mit komplexen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2.1 Addition und Subtraktion komplexer Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2.2 Multiplikation und Division komplexer Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2.3 Potenzieren im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2.4 Radizieren im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3 Elementare Funktionen einer komplexen Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3.1 Folgen im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3.2 Reihen im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3.3 Exponentialfunktion im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3.4 Natürlicher Logarithmus im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3.5 Allgemeine Potenz im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3.6 Trigonometrische Funktionen im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.4 Anwendungen komplexer Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.4.1 Darstellung von Schwingungen in der komplexen Ebene . . . . . . . . . . . . . . . . . . . . . . . 23.5 Ableitung von Funktionen einer komplexen Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.5.1 Definition der Ableitung im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.5.2 Ableitungsregeln im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.5.3 Cauchy-Riemann’sche Differenzierbarkeitsbedingungen . . . . . . . . . . . . . . . . . . . . . . . 23.6 Integration in der komplexen Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.6.1 Komplexe Kurvenintegrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.6.2 Cauchy’scher Integralsatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

763 763 763 763 764 764 765 765 765 766 767 767 768 768 770 771 772 772 773 774 774 775 775 777 777 778 778 778 779 780 780 781

Inhaltsverzeichnis 23.6.3 23.6.4 23.6.5

xiii

Stammfunktionen im Komplexen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 Cauchy’sche Integralformeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 Taylorreihe einer analytischen Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782

24

Integralrechnung 24.1 Integralbegriff und Integrierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.1.1 Bestimmtes Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.1.2 Regeln zur Integrierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.1.3 Unbestimmtes Integral, Stammfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.1.4 Uneigentliche Integrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.2 Integrationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.2.1 Integration durch Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.2.2 Partielle Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.2.3 Integration durch Partialbruchzerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.2.4 Integration durch Reihenentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.3 Numerische Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.3.1 Rechteckregel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.3.2 Trapezregel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.3.3 Simpson-Regel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.4 Kurven-, Flächen- und Volumenintegrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.4.1 Bogenlänge (Rektifikation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.4.2 Flächeninhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.4.3 Rotationskörper (Drehkörper) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.5 Mehrfachintegrale und ihre Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.5.1 Definition von Mehrfachintegralen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.5.2 Flächenberechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.6 Das Stieltjes’sche Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

784 784 784 785 786 788 789 790 792 793 796 797 798 798 798 799 799 799 800 801 801 802 803

25

Differenzialgleichungen 25.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.2 Geometrische Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.3 Lösungsmethoden bei Differenzialgleichungen erster Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . 25.3.1 Trennung der Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.3.2 Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.3.3 Exakte Differenzialgleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.3.4 Integrierender Faktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.4 Lineare Differenzialgleichungen erster Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.4.1 Variation der Konstanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.4.2 Allgemeine Lösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.4.3 Bestimmung einer partikulären Lösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.4.4 Lineare Differenzialgleichungen 1. Ordnung mit konstanten Koeffizienten . . . . . . . . . . 25.5 Einige spezielle Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.5.1 Bernoulli’sche Differenzialgleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.5.2 Riccati’sche Differenzialgleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.5.3 Clairaut’sche Differenzialgleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.6 Differenzialgleichungen 2. Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.6.1 Einfache Spezialfälle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.7 Lineare Differenzialgleichungen 2. Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.7.1 Homogene lineare Differenzialgleichung 2. Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . 25.7.2 Inhomogene lineare Differenzialgleichung 2. Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . 25.7.3 Lineare Differenzialgleichung 2. Ordnung mit konstanten Koeffizienten . . . . . . . . . . . . 25.8 Differenzialgleichungen n-ter Ordnung mit konstanten Koeffizienten . . . . . . . . . . . . . . . . . . . . . . 25.8.1 Stabilitätskriterien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.9 Systeme von gekoppelten Differenzialgleichungen 1. Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . 25.10 Systeme linearer homogener Differenzialgleichungen mit konstanten Koeffizienten . . . . . . . . . . . 25.10.1 Stabilitätskriterien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

805 805 806 807 807 808 808 808 809 809 810 810 810 811 811 811 812 812 812 813 814 814 815 817 817 819 819 822

xiv

Inhaltsverzeichnis 25.11 Numerische Integration von Differenzialgleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.11.1 Euler-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.11.2 Verfahren von Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.11.3 Modifiziertes Euler-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.11.4 Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.11.5 Runge-Kutta-Verfahren für Systeme von Differenzialgleichungen . . . . . . . . . . . . . . . .

823 823 823 824 825 830

26

Differenzengleichungen 26.1 Differenzenoperator und höhere Differenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.2 Klassifikation von Differenzengleichungen und Lösungsbegriff . . . . . . . . . . . . . . . . . . . . . . . . . . 26.3 Lineare Differenzengleichungen 1. Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.4 Lineare Differenzengleichungen 2. Ordnung mit konstanten Koeffizienten . . . . . . . . . . . . . . . . . . 26.4.1 Allgemeine Lösung der inhomogenen Differenzengleichung 2. Ordnung . . . . . . . . . . . 26.4.2 Qualitative Analyse der Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.5 Lineare Differenzengleichungen n-ter Ordnung mit konstanten Koeffizienten . . . . . . . . . . . . . . . . 26.5.1 Stabilitätsbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.6 Systeme linearer Differenzengleichungen 1. Ordnung mit konstanten Koeffizienten . . . . . . . . . . . 26.6.1 Eliminationsverfahren zur Lösung linearer Differenzengleichungssysteme . . . . . . . . . . 26.6.2 Qualitative Analyse der Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

831 831 832 834 837 839 840 841 843 846 849 850

27

Nichtlineare Dynamik, Chaostheorie, Fraktale Geometrie 27.1 Nichtlineare dynamische Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.1.1 Grundbegriffe dynamischer Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.1.2 Struktur und Analyse dynamischer Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.2 Deterministisches Chaos und Fraktale Geometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.2.1 Phänomenologie des deterministischen Chaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.2.2 Fraktale Geometrie des Chaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.2.3 Konzepte zur Charakterisierung chaotischer Dynamik und fraktaler Struktur . . . . . . . . 27.3 Chaos in den Wirtschaftswissenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.3.1 Chaostheoretische Untersuchungen in den Wirtschaftswissenschaften . . . . . . . . . . . . . 27.3.2 Chaosgenerierende Mechanismen in der betriebswirtschaftlichen Modellierung . . . . . . 27.4 Chaos und Zufall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.4.1 Analyse zufälliger Störungen in dynamischen Systemen . . . . . . . . . . . . . . . . . . . . . . . 27.4.2 Erklärungsgehalt von Modellen mit gestörtem Chaos . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5 Vorhersage, Kontrolle und Steuerung chaotischer Prozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.1 Vorhersage des Chaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.2 Kontrolle und Steuerung des Chaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

852 852 852 854 856 857 858 860 864 865 866 868 869 871 872 872 873

28

Fuzzy Set-Theorie und Anwendungen 28.1 Fuzzy Set-Theorie und Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.1.1 Fuzzy Sets (Unscharfe Mengen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.2 Fuzzy-Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.3 Kompensatorische Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.4 Erweiterungsprinzip und erweiterte reelle Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.5 Erweiterte algebraische Operationen für Fuzzy-Zahlen vom LR-Typ . . . . . . . . . . . . . . . . . . . . . . 28.6 Fuzzy-Relationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.7 Fuzzy-Inferenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.8 Fuzzy-Logik basierte Entscheidungsunterstützung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.8.1 Defuzzifizierungsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.8.2 Anwendung von Fuzzy-Logik-Systemen zur Entscheidungsunterstützung . . . . . . . . . . 28.9 Fuzzy-Entscheidungstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.10 Fuzzy-Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

874 874 874 881 884 886 888 891 892 894 896 897 897 898

Inhaltsverzeichnis

xv

29

Neuronale Netze 29.1 Arbeitsweise und Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.1.1 Arbeitsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.1.2 Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.2 Umsetzung des Neuronen-Modells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.2.1 Zeitunabhängige Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.2.2 Zeitabhängige Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.2.3 Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.3 Überwachtes Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.3.1 Prinzip des überwachten Lernens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.3.2 Standard Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.3.3 Backpropagation Through Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.3.4 Verbesserte Lernmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.3.5 Hopfield-Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.4 Unüberwachtes Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.4.1 Prinzip des unüberwachten Lernens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.4.2 Kohonen-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.5 Realisierungen von Neuronalen Netzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

900 900 900 901 901 901 902 903 903 903 905 905 907 907 909 909 910 911

30

Wahrscheinlichkeitsrechnung und mathematische Statistik 30.1 Kombinatorik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.2 Zufällige Ereignisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.2.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.2.2 Ereignisrelationen und Ereignisoperationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.2.3 Strukturdarstellung von Ereignissen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.3 Wahrscheinlichkeit von Ereignissen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.3.1 Eigenschaften von Wahrscheinlichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.3.2 Methoden zur Berechnung von Wahrscheinlichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . 30.3.3 Bedingte Wahrscheinlichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.3.4 Rechnen mit Wahrscheinlichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.4 Zufallsgrößen und ihre Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.4.1 Einzelwahrscheinlichkeit, Dichtefunktion und Verteilungsfunktion . . . . . . . . . . . . . . . 30.4.2 Kenngrößen von Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.4.3 Spezielle diskrete Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.4.4 Spezielle stetige Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.5 Grenzwertsätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.5.1 Gesetze der großen Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.5.2 Grenzwertsätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.6 Mehrdimensionale Zufallsgrößen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.6.1 Verteilungsfunktionen zweidimensionaler Zufallsgrößen . . . . . . . . . . . . . . . . . . . . . . . 30.6.2 Zweidimensionale diskrete Zufallsgrößen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.6.3 Zweidimensionale stetige Zufallsgrößen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.6.4 Unabhängigkeit von Zufallsgrößen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.6.5 Kenngrößen zweidimensionaler Zufallsgrößen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.6.6 Zweidimensionale Normalverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.7 Grundlagen der mathematischen Statistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.7.1 Beschreibung von Messungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.7.2 Fehlerarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.8 Kenngrößen zur Beschreibung von Messwertverteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.8.1 Lageparameter, Mittelwerte von Messreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.8.2 Streuungsparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.9 Spezielle Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.9.1 Häufigkeitsverteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.9.2 Verteilung von Stichprobenfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10 Stichproben-Analyseverfahren (Test- und Schätztheorie) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10.1 Schätzverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

912 912 914 914 915 916 917 917 918 918 918 920 921 922 924 930 937 937 938 939 939 940 941 942 942 943 944 944 946 947 947 949 950 950 951 955 956

xvi

Inhaltsverzeichnis 30.10.2 30.10.3 30.10.4 30.10.5 30.10.6 30.10.7 30.10.8 30.10.9 30.10.10

Konstruktionsprinzipien für Schätzfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Momentenmethode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maximum-Likelihood-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methode der kleinsten Quadrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . χ 2 -Minimum-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methode der Quantile, Perzentile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intervallschätzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intervallgrenzen bei Normalverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prognose- und Konfidenzintervallgrenzen bei Binomialverteilung und hypergeometrischer Verteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10.11 Intervallgrenzen bei Poisson-Verteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10.12 Bestimmung des Stichprobenumfangs n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10.13 Prüfverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10.14 Parametertests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10.15 Parametertests bei der Normalverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10.16 Hypothesen über den Mittelwert beliebiger Verteilungen . . . . . . . . . . . . . . . . . . . . . . . 30.10.17 Hypothesen über p von Binomial- und hypergeometrischen Verteilungen . . . . . . . . . . . 30.10.18 Anpassungstests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.10.19 Anwendung: Annahmestichproben- und Ausschussprüfung . . . . . . . . . . . . . . . . . . . . . 30.11 Zuverlässigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.12 Ausgleichsrechnung, Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.12.1 Lineare Regression, Methode der kleinsten Quadrate . . . . . . . . . . . . . . . . . . . . . . . . . . 30.12.2 Regression n-ter Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sachwortverzeichnis

958 958 958 959 959 960 960 962 963 963 964 965 967 968 970 970 970 971 972 974 976 977 979

1

Universalrechensysteme und Netze

Universalrechensysteme (URS) oder Mehrfunktionsautomaten sind die in der betrieblichen Praxis am häufigsten verwendeten Rechenanlagen. Sie sind prinzipiell für verschiedene Anwendungsbereiche einsetzbar. Der häufigste Vertreter dieser Rechnergattung ist der so genannte Personal Computer (PC). ▲ Im Gegensatz hierzu gibt es Spezialrechner, die für besondere Aufgaben entwickelt worden sind. ■ Rechner zur Steuerung von Dreh- und Fräsmaschinen.

Diese Spezialrechner bilden oftmals mit der zu steuernden Maschine eine Einheit und sind nicht Gegenstand der folgenden Darstellungen. ● Bei den hier zu betrachtenden URS unterscheidet man zwischen der Hardware und der Software des Systems. Unter Hardware versteht man alle Geräte, die der Benutzer „anfassen“ kann, die also materielle Eigenschaften besitzen. Der Begriff Software hingegen kennzeichnet alle immateriellen Bestandteile des Systems. ■ MS Office, Linux

1.1

Bestandteile der Hardware

■ Die einzelnen Bestandteile der Hardware werden hier am Beispiel eines PC-Arbeitsplatzes erklärt.

PC-Arbeitsplatz Ein typischer PC-Arbeitsplatz besteht aus den folgenden Hardwarekomponenten: • der Zentraleinheit, die sich aus Prozessor und Hauptspeicher zusammensetzt, • dem externen Speicher (z. B. Festplatte, CD-ROM, Diskette), • den Dateneingabegeräten (z. B. Tastatur, Maus, Scanner) sowie • den Datenausgabegeräten (z. B. Bildschirm, Drucker). ▲ Darüber hinaus lässt sich ein PC-Arbeitsplatz um eine Netzwerkschnittstelle (z. B. Netzwerkkarte, Modem) ergänzen, wodurch ein Anschluss an ein Kommunikationsnetz ermöglicht wird.

2

1 Universalrechensysteme und Netze

▲ Moderne Arbeitsplätze für Videokonferenzen bieten zusätzlich Mikrofon und Kamera als Eingabesowie Lautsprecher oder Kopfhörer als Ausgabegeräte. ▲ Neben diesen stationären Arbeitsplätzen gewinnen portable PCs an Bedeutung. Verbreitet sind vor allem Notebooks, die in ihrer Größe ungefähr dem DIN-A4-Format entsprechen. Kleiner sind Taschencomputer, so genannte Personal Digital Assistants (PDAs). Ähnliche Funktionen dieser Geräte werden allerdings in zunehmendem Maße auch von speziellen Mobiltelefonen übernommen, die als Smartphones bezeichnet werden. Die grundsätzliche Arbeitsweise eines Rechnersystems ist das EVA-Prinzip (Eingabe-Verarbeitung-Ausgabe-Prinzip): ■ Daten werden zunächst mittels Eingabegeräten oder externen Speichern eingegeben. Diese Daten werden dann in der Zentraleinheit zu Ergebnissen verarbeitet und anschließend über die Ausgabegeräte ausgegeben oder auf externen Speichern abgelegt. Schematisch kann dieser Prozess wie folgt dargestellt werden: externer Speicher

Zentraleinheit

Hauptspeicher Dateneingabe z. B. Tastatur oder Maus

Cache

Cache

AB

Datenausgabe z. B. Bildschirm oder Drucker

DB Prozessor

Steuerwerk

Rechenwerk

Legende: AB: Adressbus DB: Datenbus

Aufbau einer Zentraleinheit Eine Zentraleinheit besteht in der Grundform aus einem Hauptspeicher und einem Prozessor. Der Prozessor wiederum setzt sich aus einem Rechenwerk zur Ausführung der gestellten Aufgabe und einem Steuerwerk zur Ablaufkoordination zwischen allen Elementen des Gesamtsystems zusammen.

1.1.1

Prozessor

Prozessoren stellen das eigentliche Kernstück von DV-Systemen dar. Die Leistungsfähigkeit von Prozessoren wird mit der Taktfrequenz (i. d. R. in der Maßzahl Gigahertz) angegeben. Sie bestimmt, wie viele Befehle pro Sekunde ausgeführt werden können. Aus der Taktfrequenz können allerdings keine direkten Rückschlüsse auf die Verarbeitungsgeschwindigkeit eines Systems gezogen werden, da diese u. a. auch von der Prozessorarchitektur und dem Mix der zum Einsatz kommenden Programme beeinflusst wird. ● Die Verbindung zwischen den Einheiten erfolgt über spezielle Daten- und Adressleitungen, so genannte Busse: • Der Adressbus verbindet Hauptspeicher und Steuerwerk, • der Datenbus verbindet Hauptspeicher und Rechenwerk. ▲ Die Busbreite ist die Anzahl der Bits, die auf einmal über den Bus übertragen werden können.

Die Verarbeitungsgeschwindigkeit des Prozessors ist i. d. R. wesentlich höher als die Zugriffsgeschwindigkeit auf die Daten im Hauptspeicher.

1.1 Bestandteile der Hardware

3

● Caches sind Bestandteile des Prozessors und halten Informationen vor, die vom Rechner voraussichtlich demnächst abgerufen werden. ▲ Die Busbreite und die Größe der gleichzeitig mit einem Befehl verarbeitbaren Datenmenge unterscheiden die einzelnen Prozessoren. Der INTEL 80486 sowie der 68040 von Motorola sind 32-Bit Prozessoren mit einem 32-Bit-Daten- und -Adressbus, während der INTEL Pentium und der AMD Thunderbird einen 64-Bit breiten Datenbus und einen 36-Bit-Adressbus besitzen.

1.1.2

Hauptspeicher

Der Hauptspeicher eines PC-Systems besteht aus dem Arbeitsspeicher und dem Festwertspeicher. ● Der Arbeitsspeicher (Random Access Memory (RAM)) setzt sich aus direkt adressierbaren Speicherzellen zusammen. Die einzelnen Speicherzellen sind in Bytes organisiert, wobei eine Zelle aus zwei bis vier Bytes besteht. Ein Byte besteht aus 8 Bit, d. h., es können 28 = 256 mögliche Werte dargestellt werden. Ein Bit ist eine binäre Einheit, die nur die beiden Zustände 0 oder 1 annehmen kann. ▲ Die Hauptspeicherkapazität wird in Kilobytes (210 Bytes = 1024 Bytes) und Megabytes (220 Bytes

= 1048576 Bytes) gemessen. ● Im Hauptspeicher müssen sich alle relevanten Teile eines auszuführenden Programms und seiner

Daten befinden. Moderne Betriebssysteme vergrößern daher den physikalisch vorhandenen Arbeitsspeicher durch die virtuelle Speichertechnik. Hierbei werden Programmteile, die im Moment nicht zur Verarbeitung notwendig sind, auf den externen Speicher ausgelagert. ● Da der Arbeitsspeicher ein stromzufuhrabhängiger Halbleiterspeicher ist, hat eine Unterbrechung

der Stromzufuhr einen Verlust aller Daten im Arbeitsspeicher zur Folge. Deshalb ist eine Speicherung aller Daten, die wieder verwendet werden sollen, auf einem externen Speicher notwendig. ● Der Festwertspeicher (Read Only Memory (ROM)) dient u. a. zur Aufbewahrung grundlegender Teile des Betriebssystems. Die Informationen bleiben auch bei einem Stromausfall erhalten. Das ROM kann nur gelesen, nicht jedoch beschrieben werden. Dies erfolgt i. d. R. durch den Hersteller. ▲ Insbesondere wird hier die Information abgelegt, von welchem externen Speicher der Rechner das

Betriebssystem laden soll.

1.1.3

Externer Speicher

● Der externe Speicher dient zur langfristigen Aufbewahrung größerer Datenmengen. Man kann hierbei verschiedene Arten von externen Speichern unterscheiden: • Festplatte • Diskette • Magnetband bzw. Streamer • optische Speicher. ● Eine Festplatte (auch Harddisk genannt) ist ein Speicher, der besonders für die Aufnahme von großen Datenmengen und für den schnellen Zugriff auf diese Daten geeignet ist. ■ Es handelt sich hierbei um mehrere Aluminium- oder Kunststoffscheiben, die mit einer magnetisier-

baren Schicht überzogen sind. Die Daten werden auf diesem Speichermedium durch Magnetisierung einzelner Teilbereiche abgelegt. Die Festplatten sind hierbei in konzentrische Kreise (Spuren) eingeteilt, die wiederum in einzelne Teilbereiche (Sektoren) unterteilt werden. Der kleinsten Dateneinheit, dem Bit, kann hierbei durch Magnetisierung in der einen oder anderen Richtung der Wert 0 bzw. 1 zugewiesen werden.

4

1 Universalrechensysteme und Netze ● Das Speicherungsprinzip der Festplatten bezeichnet man als halbdirekten Speicherzugriff. Der

Zugriff auf die einzelnen Daten erfolgt durch Schreib-Leseköpfe, während sich die Scheiben mit einer konstanten Geschwindigkeit drehen. Der S-L-Kopf ist über den Magnetscheiben angeordnet und kann radial vor- und zurückgefahren werden, um die einzelnen Spuren zu erreichen. Ist die gewünschte Spur erreicht, muss der S-L-Kopf nur noch warten, bis der gewünschte Sektor mit den Daten „vorbeikommt“. Durch diese Art der Speicherung kann sehr schnell auf die jeweiligen Daten quasi direkt zugegriffen werden. ■ Die Festplatten moderner PCs erreichen heute Speicherkapazitäten von mehreren Gigabytes (1

Gigabyte (GB) = 230 Bytes = 1024 Megabytes (MB)). ▲

Das internationale Maßeinheitensystem definiert „kilo“ = 103 , „Mega“ = 106 , „Giga“ = 109 . Im IT-Bereich ist jedoch das Binärsystem das zugrunde liegende Zahlensystem, sodass man üblicherweise definiert: „kilo“ = 210 = 1024 ≈ 103 und analog „Mega“ = 220 , „Giga“ = 230 . Die Abweichungen der Definitionen von „kilo“, „Mega“ etc. sind oft der Grund für anscheinend unpräzise Größenangaben für Festplatten!

● Vorteile von Festplatten sind:

• • • •

die hohe Speicherkapazität, der halbdirekte, d. h. relativ schnelle Zugriff, die Wiederverwendbarkeit, da Daten überschrieben werden können, sowie die relativ hohe Datensicherheit.

● Die Diskette ist im PC-Bereich noch heute einer der weitverbreitesten externen Speicher. Es handelt sich hierbei um eine flexible, 3 12 Zoll große, magnetisierbare Scheibe, die in ein Laufwerk eingeschoben wird. Die Speicherung der Daten erfolgt prinzipiell wie bei der Festplatte, sie besitzt jedoch eine geringere Speicherkapazität, längere Zugriffszeiten und bietet eine wesentlich geringere Datensicherheit. Dafür kann sie ausgetauscht werden und ist erheblich billiger. ■ Disketten gibt es heute noch in dem PC-Standardformat 3 12 Zoll mit einer Speicherkapazität zwi-

schen 1,44 bzw. 2,88 MB. Sie verbinden die Vorteile eines austauschbaren Speichermediums mit halbdirektem Zugriff mit den Nachteilen geringerer Speicherkapazität. ▲ Neben Disketten haben eine Reihe von transportablen Speichermedien mit ähnlicher Funktionsweise

Verbreitung gefunden, die jedoch durch höhere Umdrehungsgeschwindigkeiten und alternative Formate Kapazitäten von 120 MB bis 2 GB bei niedrigen Zugriffszeiten erreichen (z. B. LS-, Zipund Jaz-Disketten). ● Magnetbänder sind Kunststoffstreifen mit einer aufgedampften magnetisierbaren Schicht, auf der die Daten gespeichert werden. ● Streamer entsprechen Magnetbandspeichern in Kassettenform mit einer Speicherkapazität bis zu mehreren GB. ▲ Magnetbandspeicher besitzen den Nachteil der sequenziellen Speicherung: Um einen bestimmten

Datensatz zu lesen, muss erst auf alle vor ihm gespeicherten Datensätze sequenziell zugegriffen werden, wodurch lange Zugriffszeiten entstehen. Dieses Speichermedium eignet sich deshalb hauptsächlich zur Datensicherung (Backup) und Archivierung. ● Optische Systeme speichern die Daten mittels eines Laserstrahls. Die Daten werden auf einer unter einer Schutzschicht liegenden Speicherschicht aufgezeichnet. Die hierbei erzeugte Veränderung der Speicherschicht kann mittels eines Laserstrahls gelesen werden. Bedingt durch die genaue Positionierung des Laserstrahls kann auf einer kleinen Fläche eine große Datenmenge gespeichert werden. Auch bei diesen Medien erfolgt der Zugriff wie bei den Magnetplatten im halbdirekten Zugriff.

1.1 Bestandteile der Hardware

5

Man unterscheidet folgende Techniken: • Das ROM-Prinzip (Read Only Memory) eignet sich besonders für den Vertrieb von Standardsoftware und Multimedia-Anwendungen und -Daten, da diese vom Hersteller auf das Medium geschrieben werden und vom Anwender nur gelesen werden können. ■ Die CD-ROM (Compact Disc-Read-Only Memory) besitzt eine Speicherkapazität von bis zu

1 GB (Gigabyte), die übliche Größe beträgt jedoch 650 MB (Megabyte). ■ Bei Digital Versatile Disks (DVDs) handelt es sich um eine CD-Nachfolge-Technologie mit we-

sentlich erhöhter Speicherkapazität (bis ca. 17 GB). Eine DVD ist ähnlich einer CD sowohl in der Unterhaltungselektronik (DVD-ROM) als auch als Speichermedium (DVD-RAM) einsetzbar. • WORM-Medien (Write Once Read Many) sind Speichermedien, die vom Anwender einmalig beschrieben und dann viele Male gelesen werden können. Diese Speichermedien eignen sich besonders für die dauerhafte Speicherung wichtiger Unternehmensdaten, auf die immer wieder schnell zugegriffen werden muss. ■ Die CD-Recordable (CD-R) ist ein WORM-Medium, welches von handelsüblichen CD-ROM

Laufwerken gelesen werden kann. Sie bietet den Vorteil geringer Kosten in Verbindung mit einer hohen Portabilität. • Das Phase-Change-Prinzip stellt die digitalen Zustände 0 und 1 durch unterschiedliche optische Eigenschaften der speziellen Aufzeichnungsschicht im amorphen und kristallinen Zustand dar. Somit entstehen mehrfach beschreibbare optische Medien, auf denen einige tausend Schreibvorgänge durchgeführt werden können. ■ CD-Read-Write (CD-RW) ▲ Da der Unterschied im Reflexionsverhalten der beiden Zustände relativ klein ist, kann eine CD-

RW nicht von herkömmlichen CD-ROM-Laufwerken gelesen werden. • MO-Medien (MO = magneto optical) sind kombinierte magnetisch-optische Speicherverfahren. Sie nutzen die Veränderung der optischer Eigenschaften eines Speichermediums durch seine Magnetisierung. Das Auslesen der Daten erfolgt mittels eines Laserstrahls, sodass ähnlich hohe Spurdichten wie bei einer CD-ROM erreicht werden. ▲ MO-Medien können beliebig oft beschrieben werden. ▲ Moderne MO-Laufwerke gestatten zur CD-ROM vergleichbare Speicherkapazitäten und Daten-

sicherheit. Die Kosten für Laufwerk und Medien sind jedoch wesentlich höher als für CD-Rs. ● Smartcards haben das Format einer Scheckkarte und verfügen i. d. R. über einen Mikroprozessor mit eingebautem Speicher, dessen Inhalt verändert werden kann. Die Kapazität liegt derzeit bei ca. 15 DINA4-Seiten. Folgende Varianten kann man unterscheiden: • Memory Cards dienen ausschließlich zur Speicherung von Daten und werden u. a. als Krankenversicherungskarte verwendet. • Processor Cards verfügen über einen eigenen Mikroprozessor inklusive Betriebssystem. Dadurch können Daten nicht nur gespeichert, sondern auch verarbeitet werden. Sie finden u. a. in Telefonkarten Anwendung. • Encryption Cards verfügen über einen zusätzlichen Prozessor, den so genannten Co-Prozessor, der zur Verschlüsselung von Daten z. B. in elektronischen Zahlungssystemen dienen kann. ● Multi Media Cards (MMC) sind mit der Größe einer Briefmarke und einem Gewicht von weniger als zwei Gramm die kleinsten Speichermedien. Sie besitzen eine Speicherkapazität von bis zu 128 MByte und werden in mobilen Geräten bspw. zum Speichern von MP3-Files verwendet. ● Memory Sticks wurden von Sony entwickelt und sind etwas Größer als MMCs, besitzen jedoch nicht mehr Speicherkapazität. Andere Hersteller haben den Standard bis jetzt nicht übernommen.

6

1 Universalrechensysteme und Netze

1.1.4

Datenwege

● Als interne und externe Datenwege in Mikrorechnern werden vorwiegend Busse verwendet. Man unterscheidet folgende Datenwege: • Interne Datenwege dienen dem Datentransport innerhalb der CPU, z. B. zwischen Prozessor und Hauptspeicher. • Externe Datenwege übertragen Daten zwischen peripheren Geräten, z. B. externen Speichern und Arbeitsspeicher. ▲ Dagegen bedienen sich Großrechner stärker dem Kanalkonzept zur internen und externen Kommunikation. Dabei kann man sich einen Kanal als einen auf den Datentransport spezialisierten Prozessor vorstellen, der parallel zum Zentralprozessor läuft. Auch der Kanal benötigt ein Programm, das ebenfalls im Hauptspeicher liegt, d. h. Zentralprozessor und Kanalprozessor(en) arbeiten auf einem gemeinsamen Hauptspeicher.

1.1.5

Ein- und Ausgabegeräte

● Das wichtigste Dateneingabegerät neben der Tastatur ist die Maus. Unter einer Maus versteht man ein etwa faustgroßes Gerät mit einer Rollkugel oder einem optischen Abnehmer auf der Unterseite. ▲ Die Erkennung einer Ortsveränderung und deren Umsetzung in Impulse zur Bewegung des Posi-

tionierungspfeils (Pointer) auf dem Bildschirm erfolgen z. B. über mechanische Sensoren, die von der Rollkugel angesprochen werden. Durch Drücken der auf der Maus vorhandenen Tasten werden bestimmte Funktionen ausgelöst (in Abhängigkeit von der Position des Zeigers auf dem Bildschirm). ● Einen Trackball kann man sich als eine auf dem Rücken liegende Maus mit Rollkugel vorstellen. Die Kugel wird vom Benutzer direkt in Bewegung versetzt und steuert den Positionszeiger auf dem Bildschirm. ● Ein Touchpad ist eine wenige Quadratzentimeter große Sensorfläche, die auf direkten Fingerdruck reagiert und die Bewegung auf den Positionszeiger überträgt. ▲ Trackball und Touchpad sind besonders bei tragbaren Computern (Notebooks oder Laptops)

verbreitet, um dort platzsparend eine Maus zu emulieren. ● Ein Grafik-Tablett ist ein Eingabegerät, das besonders für Computer Aided Design (CAD)-Anwendungen geeignet ist. Vorlagen in Papierform können so millimetergenau in den Rechner eingegeben werden. ● Ein Joystick wird häufig bei Computerspielen verwendet. Über einen Hebel kann der Pointer bewegt und über Tasten eine Funktion ausgelöst werden. ● Ein Touchscreen ist ein Bildschirm, der gleichzeitig Ein- und Ausgabegerät ist. Die Funktionen werden durch die direkte Berührung bestimmter Felder auf dem Bildschirm ausgelöst. ▲ Da er durch fehlende empfindliche Kleinteile besonders robust und wartungsfrei ist, wird der

Touchscreen als bevorzugtes Eingabemedium für öffentlich zugängliche Computersysteme wie z. B. Geldautomaten verwendet. ● Ein optischer Belegleser ist ein Eingabegerät zum Erfassen von genormten Daten durch Abtastung der Vorlage mittels Licht. So werden optische Belegleser an Scannerkassen von Supermärkten (BAR-Codes) oder in Kreditinstituten zum Einlesen von Formularen verwendet. ▲ Eine weitere Variante eines optischen Beleglesers ist der Scanner, welcher eine Vorlage wie z. B.

Fotos und Grafiken in Bildpunkte zerlegt und als Graubild oder auch in Farbe erfasst. ▲ Auch die Handschrifterkennung, wie sie zurzeit in Kleinstcomputern eingesetzt wird, zählt zu den

Möglichkeiten der optischen Beleglesung.

1.2 Systematisierung der Software

7

● Zunehmendes Gewicht gewinnt im Rahmen von Multimediaanwendungen die Dateneingabe durch Kamera und Mikrofon. ▲ Ähnlich wie bei der Schrifterkennung ist das Hauptproblem bei der Spracherkennung die Verschie-

denheit der Sprache in Tonlage, Dialekt, Deutlichkeit und Lautstärke. Um eine akzeptable Voice Control realisieren zu können, muss das System auf einzelne Benutzer „trainiert“ werden. ● Das wichtigste Ausgabegerät ist der Bildschirm (Monitor). Er dient zur Datenausgabe und unterstützt die Eingabe, da auf dem Bildschirm z. B. auch Masken zur Datenerfassung und Symbole (Icons) zur Aktivierung von Programmen dargestellt werden. Die Auflösung gibt die Anzahl der Bildschirmpunkte (Picture Elements = Pixel) an, mit der Grafiken auf dem Bildschirm darstellbar sind. ▲ Ein Bildschirm ist nur in Verbindung mit einer Grafikkarte einsetzbar. Die Höhe der Auflösung

und die Anzahl der Farben werden durch die Grafikkarte und die Eigenschaften des Bildschirms bestimmt. ● Der Drucker ist ein weiteres Ausgabegerät. Er erlaubt es, Arbeitsergebnisse zu Papier zu bringen. Heute werden Tintenstrahl- und Laserdrucker eingesetzt. Beim Tintenstrahldrucker werden Zeichen und Grafiken aus Einzelpunkten zusammengesetzt, die als schnell trocknende Tinte auf das Papier gespritzt werden. Laserdrucker besitzen im Vergleich eine bessere Druckqualität und eine höhere Arbeitsgeschwindigkeit. Die Seite wird im Drucker als Ganzes aufgebaut und mittels Toner auf Papier übertragen.

1.2

Systematisierung der Software SOFTWARE

SYSTEMSOFTWARE

ANWENDUNGSSOFTWARE

Betriebssysteme Übersetzungsprogramme Dienstprogramme Protokolle und Treiber

Standardsoftware

Individualsoftware

Basissoftware Standardbürosoftware Funktionsorientierte Standardsoftware

Klassifizierung von Software ● Software bildet die Voraussetzung für den Betrieb eines Rechners und bezeichnet allgemein in einer Programmiersprache (vgl. Kapitel 2) geschriebene Programme, die auf einem Rechner ausführbar sind. Man unterscheidet nach dem Kriterium der Nähe zur Hardware bzw. der Nähe zum Anwender zwischen Systemsoftware und Anwendungssoftware.

8

1 Universalrechensysteme und Netze

1.2.1

Systemsoftware

● Zur Systemsoftware zählen: • Betriebssystem • Übersetzungsprogramme (für verschiedene Programmiersprachen) • Dienstprogramme (z. B. Programme zum Sortieren von Daten) • Protokolle • Treiber (zur Kommunikation mit Peripheriegeräten und anderen Rechnern im Netz)

a) Betriebssystem ▲ Ein Betriebssystem stellt alle Funktionen für den Zugriff auf Ein- und Ausgabegeräte sowie die externen Speicher zur Verfügung. Hauptaufgabe des Betriebssystems ist die Bildung einer Schnittstelle zu dem Benutzer bzw. zwischen dem Anwendungssystem und der Hardware. ● Betriebssysteme haben folgende Aufgaben zu erfüllen: • Verwaltung von Ein- und Ausgabengeräten • Verwaltung der Hardware-Betriebsmittel (Prozessor, Hauptspeicher, externe Speicher) • Umgebung schaffen, in der Programme ausgeführt werden können • Überwachung der Programmabläufe • Protokollierung • Bereitstellung eines Systems zur Dateiverwaltung • Verwaltung der Benutzeraufträge • Bereitstellung einer (grafischen oder textuellen) Schnittstelle, die es dem Benutzer erlaubt, mit dem System zu kommunizieren. ● Da ein Betriebssystem Teil eines jeden Rechnersystems ist, gibt es zahlreiche Einsatzgebiete für Betriebssysteme, die zum Teil recht unterschiedliche Anforderungen an das Betriebssystem stellen. • Mainframes: Als Mainframes bezeichnet man große Server, die eine Vielzahl von Benutzern bedienen. Mainframebetriebssysteme versuchen eine möglichst effiziente Auslastung von Ressourcen zu erreichen. ■ Beispiele für Mainframebetriebssysteme sind: OS/390, Unix

• Workstations/PCs: Workstations/PCs sind meist einem einzelnen Benutzer zugeordnet. Bei ihnen steht eine Benutzerfreundliche Bedienbarkeit im Vordergrund. ■ Beispiele für Workstation/PC-Betriebssysteme sind: Windows 9x, Windows NT, Windows 2000,

Windows ME, Windows XP, MacOS, OS/2, Unix (Linux) • Embedded Systems: Als Embedded Systems bezeichnet man zweckgebundene Systeme, mit denen der User interagiert, aber keine Möglichkeit zu Konfiguration hat. Typische Einsatzgebiete für Embedded Systems sind Geldautomaten, Waschmaschinen und Navigationssysteme. ■ Beispiele für Betriebssysteme von Embedded Systems sind: Windows CE, Embedded XP,

Embedded Linux. • Mobile Geräte: Im Bereich der Taschencomputer haben sich eine Reihe weiterer Betriebssysteme etabliert, die sich insbesondere durch eine hohe Leistungsfähigkeit bei geringem Ressourcenverbrauch auszeichnen. ■ Beispiele für Betriebssysteme von Mobilgeräten sind: Pocket PC, Windows CE, PalmOS, Sym-

bian. ● Betriebssystemarten • Einfache Batch-Systeme: Ein einfaches Batch-System führt eine Reihe von Programmen hintereinander aus. Der Benutzer kann während sein Programm läuft nicht mehr interagieren. Solche

1.2 Systematisierung der Software





• •

• •

9

Systeme verfügen über eine geringe Prozessorauslastung und werden heute in der Praxis nicht mehr eingesetzt. Multiprogramm Batch-Systeme: Multiprogramm Batch-Systeme verfügen über die Möglichkeit zum Job-Scheduling. Das Betriebssystem hält mehrere Programme im Arbeitsspeicher und führt ein Programm so lange durch, bis es blockiert wird, z. B durch eine Anforderung an ein I/O-Device. Dann wechselt das Betriebssystem zu einem anderen Programm. Der Benutzer ist nicht in der Lage ein Programm zu beinflussen, während es läuft. Time-Sharing Systeme: Time-Sharing oder Multitasking ist die logische Fortsetzung des Multiprogramming. Es werden mehrere Programme von der CPU bearbeitet, aber die Wechsel zwischen den einzelnen Prozessen werden so schnell durchgeführt, dass der Benutzer mit den Programmen während ihrer Laufzeit interagieren kann. Time-Sharing Systeme sind ausgelegt für viele Benutzer, die jeweils einen Teil der Rechenzeit zugeordnet bekommen. PC-Systeme: PC Systeme sind einem einzelnen Benutzer zugeordnet. Sie sind dafür ausgelegt, möglichst benutzerfreundlich zu sein und weniger ein maximale Auslastung der Ressourcen zu erreichen. Parallele Systeme: Parallele Systeme verwalten mehrere Prozessoren, wodurch Prozesse beschleunigt werden können. Eine Verdoppelung der Prozessoren führt allerdings nicht zu einer Verdoppelung der Rechengeschwindigkeit, da ein Overhead für die Verteilung der Aufgaben benötigt wird. In parallelen Systemen teilen sich mehrere Prozessoren den Hauptspeicher. Verteilte Systeme: Verteilte Systeme bestehen aus mehreren Prozessoren, von denen jeder über einen eigenen Arbeitsspeicher verfügt. Man bezeichnet solche Systeme häufig auch als lose gekoppelte Systeme. Echtzeitsysteme: Echtzeitsysteme werden verwendet, wenn es strenge Zeitanforderungen für Prozessoroperationen oder Datenfluss gibt.

● Folgende Eigenschaften charakterisieren moderne Betriebssysteme für Mikrocomputer: • Eine grafische Benutzeroberfläche (Graphical User Interface (GUI)), also eine auf die Benutzung mit der Maus ausgelegte, intuitive Benutzeroberfläche, die den unkomplizierten und leicht erlernbaren Umgang mit dem Computer ermöglichen soll. Die von ihr zur Verfügung gestellte Fenstertechnik wird auch von den Anwendungsprogrammen verwendet. ■ Vertreter dieser GUIs sind:

– – – –

MacOS von Apple Presentation Manager (PM) für OS/2 von IBM MS-Windows 95/98/ME/NT/2000/XP Motif, OpenWin und X-Windows für UNIX und Derivate

▲ Die Unterscheidung zwischen Betriebssystem und GUI ist nicht stringent, da einige GUIs fester

Bestandteil des Betriebssystems (aktuelle MS Windows Versionen, MacOS von Apple), andere hingegen Zusatzprodukte sind (PM für OS/2, X-Windows für UNIX und Derivate). • Eine hierarchische Dateiverwaltung ist vergleichbar mit der klassischen Papierverwaltung in Büros. Ein Aktenschrank enthält Regalböden (z. B. für Rechnungen, Belege etc.), auf denen einzelne Hefter stehen, in welche die Belege eingeordnet sind. Entsprechend werden in der Informationsverarbeitung Daten gesammelt und gemeinsam mit den Methoden, nach denen sie zu verarbeiten sind (Programme), gespeichert. ▲ Dateien können als Zusammenfassung logisch zusammengehörender Daten verstanden werden,

die vom Anwender in Verzeichnissen und Unterverzeichnissen auf den externen Speichermedien abgelegt und verwaltet werden können.

10

1 Universalrechensysteme und Netze • Eíne Batchverarbeitung, durch welche die aufeinander folgende Ausführung einer in Form einer Datei abgelegten Sequenz von Befehlen ohne Eingriff des Benutzers ermöglicht wird. Die Befehlsfolge muss vor Beginn der Ausführung vollständig spezifiziert werden. ■ Eine mögliche Anwendung für Batchverarbeitung ist der Ausdruck aller Lohnabrechnungen

eines Unternehmens. • Eine Funktion zur Dialogverarbeitung, auch interaktive Arbeitsweise genannt, bei der der Benutzer der Zentraleinheit lediglich Teilaufträge freigibt. Somit steht er ständig mit der Zentraleinheit in Kontakt, da das System z. B. die Eingabe eines Befehls erwartet, der dann sofort ausgeführt wird. ■ Beispiel ist die Erfassung eines Kundenauftrags in einer Bildschirmmaske.

• Multitasking, das die Fähigkeit des Betriebssystems zur quasi-gleichzeitigen Ausführung mehrerer Programme bezeichnet. Jedem Prozess wird für eine bestimmte Zeit Prozessorleistung gewährt und dann an den nächsten Prozess weitergegeben, bis der erste Prozess wieder an der Reihe ist (Zeitscheiben- bzw. Timesharing-Verfahren). Hierdurch wird scheinbar eine parallele Bearbeitung der einzelnen Prozesse erreicht. Jedem Prozess steht eine bestimmte Zeitscheibe zur Verfügung, in der er von der CPU bearbeitet wird. Ist diese Zeitscheibe abgelaufen, wird zum nächsten Prozess gewechselt. ▲ Man spricht von Multithreading, wenn ein Betriebssystem zulässt, dass ein Prozess aus

mehreren Leichtgewichtprozessen (Threads) besteht, z. B. aus einem Druckprozess und einem Rechenprozess, und der Rechner diese quasi-parallel ausführt. Durch diese Unterteilung in Leichtgewichtprozesse, wird der Overhead beim Prozesswechsel deutlich geringer. ■ So kann bspw. ein Text bearbeitet werden, während im Hintergrund eine Kalkulation durchge-

führt wird. • Multiusing, das die quasi-parallele Bedienung mehrerer Terminals und damit mehrerer Benutzer über einen zentralen Rechner erlaubt. Eine gleichzeitige Bearbeitung der einzelnen Benutzeraufträge wird allerdings nur scheinbar erreicht, da die interaktiven Prozesse der einzelnen Benutzer nach dem Timesharing-Prinzip abgearbeitet werden. Warteschlangen werden nach dem Prinzip „First come, first serve“ bedient.

erstellt von ciando

▲ Der gleichzeitige Zugriff mehrerer Benutzer wird durch die Bedienung mehrerer Terminals oder

durch Netzwerke erreicht. Bei besonders großen DV-Systemen übernehmen spezielle Vorrechner die Koordination des gesamten Ablaufs. ■ Multiusing-fähige Betriebssysteme sind UNIX, LINUX, MS Windows 2000 Server, OS/2 Server.

• Warteschlangen (Queues) zur Abarbeitung von zeitunkritischen Prozessen: Drucken, E-Mail und Faxversendung sind Prozesse in Warteschlangen, die eine niedrige Priorität haben und bei großer Rechnerlast nur eine kleine Zeitscheibe zugeteilt bekommen. Sie werden erst dann abgearbeitet, wenn keine Prozesse mit höherer Priorität mehr Rechenzeit anfordern. ▲ Alle Prozesse in einer Warteschlange werden sequenziell und nicht gleichzeitig abgearbeitet. ▲ Interaktive Prozesse können nicht über Warteschlangen abgewickelt werden, sondern bedürfen

der kontinuierlichen Zuteilung von Rechenzeit.

b) Übersetzungsprogramme ▲ Die Übersetzung eines Quellcodes in einen Objektcode erfolgt durch einen Compiler oder einen Interpreter. ● Compiler übersetzen das gesamte Quellprogramm „in einem Stück“ (Batch). Vor der Übetragung wird das Programm auf Syntaxfehler, z. B. korrekte Schreibweise aller Befehle, überprüft. Im nächsten

1.2 Systematisierung der Software

11

Schritt erfolgt die Übersetzung (Kompilierung). Das Programm ist noch nicht lauffähig und muss durch den Linker (Binder) um Hilfsprogramme (z. B. zur Ein- und Ausgabesteuerung) erweitert werden. Durch die Gesamtschau erfolgt eine Optimierung des Objektcodes. Das ablauffähige Programm kann gespeichert werden. ▲ Eine getrennte Kompilierung von in sich geschlossenen Teilprogrammen (Module) eines gesamten

Programmpakets ist möglich. Die Teile lassen sich später zu einem lauffähigen Programm verlinken. ▲ Nachteilig bei der Benutzung von Compilern ist, dass bei Fehlerkorrekturen oder Programmände-

rungen das Teilprogramm neu kompiliert werden muss. ● Interpreter erzeugen keinen archivierbaren Objektcode. Jeder Befehl wird einzeln abgearbeitet, d. h. immer wieder neu übersetzt und sofort ausgeführt. Dieses Vorgehen ist vorteilhaft für die interaktive Programmentwicklung, da man die Richtigkeit einzelner ausgeführter Programmschritte verfolgen kann. ▲ In einigen Programmiersprachen werden beide Vorgehensweisen kombiniert. Ein Java-Quellprogramm wird zuerst mittels eines Compilers in einen plattformunabhängigen Zwischencode (Byte Code) transformiert. Dieser Byte Code wird in einem zweiten Schritt durch eine so genannte Java Virtual Machine (JVM) interpretiert.

c) Dienstprogramme, Protokolle und Treiber ● Dienstprogramme sind kleine Hilfsprogramme zur Abwicklung systemorientierter, häufig wiederkehrender, anwendungsneutraler Aufgaben. Hierzu zählen insbesondere: • Editoren, also Programme zum Lesen, Ändern und Schreiben von Dateien mit formatierten Texten, Grafiken u. Ä. • Sortierprogramme zum Sortieren von Daten nach vom Benutzer zu spezifizierenden Kriterien • Weitere Hilfsprogramme erfüllen Funktionen wie (benutzerfreundliches) Kopieren von Dateien, Datensicherung oder Optimierung der Speicherorganisation. Hilfsprogramme sind als Bestandteil sowohl innerhalb der System- als auch der Basissoftware zu finden. ● Protokolle definieren sämtliche Vereinbarungen und Verfahren, die zur Kommunikation zwischen Prozessen und Rechnern beachtet werden müssen. ● Ein Treiber ist ein Programm, das als Übersetzer zwischen den Protokollen verschiedener Funktionseinheiten oder einer Programm- und einer Funktionseinheit (z. B. dem Drucker) fungiert. ▲ Treiber und Protokolle können ebenfalls als Dienstprogramme interpretiert werden.

1.2.2

Anwendungssoftware

● Anwendungssoftware gliedert sich in: • Standardsoftware wird für eine Vielzahl von Anwendern mit gleichen oder ähnlichen Problemstellungen entwickelt. Sie kann auf unterschiedlichen Betriebssystemen angewendet werden. Standardisierte Lösungen lassen sich zusätzlich unterscheiden in: – Basissoftware (z. B. Webbrowser) – Standardbürosoftware (z. B. Textverarbeitung) – funktionsorientierte Software (z. B. Finanzbuchhaltung) • Individualsoftware, die speziell auf die Wünsche des Benutzers hin entwickelt wird. Um sie für andere Anwender nutzbar zu machen, muss häufig eine individuelle Anpassung erfolgen.

12

1 Universalrechensysteme und Netze

a) Standardsoftware ● Basissoftware Schwerpunkte der Basissoftware sind: • E-Mail: Programme zum Versenden von elektronischer Post • Browser: Hilfsprogramme, die eine Recherche von Dateien und deren Platzierung in der Verzeichnishierarchie eröffnen. Die wohl bekannteste Browserart ist der Webbrowser (z. B. Internet Explorer oder Netscape Navigator). Er dient insbesondere als Navigationshilfe bei der Recherche im Internet. • Editoren für Webseiten: Programme zur Aufbreitung von Texten oder Grafiken, die im Netz angeboten werden sollen (z. B MS Frontpage, HomeSite und Dreamweaver). • Virenscanner: Programme zur Prüfung des Speichers von Rechnern auf den Befall durch einen bekannten Virus und zur Elimination dieses Befalls. • Komprimierungsprogramme: Programme zur Reduzierung der Größe einer Datei. Die Wiederherstellung der originalen Zeichenfolge erfolgt beim Empfänger durch die inverse Funktion. ● Standardbürosoftware Standardbürosoftware auf Grundlage der Windows-Betriebssysteme trägt zur weiten Verbreitung von Mikrocomputern bei. Hierzu zählen insbesondere: • Textverarbeitungsprogramme, die das Schreiben von Texten, Briefen, Referaten etc. erleichtern. Die Texte können am Computer erfasst und dann sehr leicht überarbeitet werden. Im Gegensatz zur Schreibmaschine können die einmal erfassten Texte beliebig oft reproduziert (auf dem Drucker ausgedruckt) und geändert werden. Korrekturen können problemlos am Bildschirm durchgeführt werden. Fast alle Textverarbeitungsprogramme unterstützen weitere nützliche Funktionen: – automatische Seitennummerierung und Datumsangleichung – Fußnotenverwaltung – automatische Silbentrennung – Rechtschreibhilfe – Thesaurus (Synonym-Wörterbuch) – Serienbrieferstellung – Integration von Grafiken, Sonderzeichen und mathematischen Formeln ■ Verbreitete Textverarbeitungssysteme: MS-Word für Windows, WordPerfect, StarOffice, Lotus

Word-Pro • Tabellenkalkulationsprogramme stellen Informationen auf dem Bildschirm in tabellarischer Form, d. h. geordnet nach Zeilen und Spalten, dar. Eine solche Tabelle wird Arbeitsblatt (Spreadsheet) genannt. Die Zeilen werden nummeriert und die Spalten über Buchstabenkombinationen angesprochen. ▲ Die sich aus Zeilen und Spalten ergebenden Schnittpunkte nennt man Zellen. Zellen werden ein-

deutig ‘wie die Felder eines Schachbretts’ durch die zugehörigen Zeilen-Spalten-Kombinationen angesprochen. ■ Typische Einsatzgebiete für Tabellenkalkulationen sind Routineberechnungen aller Art, betriebs-

wirtschaftliche Anwendungen, Budgetplanungen, Finanzplanungen, Personalplanungen etc. ■ Gängige Vertreter von Tabellenkalkulationen: MS-Excel, Lotus 123, Quattro Pro, StarOffice.

• Formatierungsprogramme übernehmen die Formatierung (Layout, Hervorhebungen etc.) eines Textes. Sie trennen den Prozess der Formatierung vom Prozess der Texteingabe vollständig ab. ▲ Durch spezielle Layoutverwaltungen kann ein einheitlicher optischer Eindruck erreicht werden.

1.2 Systematisierung der Software

13

▲ Die Texteingabe erfolgt vollständig unformatiert. Gewünschte Hervorhebungen und Formatie-

rungen werden über Steuerbefehle direkt in den Text eingefügt. Das Formatierungsprogramm übernimmt dann die Formatierung in einem zweiten, unabhängigen Arbeitsgang. ▲ Formatierungsprogramme erlauben die Verarbeitung sehr umfangreicher Dokumente. Der Be-

dienungskomfort ist allerdings eingeschränkt. ■ TEXoder LATEX

• Weitere Standardprogramme: – Datenbanken ■ MS-Access, dBase, Paradox

– Programme zur Erstellung professioneller Präsentationen ■ MS-PowerPoint, StarOffice Impress

– Programme zur Unterstützung von Konstruktionen und Design (CAD Computer Aided Design) ■ AutoCAD, VectorWorks

– Programme zur Erstellung ganzer Publikationen wie Bücher, Broschüren u. Ä. (PublishingProgramme) ■ Corel Ventura, Adobe PageMaker

● Funktionsorientierte Standardsoftware Unter funktionsorientierter Standardsoftware versteht man Lösungen, die aus betriebswirtschaftlicher Sicht eine Funktion oder funktionsübergreifend mehrere Anwendungsbereiche (z. B. Materialwirtschaft, Vertrieb, Finanzwesen etc.) und deren Prozesse unterstützen. ▲ Derartige Programme sind oftmals modular aufgebaut, damit der Anwender nur die benötigte

Software für seine Problemstellungen betreiben muss. Zudem wird die schrittweise Einführung neuer Systeme und damit das langsame Ablösen von Altsystemen vereinfacht. ▲ Die Anpassung einer solchen Standardsoftware an spezifische Einsatzbedürfnisse in Unternehmen

erfolgt durch das Einstellen von Parametern, ohne dass eine Veränderung des Quellprogramms stattfinden muss. ■ Funktionsübergreifende Standardsoftware lässt sich in branchenunabhängige (z. B. SAP R/3) und

-spezifische (z. B. SAP Industry Solutions) Standardsoftware einteilen.

b) Individualsoftware ● Individualsoftware ist eine Anwendungssoftware, die auf eine spezielle betriebliche Anforderung mit der zugehörigen Hard- und Softwareumgebung zugeschnitten ist. Sie wird entweder eigenentwickelt oder fremdbezogen. ▲ Aufgrund der hohen Enwicklungskosten der Individualsoftware ist heute zu beobachten, dass man häufig Standardsoftware verwendet. Demgegenüber wird der Einsatz von Individualsoftware durch ein größeres Funktionsspektrum gegenüber den Standardlösungen für bestimmte Problemstellungen begründet.

1.2.3

Groupware

Unter Groupware wird Software zur Unterstützung der Zusammenarbeit in Unternehmen und Verwaltungen verstanden; hierbei unterstützt Groupware die eher unstrukturierte Zusammenarbeit, während Workflow die eher strukturierte Zusammenarbeit zum Thema hat.

14

1 Universalrechensysteme und Netze

● Wesentliche Eigenschaften von Groupware sind: • Die Software dient zur Überbrückung von räumlichen und zeitlichen Barrieren bei der arbeitsteiligen Erledigung von Aufgaben, sowie zur Unterstützung von Sitzungen. • Multimediale Informationsdarstellung und -übertragung wird unterstützt. ● Klassisch ist die Einteilung der Unterstützungsmöglichkeiten nach ihrem Raum- und Zeitbezug.

zeitliche Verteilung

gleicher Ort, verschiedene Zeit: Bulletin Boards, Kioske

gleicher Ort, gleiche Zeit: Sitzungsunterstützung, elektronische Tafeln, große Displays

verschiedener Ort, verschiedene Zeit: E-Mail, Voice-Mail, Computer-Conferencing, digitales Gruppengedächtnis, Wissensdatenbanken, gemeinsame Arbeitsbereiche, Gruppenterminkalender verschiedener Ort, gleiche Zeit: Telefonkonferenz, Videokonferenz, Telepräsenz, Gemeinsame Editoren, Chat, Application Sharing, Whiteboard

räumliche Verteilung

a) Gleicher Ort, gleiche Zeit • Sitzungsunterstützungssysteme erlauben es einem Sitzungsmoderator, Sitzungen mithilfe von Tagungsordnungswerkzeugen besser zu strukturieren und die Teilnehmer durch die Verwendung von Problemlösungstechniken (z. B. Elektronisches Brainstorming) besser am Sitzungsgeschehen zu beteiligen. Die Sitzungen erhalten durch den Einsatz von Moderationstechniken (ähnlich der bekannten Metaplanmethode) den Charakter von Workshops. Elektronische Sitzungsunterstützungssysteme bilden Kärtchen, Wandzeitungen und Abstimmungsmärkchen digital nach und machen sie dadurch flexibler nutzbar. Beispielsweise können Einzelbewertungen ad hoc mit anspruchsvollen mathematischen Methoden zu einem Gruppenmeinungsbild verdichtet werden und die Ergebnisse von Sitzungen in digitaler Form weiterverarbeitet werden. Sitzungsunterstützungssysteme sind insbesondere für die Unterstützung größerer Gruppen (10 - 40 Teilnehmer) gedacht. ■ GroupSystems ist das derzeit bekannteste kommerzielle Sitzungsunterstützungssystem. • Elektronische Tafeln dienen der Visualisierung von elektronischen Informationen für die Gruppenarbeit. Spezialsysteme, wie das Smartboard, haben eine Bilddiagonale von bis zu 1,80 m und eigenen sich auch zur manuellen Bearbeitung von digitalen Objekten auf der Tafel. Dabei übernimmt die elektronische Tafel die Funktion von Maus und Monitor. Elektronische Tafeln sind ein wesentlicher Bestandteil von elektronischen Sitzungsräumen. Sie können in Verbindung mit einem elektronischen Sitzungsunterstützungssystem oder auch isoliert z. B. in Klassenzimmern in Schulen eingesetzt werden. Für einfache Visualisierungsaufgaben reicht es aus, große Displays oder Beamer in Gruppenarbeitsräumen zu installieren.

b) Verschiedener Ort, gleiche Zeit • Telefonkonferenzen schalten drei oder mehr Personen über das Telefon zu einem Gespräch zusammen. Hierbei besteht die Herausforderung weniger in der technischen Realisierung, als vielmehr bei der Terminvereinbarung und der Gesprächsführung. Da eine implizite Verteilung der Rederechte mangels visuellem Kontakt nicht möglich ist, übernimmt ein Teilnehmer die Rolle des Moderators.

1.2 Systematisierung der Software

15

• Videokonferenzen fügen dem Audiokanal ein Videokanal hinzu. Videokonferenzen können als so genannte Desktopvideokonferenzen am Arbeitsplatz-PC oder auf Großbildschirmen in Gruppenarbeitsräumen umgesetzt werden. Während die Verbindung zweier Standorte z. B. mithilfe von Systemen von PictureTel schon technisch befriedigend und preiswert gelöst ist, ist die Verbindung von drei oder mehr Standorten noch technisch aufwendig und teuer. • Telepräsenz strebt an, das Gefühl von Co-Präsenz über das bei Videokonferenzen übliche Maß hinaus zu ermöglichen: Über Spiegelsysteme wird ein direkter Augenkontakt vermittelt. Regelmäßige Standbilder (Snapshots) oder Sensoren vermitteln laufend und ohne große Ablenkung Informationen über die Aktivitäten der anderen Gruppenmitglieder und damit das Gefühl eines gemeinsamen Arbeitskontextes („Awareness“). Über die geschickte Platzierung von Kamera/Bildschirmpaaren („Auge“ und „Kopf“) werden die Videokonferenzpartner an den gewohnten Platz im Raum positioniert (am Eingang, am Besprechungstisch . . . und nicht nur auf dem Schreibtisch!) und dadurch der gewohnte soziale Umgang ermöglicht. • Für das gemeinsame Arbeiten an Dokumenten stehen drei Typen von Groupwarewerkzeugen zur Verfügung: Application Sharing „gruppifiziert“ klassische Individualanwendungen, z. B. aus OfficePaketen, durch Vervielfältigung der Bildschirmausgabe und Bündelung der Tastatur- und Mauseingabe. Gemeinsame Editoren erlauben die verteilte Dokumentbearbeitung und verbessern im Vergleich zum Application Sharing das gekoppelte Arbeiten, z. B. durch so genannte Telepointer zum Deuten in gemeinsamen Dokumenten. Weiterhin erlauben sie einen Wechsel zwischen eng gekoppeltem Arbeiten (WYSIWIS = What You See Is What I See) und lose gekoppeltem Arbeiten (jeder Teilnehmer sieht den Textausschnitt, der ihn interessiert, aber mit den laufenden Änderungen durch die anderen Teilnehmer) durch spezielle Koppelmechanismen (View-Linking). • Whiteboards stellen (verteilten) Gruppen eine softwaregestützte gemeinsame Tafel zum Zeichnen und Malen zur Verfügung. • Chat-Systeme erlauben die (arbeitsbegleitende) Kommunikation durch einen schriftlichen Kommunikationskanal. Microsoft bietet mit Netmeeting das derzeit marktführende kommerzielle Produkt für Application Sharing und Whiteboards an.

c) Verschiedener Ort, verschiedene Zeit • E-Mail (elektronische Post) ist eine der ältesten und die am meisten verbreitete Groupware. E-Mail dient der elektronischen Nachrichtenübermittlung an Einzelne, mehrere ausgewählte Personen oder ganze Verteilerkreise. Der große Vorteil von E-Mail ist die zeitliche Entkopplung der Kommunikation - jeder schreibt und liest, wann er oder sie dazu Zeit hat - bei gleichzeitig sehr schneller Nachrichtenübermittlung. Neben dem einfachen Nachrichtenaustausch unterstützen Groupwaresysteme den Nachrichtenaustausch durch Filtersysteme und durch vorstrukturierte Kommunikationstypen (Anfrage . . . ). • Voice-Mail ersetzt einen Anrufbeantworter und ergänzt ihn um vom E-Mail her bekannte Funktionen. Mündliche Nachrichten können nicht nur entgegengenommen werden, sondern auch ergänzt und weitergeleitet werden sowie an eine Gruppe von Personen verteilt werden. Filtersysteme erlauben das automatische Routing von Voice-Mail-Nachrichten. Derzeit ist ein Zusammenwachsen von E-Mail und Voice-Mail zu beobachten. • Computer-Conferencing dient der verteilten schriftlichen Kommunikation. Die Beiträge der Teilnehmer werden in einer Listen- oder Baumstruktur inhaltlich und/oder zeitlich sortiert angeordnet und fortgeschrieben. Sie ist insbesondere für größere Gruppen geeignet, da die Persistenz der Nachrichten eine Parallelisierung von Kommunikationsvorgängen besser ermöglicht als z. B. Telefonkonferenzen. Eine zeitliche Entkopplung erlaubt es, sich zu einer selbstgewählten Zeit in eine schriftliche Unterhaltung einzuschalten. Im Unterschied zur E-Mail werden alle Beiträge einer Gruppe allen Teilnehmern angezeigt.

16

1 Universalrechensysteme und Netze

• Gemeinsame Arbeitsbereiche dienen als gemeinsame Dokumentencontainer. Neben der reinen Dokumentenaufbewahrung in Ordnerstrukturen (oder auch Räumen nachgebildeten Ordnungsstrukturen) können gemeinsame Arbeitsbereiche Mechanismen zum Ein- und Auslagern von Dokumenten, zur Verwaltung von Lese- und Bearbeitungsrechten, sowie zur Versionsverwaltung beinhalten. Sie vermitteln weiterhin z. B. durch Farbcodierung und Variation von Schriftzeichen passiv oder durch Audio- oder visuelle Signale aktiv darüber Kenntnis, wann welche Änderungen durch andere Gruppenmitglieder an welchen Dokumenten durchgeführt wurden. Die Herausforderung ist es dabei (ähnlich wie bei gemeinsamen Editoren), einerseits jedes Gruppenmitglied über den Gruppenarbeitsfortschritt auf dem Laufenden zu halten und ihn andererseits bei seiner anderen Arbeit nicht über das Maß zu stören. Gemeinsame Arbeitsbereiche sind insbesondere dann hilfreich, wenn sie in Verbindung mit gemeinsamen Editoren genutzt werden. • Ein digitales Gruppengedächtnis speichert und integriert die von Einzelwerkzeugen erzeugten Ergebnisse der Zusammenarbeit in einer speziellen Datenbank. Digitale Gruppengedächtnisse gehen insoweit über gemeinsame Arbeitsbereiche hinaus, als sie auch Verknüpfungen und Auswertungen von Dokumenteninhalten erlauben, z. B. durch Erstellen von Volltextindizes. Dabei müssen einerseits die gemeinsam erarbeiteten Inhalte möglichst ohne großen Aufwand für die Gruppenmitglieder durch Erfassung von Kontextinhalten (z. B. wer schrieb was und wann zu welchem Thema) für eine Suche vorbereitet werden und andererseits die Interessen der Gruppenmitglieder auf Vertraulichkeit (z. B. durch Anonymisierung von Beiträgen) gewahrt bleiben. Digitale Gruppengedächtnisse stellen einen bedeutenden Teil eines Organisationsgedächtnisses (Organizational Memory) dar. Wissensdatenbanken schöpfen ihre Information im Unterschied zum digitalen Gruppengedächtnis nicht aus dem laufenden Gruppenarbeitsprozess, sondern beinhalten redaktionell aufgearbeitete allgemeine Informationen zur Unterstützung der Zusammenarbeit. Auch hier erlaubt die Aufbereitung eine schnelle und gezielte Suche. • Gruppenterminkalender unterstützen die Terminkoordination in Gruppen. Die Gruppenmitglieder gewähren einander abgestuften Einblick in ihre individuellen Terminkalender (z. B. welche Zeiträume schon durch Termine belegt sind) und erleichtern dadurch die manuelle oder automatische Suche nach Terminen, an denen alle potenziellen Teilnehmer Zeit haben. Bei sehr enger Zusammenarbeit und einem guten Vertrauensverhältnis können die Akteure einander in Gruppenterminkalender auch für alle verbindliche Termine direkt eintragen. Andernfalls unterstützt ein Gruppenterminkalender die Terminbuchung, z. B. durch automatische Verteilung von Terminanfragen. Mit Gruppenterminkalendern können auch Ressourcen (z. B. spezielle Geräte oder Gruppenarbeitsräume) für Gruppen verwaltet werden.

d) Gleicher Ort, verschiedene Zeit Es gibt nur wenige spezifische Systeme zur Unterstützung von Gruppenarbeit am gleichen Ort zur verschiedenen Zeit. Darunter fallen spezielle elektronische Bulletin Boards oder Kiosksysteme, die dazu verwendet werden (vertrauliche) Informationen oder spezielle Dienstleistungen zusammenarbeitenden Personen zu verschiedenen Zeitpunkten an einem Ort zur Verfügung zu stellen. ▲ Neuere Groupwaresysteme streben eine integrierende Unterstützung für alle vier Bereiche an. Man spricht von Unterstützung „zu jeder Zeit an jedem Ort“. Beispielsweise bietet der derzeitige Marktführer mit Lotus/Domino (inkl. dem so genannten Sametime-Server) eine Plattform an, die die meisten der oben genannten Werkzeuge enthält und miteinander verknüpft. Dies erleichtert die Verknüpfung von individueller und gemeinsamer Arbeit sowie die medienbruchlose durchgängige Abdeckung von länger andauernden Gruppenarbeitsprozessen. Dadurch wird Groupware zum wesentlichen technischen Baustein für neue verteilte Organisationsformen wie so genannte virtuelle Unternehmen.

1.3 Rechnerklassen

1.3

17

Rechnerklassen

● Die Unterscheidung verschiedener Rechnerklassen erfolgt aufgrund ihrer Leistungsfähigkeit und des verwendeten Betriebssystems. Für die betriebliche Informationsverarbeitung (IV) werden folgende Rechnerklassen unterschieden: • Großrechner (auch Server, Mainframe oder Hosts genannt) • Workstations und Personal Computer (PCs) • Netzwerkcomputer (NCs) und Thin-Clients • Handheld Computer ▲ Zusätzlich existieren so genannte Superrechner mit einer speziellen Rechnerarchitektur für tech-

nisch-mathematische Problemstellungen (z. B. Wetterprognose, Luftraumüberwachung). Im Gegensatz zu Großrechnern stellen Superrechner ihre Leistungsfähigkeit lediglich einigen wenigen Programmen zur Verfügung. ▲ Steuerungsrechner sind Einfunktionsautomaten, die z. B. für den Betrieb in einer Werkshalle

gebaut sind. Häufig kommen sie in der Prozesslenkung und Steuerung von Maschinen zum Einsatz. Deswegen spricht man auch von so genannten Embedded Systems, die fest mit dem sie beherbergenden System verbunden sind.

1.3.1

Großrechner

● Großrechner sind Zentralrechner, die über große externe Datenspeicher und hohe Verarbeitungsgeschwindigkeiten verfügen. Sie bedienen zahlreiche Terminals und PC-Arbeitsstationen im Multiuserbetrieb. ▲ Um den Großrechner nicht mit Verwaltungsarbeiten (z. B. Kontrolle der Belegung des Zentral-

rechners) zu belegen und ihm so Rechenleistung zu entziehen, arbeitet man mit leistungsstarken Steuereinheiten oder Vorrechnern. ▲ Um hohe Leistungsbedarfe der Nutzer zu befriedigen oder eine Sicherung gegen Systemausfälle zu

haben, werden in größeren Unternehmen mehrere Hosts in einem Netz verbunden. ▲ Großrechner sind häufig Zentrum eines Sternnetzes (siehe Abschnitt 1.4) und bieten den Vorteil einer zentralen Datenhaltung mit Zugriffsmöglichkeiten durch oft mehrere hundert Terminals und PCs. ▲ Die hohe Leistungsfähigkeit wird u. a. durch umfangreiche Betriebssysteme ermöglicht, die spezielle Hardwareeigenschaften ausnutzen. Daraus folgt, dass Großrechnersysteme untereinander nicht kompatibel sind. Unterschiedliche Systeme werden deshalb als Rechnerwelten bezeichnet. ● Die Integration verschiedener Rechnerwelten in ein Netz wirft bis heute Probleme auf.

▲ Großrechner gelten als nicht besonders benutzerfreundlich. So verfügen sie z. B. i. d. R. nicht über eine grafische Benutzeroberfläche. Deshalb verlieren Großrechner auch in Bezug auf den Mensch-MaschineDialog an Bedeutung. ● Großrechner besitzen ausschließlich die Funktion von zentralen Datenservern, während die benutzerfreundliche Aufbereitung der Datenein- und -ausgabe durch Workstations und PCs übernommen wird. ● Da auf Großrechnern basierende Systeme als Rechnerleistung vorwiegend die Kapazitäten des Hosts nutzen, können bei einer steigenden Anzahl von Terminals auch Kapazitätsprobleme auftreten. ■ Bekannte Hersteller von Großrechnersystemen in Wirtschaft und Verwaltung sind: • IBM mit z. B. den z-, i- und p-Serien und den Betriebssystemen z/OS, LINUX oder VSE/ESA • Siemens mit den PRIME-Serien und den Betriebssystemen LINUX, Solaris oder MS Windows 2000 • HP mit z. B. der RP-Serie und den Betriebssystemen HP-UX 11i oder LINUX • Unisys mit der ES-Serie und den Betriebssystemen UnixWare oder MS Windows 2000.

18

1 Universalrechensysteme und Netze

1.3.2

Workstations

● Workstations sind als selbstständige Arbeitsplatzrechner mit hoher Rechenleistung konzipiert, deren Leistungsfähigkeit jedoch unter der eines Großrechners liegen. Workstations unterstützen hauptsächlich rechenintensive Aufgaben, die eine hohe dauerhafte Rechenleistung benötigen. Mehrere Workstations werden typischerweise zu so genannten Local Area Networks (LANs) zusammengefasst. ▲ Workstations werden i. d. R. mit dem Betriebssystem MS Windows oder einem UNIX Betriebssystem bzw. einem Derivat (inzwischen häufig Linux) ausgestattet. Große Workstation-Hersteller liefern eigene UNIX-Dialekte als Betriebssystem aus, die sich in den meisten Fällen jedoch relativ gering unterscheiden. ■ AIX (von IBM), HP-UNIX (von HP), SOLARIS (von SUN), IRIX (von Silicon-Graphics), LINUX

(Public-domain für PCs)

1.3.3

Netzwerkcomputer (NC) und Thin-Clients

● NCs und Thin-Clients sind preisgünstige Rechner mit geringer Leistungsfähigkeit, die speziell für den Client-Betrieb in Netzen konzipiert sind: Die Anwendungssysteme laufen auf einem entfernten Server ab, der NC bzw. Thin-Client empfängt und sendet Daten über das Netz an den Server. Dadurch kommt ein solches System im Idealfall z. B. ohne eigene Festplatte aus.

1.3.4

Handheld Computer

Handhelds, auch als PDAs (Personal Digital Assistants) bezeichnet, sind portable Computer im „Westentaschenformat“. Oftmals als Organizer benutzt, laufen auf Handhelds im Vergleich zu Workstations kleinere Anwendungen mit Kalender-, Termin-, Adress- und Notizbuchfunktionen. In Kombination mit einem Handy besteht die Möglichkeit, z. B. E-Mails zu senden und zu empfangen oder im Internet zu surfen. Die Eingabe erfolgt typischerweise mittels eines Pens (Stylus) in Verbindung mit Texterkennungsprogrammen oder Touchscreens. Handhelds bieten wachsende Einsatzmöglichkeiten für „mobile Lösungen“ in der Arbeitswelt. So kann bspw. ein Außendienstmitarbeiter Bestellungen schon direkt beim Kunden eingeben. ■ Beispiele für Handhelds sind: Palmtops von Palm, die iPAQ-Reihe von Compaq und Pocket LOOX von Fujitsu Siemens ● Durch geringe Größe und Portabilität bedingt, besteht eine erhöhte Problematik der Energieversorgung. Um dieser zu begegnen, wurden von der Firma ARM spezielle 16/32-bit Prozessoren entwickelt, die in den meisten PDAs Einsatz finden. Trotz hoher Performance und niedrigen Kosten bieten diese Prozessoren einen geringen Energieverbrauch. ■ Intel bietet u. a. StrongARM-Prozessoren an, die auf der ARM-Technologie basieren, aber auch auch

Xscale-Prozessoren, welche eine eigene Plattform darstellen und einen noch geringeren Energieverbrauch aufzuweisen haben. ● Aufgrund der im Vergleich zu Workstations nicht so leistungsfähigen Hardware, kommen speziell für PDAs entwickelte, mit geringerer Funktionalität ausgestattete Betriebssysteme zum Einsatz: ■ Palm OS von Palm, Pocket Windows von Microsoft

▲ In Zukunft wird sich die Entwicklung auf die Verschmelzung von PDAs mit Handys konzentrieren. Bereits heute existieren so genannte Smartphones, z. B. der Communicator von Nokia oder der Pocket LOOX (mit aufzusteckendem GPRS-Modul) von Siemens.

1.3 Rechnerklassen

1.3.5

19

Client-Server-Konzept

● Die Kommunikation zwischen Rechnern setzt die Existenz eines geeigneten Kooperationsmodells voraus, das im Hinblick auf die Partner eine eindeutige Rollenverteilung festlegt und die gemeinsamen Protokolle spezifiziert. ▲ Im Client-Server-Konzept versuchen auf der Benutzerseite so genannte Clients, von einem bestimmten Rechner im Netz (Server) angebotene Dienste (z. B. Daten und Transaktionen eines Anwendungssystems) in Anspruch zu nehmen. ▲ Aufgabe des Clients ist die Präsentation der entsprechenden Daten und die Interaktion mit dem Benutzer. Der Server, z. B. ein Datenbankserver, wartet so lange passiv, bis ihn die Anforderung des Client erreicht. ▲ Als Server werden ein oder mehrere Rechner im Netzwerk eingerichtet: Architektur

Client(s)

Server

Zweistufige Client-ServerArchitektur Präsentation

Applikations- und Datenbankserver

Dreistufige Client-ServerArchitektur

Präsentation

Applikationsserver

Datenbankserver

Mehrstufige Client-ServerArchitektur

Präsentation

Webserver

Applikationsserver

Datenbankserver

Client-Server-Architekturen ■ Integrierte Standardsoftwarelösungen wie z. B. SAP R/3 oder Baan IV lassen sich in drei verschiedene Funktionsbereiche (Schichten) zerlegen: • Präsentation (Aufbereitung der grafischen Oberfläche) • Applikation (Bereitstellung der Anwendungslogik) • Datenhaltung (Verwaltung der Daten) ▲ Bei zweistufigen Konfigurationen werden Applikations- und Datenbankdienste auf einem Server implementiert. Im dreistufigen Fall steht für jede Schicht ein Rechner zur Verfügung.

20

1 Universalrechensysteme und Netze

▲ Um einen webbasierten Zugriff auf Anwendungen zu ermöglichen, kann zusätzlich ein so genannter Webserver, der als Mittler zwischen Präsentation und Anwendung fungiert, implementiert werden. Die daraus resultierende Architektur wird als vier- oder mehrstufig bezeichnet. ■ Webserver dienen als wichtige Bindeglieder im Internet. Sie übermitteln auf Anfrage des Client (in

diesem Fall des Webbrowsers) die angeforderte HTML-Seiten und ermöglichen über Schnittstellen die Generierung dynamischer Dokumente, die als Ergebnisse der Programmabläufe zurückgeliefert werden. ▲ Ein wichtiges Kriterium bei der Entscheidung über eine bestimmte Architektur ist die Anzahl der Benutzer, die heute und künftig mit einer Anwendung parallel arbeiten sollen, da die Verteilung auf verschiedene Systeme eine höhere Performance bietet. ▲ Die Struktur dieses Kooperationsmodells setzt auf der Serverseite ein Betriebssystem voraus, das Multitasking zulässt, z. B. UNIX oder Windows Server Technologien. ▲ In großen Netzwerken dienen verschiedene Rechner häufig als Clients und auch als Server, was als Peer-to-Peer Kommunikation (siehe Abschnitt 1.4) bezeichnet wird. ■ Alle wichtigen Dienste im Internet basieren auf dem Client-Server-Konzept.

1.4

Rechnernetze und Netzarchitekturen

● Mit dem Einsatz von Rechnernetzen werden verschiedene Ziele verfolgt: • Kommunikationsverbund: die Möglichkeit zur Kommunikation der Rechner im Netzwerk • Geräteverbund: Die Möglichkeit jedes Rechners, auf im Netz enthaltene Ressourcen zurückzugreifen. ■ Beispielsweise können mehrere, innerhalb eines LANs (siehe Abschnitt Local Area Network)

verbundene Rechner auf einen Netzwerkdrucker zugreifen. • Lastverbund/Leistungsverbund: Ein Lastverbund führt zu einer besseren Ausnutzung der Kapazitäten von Computern im Netz. Ein Leistungsverbund dagegen zielt darauf ab, eine umfangreiche Aufgabe, die nicht mehr effizient durch einen einzelnen Rechner bearbeitet werden kann, im Netz von mehreren Maschinen gleichzeitig bearbeiten zu lassen. ▲ Bei vorhandener Vernetzung besteht die Möglichkeit, nicht genutzte Rechnerkapazität ver-

schiedener Workstations zu verbinden, um komplexe, rechenintensive z. B. mathemathischtechnische Anwendungen zu lösen (Grid Computing). Das international bekannteste Projekt, in dem auch viele Privatpersonen die Rechnerleistung ihrer PCs zur Verfügung stellen, ist SETI@home der Universität von Berkeley. Ziel ist die Überprüfung aus dem All empfangener Signale auf erkennbare Muster mittels über das Internet verbundener Rechner zur Suche nach außerirdischer Intelligenz (SETI - Search for Extraterrestrial Intelligence). • Datenverbund: der parallele Zugriff auf im Netz verfügbare Daten durch mehrere Rechner bzw. Anwender ■

▲ In Peer-to-Peer Netzwerken (P2P) dient jeder angeschlossene Rechner als Server und Client.

Hierbei handelt es sich um eigenständige, für sich lauffähige Rechner, die alle den gleichen Rang besitzen (peer=gleichgestellt). Den Nutzern solcher Netzwerke ist es möglich, auf Datenbanken und Ressourcen anderer Nutzer bzw. deren Rechner zuzugreifen. Welche Daten und Ressourcen zur Verfügung gestellt werden, entscheidet jeder einzelne Nutzer, da dieser als Administrator selbst für seinen Rechner verantwortlich ist. P2P beruht auf dem Prinzip der dezentralen Datenhaltung.

1.4 Rechnernetze und Netzarchitekturen

21

▲ Das bekannteste Anwendungsfeld ist das öffentlich zugängliche Filesharing, bei dem private

Nutzer über das Internet Dateien, z. B. Musikdateien, anderen Nutzern zum Download bereitstellen. Jedoch kommen verstärkt Businesslösungen zum Einsatz. Beispiele für P2P-Filesharing Programme sind Napster (gilt als Prototyp der P2P-Technologie), Gnutella und Freenet. • Programmverbund: die gemeinsame Nutzung eines Programms durch alle im Netz eingebundenen Rechner ■

▲ Application Service Provider (ASPs) stellen einen serverbasierten Betrieb von Anwendungen

zur Verfügung, welche über gesicherte Datenwege, z. B. über Virtual Private Networks (siehe Abschnitt 7.5), zum Kunden übermittelt werden. Die Anwendungsdaten werden beim Provider gespeichert. Auf dem Engerät des Kunden muss nicht mehr das Programm, sondern nur ein Browser zum Anzeigen der Anwendung und Daten installiert werden. Teure Software muss nicht mehr angeschafft werden, sie wird vom Application Service Provider gemietet. Bezahlt wird nur die tatsächliche Nutzung. Vorteile der Mietsoftware: – keine teure Soft- und Hardwarebeschaffung – niedrige Verwaltungs- und Betriebskosten und Ressourcenentlastung der IT – transparentere Kosten: Die Kosten sind kalkulierbarer, dadurch ist eine bessere Budgetierung möglich. – schnellere Implementierung – Man muss sich nicht mehr um komplizierte Updates kümmern. – Man befindet sich immer auf dem neusten technologischen Stand. Nachteil der Mietsoftware: – Die Daten werden über das Netz übertragen und beim Provider gespeichert. Handelt es sich um sensible oder geschäftskritische Daten, sind besondere Sicherheitsvorkehrungen zu treffen. • Sicherheitsverbund: Die Möglichkeit, auf kritische Daten über mehrere Wege (Zugriffspfade) zugreifen zu können, falls z. B. ein Rechner auf Grund technischer Probleme ausfällt.

1.4.1

Übertragungsprotokolle

Voraussetzung für Computer-Netzwerke ist neben der technischen Infrastruktur aus Leitungen und Vermittlungsrechnern eine allgemein verbreitete Sprache zur Verbindungsaufnahme und zum Austausch von Daten, ein Protokoll. ● Das ISO-OSI-Referenzmodell (OSI = Open Systems Interconnection), auch 7-Schichten-Modell genannt, veranschaulicht die Standardisierung der Übertragungsprotokolle zur Ermöglichung von Übertragungen zwischen verschiedenen Hardwareplattformen. Das komplexe Problem der offenen Datenübertragung wird in Teilprobleme zerlegt, indem der Weg der Daten von der Anwendung bis zum Übertragungsmedium über sieben hierarchisch angeordnete Schichten beschrieben wird. Der Vorteil ist, dass durch die hierarchische Anordnung der Schichten jede Schicht die Leistungen der darunter liegenden Schichten nutzen kann. Soll eine Datenverbindung zwischen unterschiedlichen Netzen erfolgen, muss ein Standard (Schnittstelle) zwischen benachbarten Schichten vereinbart werden.

22

1 Universalrechensysteme und Netze

Konzept und Aufbau des OSI-Modells Die 7 Schichten im Einzelnen: • 7. Schicht: Die Anwendungsschicht stellt Anwendungen den Zugang zum Netzwerk zur Verfügung. • 6. Schicht: In der Darstellungsschicht werden die Anwendungsdaten in ein plattformunabhängiges Format konvertiert, damit sie von unterschiedlichen Empfängersystemen gelesen werden können. • 5. Schicht: Die Sitzungsschicht oder Kommunikationssteuerungsschicht stellt Protokolle zur Flusskontrolle zur Verfügung. Die Daten werden mit so genannten Prüfpunkten versehen, damit bei einem Abbruch der Übertragung bei Wiederaufnahme nur die noch nicht übermittelten Daten erneut übertragen werden müssen. • 4. Schicht: Die Transportschicht stellt Transportprotokolle zur Verfügung, welche die Qualität der Übertragung steigern. Die Daten werden in Pakete aufgeteilt. Das Protokoll muss sicherstellen, dass die Daten in richtiger Reihenfolge und vollständig beim Empfänger ankommen. • 3. Schicht: Die Netzwerkschicht oder Vermittlungsschicht stellt Protokolle zur Verfügung, welche die Adressierung der Daten (Sender/Empfänger) und das Routing (Wegfindung im Netz) vornehmen. • 2. Schicht: Die Sicherungsschicht übermittelt die von der Netzwerkschicht erhalten Daten an die physikalische Schicht weiter, nachdem die Daten in so genannte Datenrahmen gepackt werden. Es werden Dienste angeboten, welche eine weitgehend gesicherte, fehlerfreie Übertragung ermöglichen. • 1. Schicht: Die Physikalische Schicht oder Bitübertragungsschicht beschreibt die Übermittlung von Daten (Datenrahmen) mittels Übertragungsmedien, z. B. Kabel. Hierzu müssen die Daten in Signale umgewandelt werden. ▲ Abwandlungen des OSI-Referenzmodells sind möglich, es können bspw. 2 oder 3 Schichten ver-

einigt werden. Einige Internetprotokolle, wie z. B TCP/IP, vereinigen die obersten 3 Schichten zu einer Anwendungsschicht. Hier findet also nur eine Aufteilung in 5 Schichten statt. ● Die Protokollfamilie TCP/IP bildet die Basis sowohl für heterogene Netzwerke insb. für das Internet (siehe Abschnitt 1.6) als auch für alle UNIX-LANs (zu LANs siehe Abschnitt Local Area Network). TCP/IP ist die Weiterentwicklung eines Netzwerkprotokolls, das ursprünglich Bestandteil des UnixBetriebssystems war. Durch die Verbreitung des Internets wird dieses Protokoll auch von anderen Betriebssystemen wie MS Windows unterstützt.

1.4 Rechnernetze und Netzarchitekturen

23

Das TCP (Transmission Control Protocol) zerlegt Nachrichten, z. B. eine E-Mail, in mehrere kleine Datenpakete und versieht jedes davon mit der IP-Adresse (Internet Protocol-Adresse) des Senders und Empfängers. Die Pakete werden an so genannte Router geschickt (z. B. denjenigen des Internet Providers), dessen Aufgabe in der IP-gesteuerten Weiterleitung der Informationen liegt. ▲ Innerhalb des Router-Netzwerks versuchen z. B. Telefongesellschaften, momentane Belastungstä-

ler in der verfügbaren Streckeninfrastruktur aufzufüllen, indem die Pakete über den am wenigsten ausgelasteten Weg in Richtung Ziel geleitet werden. Jedes Paket einer Nachricht kann über unterschiedliche Strecken zum Ziel gelangen, man spricht in diesem Zusammenhang von einem Packet Switching Network. Dies ist auch ein Grund für die geringen Übertragungskosten im Internet. Am Ziel angelangt, werden die einzelnen Pakete durch TCP in ihrer ursprünglichen Reihenfolge angeordnet. ● Das Internet Protokoll (IP) setzt auf der 3 Schicht, der Netzwerkschicht, auf und beinhaltet neben

den Adressinformationen noch Zusatzinformationen. Jeder Rechner innerhalb des IP-Netzwerkes besitzt eine IP-Adresse (Zifferncode), welche zur Identifikation dient. Sie hat eine Länge von 32 Bit (4 Byte) und wird in Form von vier durch Punkte getrennte Dezimalzahlen angegeben. Jede einzelne kann ganzzahlige Werte aus dem Intervall von 0 bis 255 annehmen. ■

Die zur URL (siehe Abschnitt 1.6) http://www.wiwi.uni-frankfurt.de gehörende IPAdresse lautet: 141.2.67.251



Internet Provider besitzen einen Block von IP-Adressen. Bei jeder Einwahl ins Internet erhält der Kunde eine andere IP-Adresse zugeteilt, die zu diesem Zeitpunkt frei ist.

Eine beispielhafte Zusatzinformation ist das „Time-to-Live Byte“, welche die „Lebenszeit“ der Datenpakete bestimmt, damit bspw. das Netz bei Abbruch einer Übertragung nicht unnötig durch umherirrende Pakete überlastet wird. ▲

Mit der aktuellen Protokollversion, die als IPv4 bezeichnet wird, ist eine theoretische Adressierung von 4,3 · 109 Rechnern möglich. Jedoch verfügen IP-Netzwerke von z. B. großen Firmen oder Universitäten über große Adressräume, welche in Subsysteme (Subnets) aufgeteilt werden können. Häufig liegen weite Teile dieses Adressraumes brach. Diese ineffiziente Nutzung und der stetig wachsende Bedarf an adressierbaren Netzwerkkomponenten hat eine Verknappung der IP-Adressen zur Folge. Daher soll die alte durch eine neue Protokollversion, die als IPv6 bezeichnet wird, schrittweise ersetzt werden. Mit der Version 6 werden 128 Bits (16 Bytes) für die Adressierung verwendet, was einer Anzahl von 3,4 · 1038 Adressen entspricht. Während die bisherigen IP-Adressen in Dezimalziffern angegeben werden und jeweils durch Punkte voneinander getrennt sind, gibt man die IPv6 Adressen in Form von acht Hexadezimalziffern an und trennt sie durch Doppelpunkte voneinander. ■

z. B. 2BA:0:66:899:0:0:459:AC39

Zusätzlich gibt es eine Reihe weiterer Erneuerungen, z. B.: • vereinfachter, kleinerer Dateikopf (Header) und damit geringere Größe des Paketes • Priorisierung durch besondere Kennzeichnung von Datenpaketen ermöglicht eine differenziertere Behandlung während des Netztransportes. • automatische Vergabe von Netzwerkadressen und damit vereinfachte Installation insb. von mobilen Rechnern ●

Das Transmission Control Protocol (TCP) setzt auf der 4. Schicht, der Transportschicht, auf und nutzt die Dienste des IP, um einen verbindungsorientierten Datentransportdienst zur Verfügung zu stellen. Verbindungsorientiert deswegen, weil die Daten über eine eigene, vorher aufgebaute Sitzung übertragen werden. Die Sitzung stellt sicher, dass die Nachrichten vollständig

24

1 Universalrechensysteme und Netze und in richtiger Reihenfolge beim Empfänger ankommen. Beispielhafte Funktionen im Einzelnen sind: • Verbindungsauf- und abbau • Aufteilung der Nachricht in einzelne Pakete • Flusssteuerung • Sortieren der Pakete in die ursprüngliche Reihenfolge beim Empfänger • Bestätigung, wenn Nachricht richtig übermittelt wurde • Ausfiltern duplizierter und Wiederholung verlorener Pakete Der Vorteil des TCP ist in den Sicherheits- und Kontrollfunktionen begründet, die einen zuverlässigen Datentransportdienst ermöglichen. Dadurch entsteht jedoch der Nachteil, dass die hierzu notwendigen Zusatzangaben die Datenpakete vergrößern und es somit zu einer langsameren Übertragung kommt. Zusätzlich verzögert die Sortierung der Datenpakete den Empfang, da gewartet werden muss, bis das als nächstes erwartete Paket auch wirklich da ist. ▲

Zu Protokollen der Anwendungsschicht und darauf aufsetzenden Diensten, die TCP/IP nutzen (bspw. E-Mail mittels SMTP, FTP, Telnet, DNS), siehe Abschnitt 1.6.

● Das User Datagram Protocol (UDP) setzt, wie auch das TCP, auf der 4. Schicht, der Transportschicht, auf und nutzt die Dienste des verbindungslosen IP, um einen Datentransportdienst zur Verfügung zu stellen. Im Vergleich zu TCP ist UDP ein verbindungsloses Transportprotokoll, d. h. es wird keine eigene Sitzung aufgebaut. Der Vorteil des UDP ist in der schnelleren Übertragung durch fehlende Sicherheits- und Kontrollfunktionen und durch fehlende Reihenfolgekontrolle begründet. Dadurch entsteht jedoch der Nachteil, dass der Datentransport im Gegensatz zu TCP nicht so verlässlich ist, da Übertragungsfehler auftreten können. Die Datenpakete werden unabhängig von der ursprünglichen Reihenfolge in Realtime, genau dann, wenn sie beim Empfänger ankommen, diesem auch zur Verfügung gestellt. ▲ UDP ist in Situationen nützlich, in denen auf Sicherheits- und Kontrollfunktionen aufgrund der

Anwendung oder der geforderten Übertragungsgeschwindigkeit (Realtime) verzichtet wird, oder in Fällen, in denen auf höheren Schichten liegende Anwendungen diese Funktionen übernehmen. Zu Protokollen der Anwendungsschicht und darauf aufsetzenden Diensten, die UDP/IP nutzen (bspw. DNS, VoIP und Streaming mittels RTP), siehe Abschnitt 1.6. ■ Weitere Internet-Protokolle der unteren Schichten des ISO/OSI-Referenzmodells sind z. B. ARP (Adress Resolution Protocol) und ICMP (Internet Control Message Protocol). ■ Weitere LAN-Netzwerkprotokolle sind z. B. IPX/SPX (Novell-Netzwerke), NETBEUI (Microsoft) und NETBIOS (IBM-OS/2).

1.4.2

Komponenten von Rechnernetzen

▲ Werden an sich unabhängig arbeitsfähige Rechner über Kommunikationspfade zum Informationsaustausch miteinander verbunden, so entsteht ein Rechnernetz. ● Die wichtigsten Komponenten eines Rechnernetzes sind: • die Rechner selbst, einschließlich der Netzwerkanbindung (Modem, Netzwerkkarte) sowie der jeweiligen Betriebs-, Netz- und Anwendungssoftware. ■ Zum Zugriff auf das Netzwerk müssen die Rechner über spezielle Software verfügen, die in

heutigen Betriebssystemen integriert ist. • Verbindungs- und Kommunikationsrechner sowie ähnliche Komponenten zum Aufbau und Verbinden von Netzwerken (Repeater, Hubs, Bridges, Router, Switches). – Repeater setzen auf der ersten, physikalischen Schicht des ISO/OSI-Referenzmodells auf, um Signale der eingehenden Datenpakete zu verstärken und zu wiederholen.

1.4 Rechnernetze und Netzarchitekturen

25

– Hubs sind zentrale Punkte in einem lokalen Netzwerk, welche Rechner miteinander verbinden. Die Verbindung erfolgt über eine Reihe von Anschlüssen, so genannte Ports. Hubs operieren als Repeater, setzen damit auf der physikalischen Schicht des ISO/OSI-Referenzmodells auf und leiten die eingehenden Signale an alle Ports weiter. Hubs bieten keine Routingfunktionen. – Zwei, mit den gleichen Protokollen (z. B. Ethernet oder Token-Ring) arbeitende, lokale Netze können durch eine Bridge (Brücke) miteinander verbunden werden. Brücken leiten Datenpakete i. d. R. ohne Analyse der jeweiligen Inhalte mittels Adressen an einen bestimmten Empfänger weiter. Bridges arbeiten mit bis zur zweiten Schicht des ISO/OSI-Referenzmodells, d. h. der Sicherungsschicht. Zusätzlich zur ersten Schicht wird mithilfe von Protokollen eine gesicherte Verbindung aufgebaut, welche die eintreffenden Daten unverändert weiterleitet. – Router können mehrere und unterschiedliche LAN-Typen miteinander verbinden, deren Protokolle jedoch kompatibel sein müssen. Sie verbinden Netze mit bis zur dritten Schicht des ISO/OSI-Referenzmodells, der Netzwerkschicht. Sie können flexibel auf verschiedene Lastzustände in den beteiligten Netzwerken reagieren und eventuelle alternative Verkehrswege identifizieren. – Switches übernehmen zusätzlich die Filterung von Daten. Wie bei Routern, verbinden Switches Netze mit bis zur dritten Schicht des ISO/OSI-Referenzmodells. Eine Kombination dieser Konzepte ist möglich. So existieren bspw. Routing Switches, Switching Hubs und Bridge Router. • Die Datenübertragungswege (Leitungen oder Funkstrecken) ■ Die gängigsten Kabeltypen sind verdrillte Kupferkabel, Koaxialkabel und Glasfaserkabel. Zu-

nehmend werden auch Mobilfunk- oder optische Richtfunksysteme eingesetzt.

1.4.3

Local Area Network

● Aufgrund der verwendeten Übertragungswege und der räumlichen Ausdehnung unterscheidet man lokale und Fernnetze (LAN (Local Area Network) und WAN (Wide Area Network)). ● In einem LAN befinden sich die vernetzten Rechner auf einem Betriebsgelände und es wird kein öffentliches Gelände für den Kabelweg verwendet (Definition nach dem bundesdeutschen Fernmelderecht). ▲ Der maximale Abstand zwischen den vernetzten Rechnern und Netzwerkkomponenten darf aus technischen Gründen nur wenige hundert Meter betragen. ● Lokale Netze werden nach Art der Verknüpfungsstruktur der Rechner in vier (Netztopologien) unterschieden: • Ringnetze • Busnetze • Sternnetze • Vermaschte Netze. – In einem Ringnetz sind die Rechner logisch in einem Ring angeordnet. Die Übertragung von Daten und Nachrichten erfolgt in einer Richtung, in dem der sendende Rechner ein Datenpaket an seinen Nachfolger weitergibt, der es wiederum an seinen Nachfolger weitergibt, solange, bis das Ziel erreicht ist. Es erfolgt eine Bestätigung in der gleichen Laufrichtung, erst dann wird das nächste Datenpaket geschickt. Vorteil: leichte Realisierung: Jeder Rechner muss nur mit seinen zwei Nachbarn verbunden werden, d. h. es gibt n Kabelverbindungen. Nachteil: Der Ausfall nur eines Rechners führt zum Ausfall des gesamten Netzes.

26

1 Universalrechensysteme und Netze – In einem Busnetz werden alle Computer an einem Buskabel angeschlossen. Zum Senden prüft ein Rechner, ob der Bus frei ist und sendet dann einfach „in den Bus hinein“. Der Zielrechner kann die Datenpakete dem Bus entnehmen und sendet eine Bestätigung. Vorteil: Es ist nur ein Übertragungskabel notwendig, beim Ausfall eines Rechners ist die Funktionsfähigkeit des gesamten Netzes nicht beeinträchtigt. Nachteil: Gleichzeitige Kommunikation ist nur zwischen zwei Rechnern möglich. Zusätzlich legt jeder Schaden am Buskabel das gesamte Netz lahm. Bei steigender Anzahl der Rechner und damit verbundener Erhöhung des „Verkehrs“ auf dem Bus steigt die Anzahl der Kollisionen und damit die Übertragungszeit auf dem Netz. – In einem sternförmigen Netz sind alle Rechner direkt mit einem zentralen Rechner verbunden, über welchen die gesamte Kommunikation erfolgt. Diese Topologie findet insbesondere im Großrechnerbereich Verbreitung. So ist z. B. jedes Terminal über eine eigene Leitung mit dem Großrechner (Host) verbunden. Vorteil: Kein Ausfall des Gesamtnetzes aufgrund eines defekten Kabels oder Rechners. Zusätzlich: kurze Verbindung zwischen zwei Rechnern, keine Datenkollisionen. Nachteil: Ausfall des gesamten Netzes bei Ausfall der Zentrale. – In einem voll vermaschten Netz sind alle Rechner miteinander verbunden. Vorteil: Selbst beim Ausfall einiger Teile des Netzes, einschließlich der Zerstörung von Übertragungsmedien, kommt es nicht zu einem Totalausfall des Netzes. Zusätzlich: sehr leistungsfähiges Netz. Nachteil: Aufwändige Leitungsverlegung und damit verbundene Kosten, da [n ∗ (n − 1)]/2 Kabelverbindungen benötigt werden.

Ringnetz

Busnetz

Sternnetz

Vermaschtes Netz

Netzwerktopologien

1.4 Rechnernetze und Netzarchitekturen

27

● Zusätzlich werden Rechnernetze nach Art der genutzten Zugriffsverfahren zur Steuerung des Sendeund Empfangsbetriebes unterschieden. Diese Protokolle dienen u. a. der Festlegung, wie Daten in das Übertragungsmedium geschickt und auftretende Fehler behandelt werden. • In Token-Ring-Netzwerken wird das so genannte „token passing“ eingesetzt. Innerhalb des Netzes kreist ein „Token“, welches technisch durch eine definierte Bitfolge dargestellt wird. Ein Rechner, der Daten an einen anderen Rechner senden möchte, wartet, bis das „leere“ Token bei ihm angelangt ist. Erst jetzt kann die Nachricht gesendet werden, indem diese an das Token angehängt wird. Beim Empfängerrechner angekommen, wird die Nachricht vom Token gelöst. Erst von diesem Zeitpunkt an kann die nächste Übermittlung stattfinden. Token-Ring-Netzwerke verknüpfen die Ring- mit der Sternstruktur, wobei der zentrale Rechner durch ein Switch ersetzt wird, in dem das Token kreist. • Der weit verbreitete Ethernet-Standard nutzt das Carrier Sense Multiple Access with Collision Detection - Protokoll (CSMA/CD). Dieses Verfahren ist in Busnetzen implementiert. Kommt es zu Kollisionen, weil mehrere Rechner gleichzeitig in den Bus senden, verbreitet die Station, die das als erstes bemerkt, ein spezielles Fehlersignal („Jamming“-Signal). Da jede Station auch während der Sendung das Medium abhört, wird der Konflikt erkannt und die Übertragung zurückgesetzt. Erst nach einer gewissen Verzögerung wird der Übertragungsversuch wiederholt.

1.4.4

Wide Area Network

● Wide Area Networks (WAN) verbinden geographisch weit auseinander liegende lokale Rechner oder Netzwerke. Unterschieden werden i. Allg. geschlossene WANs, die über abgegrenzte Benutzergruppen verfügen, von öffentlichen WANs wie z. B. dem Internet. • Das Telefonnetz zeichnet sich durch seine weltweite Flächendeckung aus. Dem stehen die verhältnismäßig hohe Fehlerquote durch Geräusche und die eingeschränkten Übertragungsgeschwindigkeiten gegenüber. Mikrocomputer werden über Modems an das Telefonnetz angeschlossen. • Das Direktrufnetz wird über Standleitungen zwischen zwei oder mehreren Rechnerknoten realisiert. Es entstehen bezogen auf einen Vertragszeitraum ausschließlich fixe Kosten. • Beim Integrated Services Digital Network (ISDN) handelt es sich um ein digitales Netz, das dem Anwender das Senden und Empfangen von Informationen in unterschiedlicher Form ermöglicht. ▲ Durch die Integration der angebotenen Kommunikationsdienste können Telefongespräche, Tele-

fax und Datenübertragung mit einer einheitlichen Rufnummer abgewickelt werden. Zudem ist es möglich, verschiedene Kanäle gleichzeitig zu nutzen, z. B. für ein Telefongespräch und den Zugriff auf das Internet. ▲ Voraussetzung für eine Implementierung ist allerdings die Digitalisierung des analogen Telefon-

netzes. • Asynchronous Transfer Mode (ATM) ist eine breitbandige Übertragungstechnik für ISDN. Datenströme werden in Pakete konstanter Größe zerlegt. Die Übermittlung erfolgt, indem jeder Teilstrecke zwischen zwei Vermittlungsknoten ein verbindungsspezifischer Kanal zugeordnet und eine physikalische Route reserviert wird. Eine Abrechnung von Übertragungsleistungen soll so vereinfacht werden. • Asymmetric Digital Subscriber Line (ADSL) bezeichnet ein Verfahren zur hochratigen Datenübertragung, das bis zu 64mal schneller als ISDN ist. ADSL hat eine hohe Datenrate zum Teilnehmer und eine niedrige Datenrate in Gegenrichtung. Durch die Nutzung eines hohen Frequenzbandes wird der Telefon-/ISDN-Betrieb nicht beeinträchtigt. • Als Backbone (Rückgrat) werden zentrale Übertragungsstrecken in Netzwerken bezeichnet, die Daten unterschiedlicher Verbindungen und Subnetze bündeln und weiterleiten. Sie verfügen deswegen über hohe Übertragungskapazitäten.

28

1 Universalrechensysteme und Netze ■ Ein Backbone auf lokaler Ebene beschreibt daher Verbindungen zwischen Knoten, die räumlich

voneinander getrennte LANs zusammenführen. ■ Im Internet bilden Backbones diejenigen Subnetze, die lokale oder regionale Netze über große

Distanzen miteinander verbinden.

1.5

Mobile/kabellose Netzwerke

● Die Verbreitung mobiler drahtloser Netzwerke eröffnet neue Möglichkeiten der Vernetzung. Mit solcher Technik ausgerüstete Geräte können innerhalb der Reichweite des Netztes den Aufenthaltsort wechseln, was eine Vielzahl neuer Anwendungen mit mobiler Datenkommunikation ermöglicht. Im Folgenden werden die grundlegenden Techniken, nach der Reichweite des zugrunde liegenden drahtlosen Netzwerkes vorgestellt.

1.5.1

Drahtlose WAN-Techniken

● Global Standard for Mobile Communications (GSM) bezeichnet ein digitales, zellbasiertes Funknetz, optimiert für die verbindungsorientierte Übertragung, mit wechselndem Endgerätestandort. • GSM ermöglicht eine unterbrechungsfreie Übergabe der Verbindung beim Zellwechsel. Weltweiter Standard der unter anderem in Europa flächendeckend eingeführt ist. • Die Datenübertragung erfolgt bidirektional mit maximal 9,6 Kbps (Kilobit pro Sekunde). Die Abrechnung erfolgt nach Verbindungsdauer. • Die Nutzung des GSM Netzes ist benutzerorientiert, d. h. der Netzanbieter stellt über eine SmartCard (die SIM-Karte), die Anmeldeinformationen für den Netzzugang zur Verfügung.Der Betrieb eines GSM Netzes erfordert eine Lizenz. • Neben der verbindungsorientierten Übertragung erlaubt GSM auch die Übertragung von Kurzmitteilungen (Short Message Service (SMS)), die auf 160 Zeichen beschränkt sind. Im Gegensatz zur Verbindung gibt es hier keine Empfangsgarantie. Die Abrechnung erfolgt pro Mitteilung. SMS wird deshalb in Steuerungs und Überwachungsanwendungen verwendet. ● High Speed Circuit Switched Data (HSCSD) ist eine technische Erweiterung von GSM, die die Bündelung mehrerer GSM Kanäle erlaubt, um höhere Übertragungsraten zu erziehlen. • Die Übertragung erfolgt bidirektional asynchron, d. h. die Kanäle können für upload bzw. download gebündelt werden. Die Bepreisung erfolgt wie bei GSM nach Verbindungszeit. • Zurzeit unterstützt die Hardware eine Bündelung von maximal 3 Kanälen bei einer Nutzung von 4 Kanälen gleichzeitig. Die höchste in eine Richtung erreichbare Datenrate ist damit 28,8 Kbps. ● General Packet Radio Service (GPRS) ist ein auf dem GSM aufbauendes, paketorientiertes, schnelles Übertragungsverfahren. • Im Gegensatz zu GSM/HSCSD werden hier nicht Kanäle gebündelt, sondern die Zeitschlitze der GSM Übertragung genutzt. Theoretisch sind 8 Zeitschlitze für eine Datenverbindung nutzbar, was die maximale Datenrate von 171 Kbps. erlaubt. GPRS verwendet eine übertragungsvolumenbasierte Abrechnung von Datenverbindungen. • Eine weitere wesentliche Eigenschaft von GPRS ist die dauerhafte Anmeldung im GPRS-Netz, welches langfristige Nutzung von Datendiensten mit Unterbrechungen und aktiver Datenübertragungen von Netzseite ermöglicht. ● Universal Mobile Telecommunication System (UMTS) ist ein digitales, zellbasiertes Funknetz mit wechselndem Endgerätestandort.

1.6 Informationen im Internet

29

• Durch Verwendung neuer Frequenzen und Übertragungstechnologie werden deutlich höhere Bandbreiten (bis zu 2Mbps) erreicht. Das Abrechnungsmodell erlaubt sowohl Zeit als auch volumenabhängige Abrechnung. • Die UMTS-Netze befinden sich zurzeit in Planung und die zugehörigen Endgeräte in der Entwicklung.

1.5.2

Drahtlose LAN-Techniken

● Wireless Local Area Network (WLAN) ermöglicht eine punktuelle, drahtlose, räumlich beschränkte Anbindung von Endgeräten an ein Netz, mittels eines Access Points oder einer Gegenstelle. • Die Maximale Übertragungsrate liegt bei etwa 11Mbps, für alle gleichzeitig nutzenden Endgeräte zusammen. • Für den Betrieb eines Access Points ist keine Frequenzlizenz erforderlich. Beim Wechseln zwischen zwei WLANs bricht die Verbindung ab. Am Roaming zwischen WLANs wird gearbeitet. Der zum Einsatz kommende Standard heißt Mobile IP. Dieser erlaubt mobilen Geräten, welche innerhalb eines Netzwerkes fest zugeordnete IP-Adressen besitzen, verbunden zu bleiben, auch wenn das Netzwerk gewechselt wird. • Problematisch bei WLANs ist, dass das Sendefeld des Access Points auch außerhalb der Hoheitsgewalt des Betreibers empfangen werden kann. Daher ist beim Einsatz von WLANs auf Verschlüsselung und Zugangskontrolle zu achten.

1.5.3

Drahtlose Nahbereichstechniken

● Infrared Data Association (IrDA) ist ein auf infrarotlicht basierendes, bidirektionales, drahtloses Übertragungsverfahren, dass Sichtkontakt zwischen den Kommunikationspartnern voraussetzt. • Die Reichweite ist auf wenige Meter begrenzt. • Die maximale Übertragungsrate für IrDa ist 115 kbps. ● Bluetooth ist ein funkbasiertes, bidirektionales Datenübertragungsverfahren für den Nahbereich. • Innerhalb der Reichweite von etwa 10 Metern, können Geräte miteinander Daten austauschen, ohne dass ein Sichtkontakt bestehen muss. • Im Gegensatz zu IrDa können mehrere Geräte gleichzeitig interagieren. • Über die Bindung von einzelnen Geräten an einander kann man ad hoc ein persönliches Netzwerk aufbauen. • Bluetooth bietet eine maximale Übertragungsrate von 1 Mbps.

1.6

Informationen im Internet

1.6.1

Das World Wide Web

Die Möglichkeiten, die sich aus der Verbindung von Rechnern ergeben, wurden zuerst im militärischen und wissenschaftlichen Umfeld eingesetzt. Erst mit der Entwicklung von Programmen, die einen einfachen und unmittelbaren Zugang zu einer Vielfalt miteinander verknüpfter Informationen erlaubte, wurde das Netzwerk in seiner Form des „World Wide Web“ zu einem Massenmedium. Die Gesamtheit der weltweit miteinander verbundenen Rechner, die über das TCP/IP-Protokoll (siehe Abschnitt 1.4) Daten austauschen, bildet das Internet. ● Wichtiger Bestandteil des TCP/IP-Protokolls ist die Kennzeichnung von Empfänger und Absender durch weltweit eindeutige Nummern, den IP-Adressen. Zur Vereinfachung für den Benutzer werden

30

1 Universalrechensysteme und Netze diesen Nummern Domain-Namen zugeordnet. Der so genannte Domain Name Service (DNS) übersetzt die Namen in die zugehörige IP-Adresse. ■ Bei Eingabe eines Namens fragt der Browser beim lokalen Internet-Router an, ob der Name,

bspw. www.wiwi.uni-frankfurt.de, in eine Adresse umgewandelt werden kann. Kennt der lokale Router den Namen nicht, werden solange Anfragen vom lokalen an übergeordnete Router gestellt, bis die Adresse, in diesem Fall 141.2.67.251, aufgelöst werden kann oder endgültig nicht auffindbar ist. Domain-Namen sind folgendermaßen aufgebaut: RECHNERNAME.UNTERNETZ.NETZ.HAUPTNETZ Dabei bezeichnet RECHNERNAME den eigentlichen Rechner, UNTERNETZ eine Untergliederung von NETZ, HAUPTNETZ eine globale Einteilung aller angeschlossenen Teilnetze. Je nach Größe (Anzahl der Rechner) von NETZ kann das UNTERNETZ auch entfallen bzw. noch weiter untergliedert werden. ■ Die Adresse pc42.th.physik.uni-frankfurt.de bedeutet:

pc42 th physik uni-frankfurt de

Rechnername Unterunternetz Unternetz Netz Hauptnetz

● Die Hauptnetze (Top-Level-Domains) unterscheiden zwischen Netzen in verschiedenen Ländern

und (historisch bedingt) Organisationen in den USA. An der Top-Level-Domain kann man häufig den groben geographischen Standort eines Rechners ablesen: Top-Level-Domain de fr uk jp edu gov com int info biz

Bedeutung Deutschland Frankreich Großbritannien Japan Hochschule/Forschungseinrichtung in den USA US-Regierung Firmen (auch weltweit) internationale staatliche Organisationen keine Einschränkungen Firmen (auch weltweit)

▲ Die Rechnerkommunikation auf den Schichten des TCP/IP-Protokolls (siehe Abschnitt 1.4) bleibt

für den Anwender i. d. R. unsichtbar. Er ist an der Nutzung spezieller Netzwerk-Anwendungen (Internet-Dienste) interessiert, die auf der höher gelegenen Anwendungsschicht aufsetzen. ■

Wichtige Internet-Dienste sind: E-Mail, File Transfer, Terminal Emulation mittels Telnet (siehe Abschnitt 1.6.4)

▲ Mit der Zunahme der im Internet auf vielen Rechnern verfügbaren Informationen wurde es zunehmend schwierig, gezielt bestimmte Daten zu finden. Daher wurde am europäischen Kernforschungszentrum CERN ein bahnbrechendes System entwickelt, das die Integration verschiedenster Dokumente mit beliebigen Querverweisen gestattete: das World Wide Web (WWW).

1.6 Informationen im Internet

31

● Kernelemente des WWW sind: 1. ein Protokoll zur Formatierung und Übertragung verschiedenartigster Daten (wie Text, Bilder, Sound) von einem Server (dem WWW-Server) zum Rechner des Anwenders (das Hypertext Transfer Protocol, kurz HTTP), 2. eine Sprache zur Beschreibung des Inhalts eines Dokuments einschließlich vorhandener Querbezüge zu anderen Dokumenten, die Hypertext Markup Language, kurz HTML (siehe Abschnitt „HTML“), 3. ein Programm zum Anzeigen von HTML-Dokumenten und zum einfachen Verfolgen von Querverweisen, auch zu Dokumenten auf völlig anderen Rechnern, dem Browser (siehe Abschnitt 1.6.3). ▲ Sowohl die Protokolle und Methoden als auch die notwendigen konkreten Programme wurden vom CERN und anderen wissenschaftlichen Instituten entwickelt und frei der Allgemeinheit zur Verfügung gestellt. Sie fanden schnell weltweite Verbreitung und lösten damit den gegenwärtigen Internet-Boom aus. ▲ Mit der rasanten Entwicklung des WWW entstanden auch völlig neue Anwendungsfelder. Insbesondere wird es zunehmend zu kommerziellen Zwecken, wie dem Vertrieb von Software und Dienstleistungen aller Art inklusiver finanzieller Transaktionen genutzt. Dies erfordert die Entwicklung neuer Methoden, wie z. B. Verschlüsselungs- und Abrechnungsmechanismen - was von der ursprünglichen, auf freie Informationsausbreitung bedachten Internetgemeinde misstrauisch beäugt wird. ● Intranets sind geschlossenen Netzwerke auf der Basis von TCP/IP und den darauf aufsetzenden Protokollen und Diensten. Der Aufbau von Intranets ist insbesondere aus Gründen der Integration mit den Diensten im öffentlichen Intranet attraktiv, sodass Anwender beide Netze mit der gleichen Oberfläche nutzen können. Häufig bieten z. B. Firmen interne Handbücher, Rundbriefe, Adressverzeichnisse, Organisationsrichtlinien und nicht-öffentliche Teilekataloge in Intranets an. Bestehen Schnittstellen zwischen einem geschlossenen Netzwerk und dem Internet, so werden häufig so genannte Firewalls (siehe Abschnitt 7.5) implementiert. Diese schotten die innere Sicherheitszone vom öffentlichen Netz ab, indem sie alle ein- und ausgehenden Datenpakete kontrollieren und unbefugten Paketen den Durchgang verweigern. ● Wenn Außenstehende ein Zugriffsrecht auf ein Intranet besitzen, spricht man von einem Extranet. Eine verbreitete Technik sind so genannte Virtual Private Networks (siehe Abschnitt 7.5), in welchen Informationen vom Übergang vom privaten LAN in das öffentliche Netz (genauer: in der Firewall) verschlüsselt und beim Eintreffen am Empfangspunkt entsprechend decodiert werden. Darüber hinaus kann diese Technik auch in Intranets zum Einsatz kommen.

1.6.2

HTML

HTML (Hypertext Markup Language), die Sprache des WWW, dient zur Beschreibung der Struktur eines Dokuments, erlaubt die Verknüpfung von Dokumenten aller Art mittels Hyperlinks und das Einbinden vielfältiger multimedialer Elemente. ● Grundprinzip von HTML ist die Trennung von Struktur und Layout: HTML dient zur Beschreibung von Inhalt und logischer Struktur eines Dokuments. Die genaue Darstellung (Wahl der Fonts, Zeilenabstände etc.) wird grundsätzlich dem Browser überlassen. ▲ Der Wunsch nach genauerer Festlegung des Layouts führte zunehmend zu HTML-Erweiterungen, die dieses Prinzip durchbrachen. Mit der HTML-Version 4.0 wurden alle die Darstellung betreffenden Elemente entfernt. Zur Festlegung des Layouts dienen nun besondere Sprachelemente bzw. Beschreibungsdateien, die Style Sheets. Übergangsweise gibt es eine HTML-Version (4.0 Transitional), die zusätzlich noch die meisten der früheren Elemente unterstützt.

32

1 Universalrechensysteme und Netze

▲ HTML-Seiten bestehen aus reinen Texten und können mit beliebigen Editoren erstellt werden. Es gibt aber auch grafische HTML-Editoren, die ähnlich wie ein Textverarbeitungsprogramm arbeiten und den eigentlichen HTML-Code selbständig erzeugen. ● Eine HTML-Seite besteht aus dem eigentlichen Text, in den HTML-Elemente (Tags) zur Beschreibung der Struktur eingebettet sind. ● Der Text kann aus allen Zeichen des internationalen Unicode-Zeichensatzes bestehen. In der Regel wird man sich aber auf eine Teilmenge beschränken (z. B. den Latin-1-Zeichensatz mit den meisten westeuropäischen Umlauten oder sogar nur ASCII), wie sie etwa durch die eigene Tastatur nahegelegt wird. Zusätzliche Zeichen (Umlaute, spezielle Sonderzeichen) können dann durch einen numerischen Code als &#NNN; oder einen besonderen Namen in der Form &NAME; eingegeben werden. Sonderzeichen

HTML-Bezeichnung

ÄÖÜ äöüß æåé &"

Ä Ö Ü ä ö ü ß æ å é < > & "

● Zeilenumbrüche und zusätzliche Leerzeichen werden vom WWW-Browser ignoriert. Die Zeilen werden – wie in Textverarbeitungsprogrammen – automatisch umgebrochen. ● HTML-Tags weisen einem Text ein bestimmtes strukturelles Element zu. Sie werden in spitze Klammern eingeschlossen und umschließen i. d. R. den Text in der Form text text text Der Tag-Name kann klein oder groß geschrieben werden. Element Einleitung Beachte: Aij

Bedeutung Hauptüberschrift betonter Text tiefergestellter Text

● Bei einigen Elementen ist das Endtag überflüssig und kann entfallen. Element Bedeutung

Absatz

  • Element einer Liste ● Manche Elemente haben keinen Inhaltstext, auch bei ihnen entfällt das Endtag. Element Bedeutung
    neue Zeile

    horizontale Linie ● Tags können zusätzliche Eigenschaften (Attribute) haben, denen i. d. R. Werte zugewiesen werden. Sie werden angegeben als



    Das IMG-Tag fügt in den Text das durch das Attribut src bezeichnetet Bild ein. Das Attribut alt enthält einen Text, der statt des Bildes angezeigt werden kann (z. B. bei reinen Textbrowsern). ● HTML-Dokumente können Kommentare enthalten, die vom Browser nicht angezeigt werden. Sie werden in eingeschlossen.

    1.6 Informationen im Internet

    33

    ■ ● Eine HTML-Seite besteht aus einem Kopfteil (Header), der den Titel der Seite und zusätzliche Angaben (Author, Stichworte für Suchmaschinen etc.) enthalten kann, und dem Hauptteil (Body) mit dem gesamten sichtbaren Inhalt. Beide Teile werden vom -Tag umschlossen: Der Titel des Dokuments Der Inhalt des Dokuments ▲ Der Titel wird i. d. R. vom Browser in der Titelzeile des Fensters angezeigt. ■ Die folgenden Tabelle zeigt die wichtigsten HTML-Tags zur Strukturierung von Texten. Die Spalte „Darstellung“ gibt an, wie die entsprechenden Elemente im Browser typischerweise dargestellt werden. Tag

    Bedeutung

    Darstellung

    Haupt-Überschrift . . . Unter-Überschriften

    Absatz
    Zeilenumbruch

      Aufzählungsliste
    • Listenelement



      eigener Absatz, sehr großer Font, fett eigener Absatz, großer Font, fett neue Zeile, größerer Zeilenabstand neue Zeile eigener Absatz, eingerückt eigene Zeile pro Element, beginnt mit Spiegelstrich (Kreis, Quadrat etc.) nummerierte Liste wie
        , aber Elemente werden durchnummeriert vorformatierter Text nicht-proportionaler Font, Zeilenumbrüche und Leerzeichen werden beibehalten betonter Text schräggestellt stark betonter Text fett

        ▲ Listen können beliebig geschachtelt werden. ● Verweise (Links) auf andere Dokumente werden mit dem -Tag gekennzeichnet: Verweistext Dabei gibt URL das Ziel des Links an, Verweistext den Text im Dokument, der als Link gekennzeichnet ist. ■ URL kann direkt eine Datei bezeichnen (../inhalt.html) oder eine beliebige WWW-Adresse (http://..., ftp://... ). ▲ Browser zeigen den Linktext meistens unterstrichen und in einer anderen Farbe an. Wurde der Link bereits verfolgt, wird der Linktext in einer anderen Farbe dargestellt. ▲ Anstelle des Verweistextes kann auch ein Bild stehen. Browser zeigen einen solchen Link durch einen farbigen Rahmen um das Bild an oder durch eine Änderung des Mauszeigers, etwa in eine Hand. ● Grafiken können direkt in den Text eingebunden werden mit dem Tag

        ▲ Von den zahlreichen verbreiteten Bildformaten unterstützen alle gängigen Browser zumindest GIF und JPEG. Andere Formate erfordern ggf. Plugins zur Darstellung.

        34

        1 Universalrechensysteme und Netze

        ▲ Die Möglichkeit (z. B. bei GIF-Bildern), eine Farbe als „transparent“ zu kennzeichnen, ermöglicht eine nahtlose Einfügung von nicht-rechteckigen Bildern. ▲ So lange noch keine verbreitete Möglichkeit zur direkten Darstellung mathematischer Formeln in einem HTML-Dokument besteht, kann man sie (z. B. mithilfe von LATEX, einem speziellen Textverarbeitungsprogramm) als GIF-Bilder mit transparentem Hintergrund einfügen. ▲ Das GIF-Format erlaubt, mehrere Bilder zu einer kleinen Animation in einer GIF-Datei zusammenzufügen (animated GIF). Solche Animationen werden genau wie einfache GIF-Dateien mit dem IMG-Tag eingebunden. ● In eine HTML-Seite können in Java geschriebene Programme (Applets) eingebunden werden mit dem Tag Der Browser weist dem Applet, ähnlich wie einer Grafik, einen rechteckigen Bereich der Breite WWW und Höhe HHH in Pixeln zu, der zur Programmaus- und eingabe dient. ▲ Java-Applets müssen compiliert werden. Der compilierte Code liegt in einer Datei, die normalerweise die Endung .class trägt. ▲ Die folgende Tabelle führt einige weiterführenden Möglichkeiten von HTML auf. Zu deren genaueren Beschreibung sei auf die umfangreiche Literatur bzw. die vielen im WWW verfügbaren Kurse verwiesen (s. etwa http://www.teamone.de/selfaktuell/). Element Tabelle Imagemap Frame Style Sheet Formular JavaScript

        1.6.3

        Funktion Darstellung von Elementen in Zeilen und Spalten Links, die mit ausgewählten Bereichen einer Grafik verknüpft sind Aufteilung einer Seite in Teilseiten Spezifikation des Layouts Komponenten zur Eingabe von Daten Scriptsprache für dynamische HTML-Seiten

        Browser

        ▲ Der erste grafische Browser, mit dem nicht nur das Anzeigen von Texten, sondern auch von Bildern, ermöglicht wird, war das Programm Mosaic, das am amerikanischen Supercomputer-Zentrum NCSA entwickelt worden war. Aufgrund seiner leichten Bedienbarkeit verbreitete er sich schnell und ermöglichte damit den Durchbruch des WWW zur Massenanwendung. ▲ Die derzeit am weitesten verbreiteten Browser sind der Netscape Navigator der Firma Netscape und der Internet Explorer von Microsoft. Beide sind grafische Browser, welche zusätzlich MultimediaInformationen, wie Sounds und Videos, wiedergeben können. Hierzu werden jedoch bei einigen Dateiformaten so genannte Plugins benötigt, welche kleine Softwareprogramme sind, die schon bestehende Anwendungen um bestimmte Zusatzleistungen erweitern. Während der Internet Explorer hauptsächlich auf Windows-Plattformen verbreitet ist und erst seit kurzem auch für andere Betriebssysteme portiert wird, ist der Netscape Navigator auf allen verbreiteten Systemen verfügbar. ▲ Infolge des Konkurrenzkampfes wurden beide Programme mit immer mehr Funktionen ausgestattet und sind heute Universal-Programme für Netzanwendungen geworden. ■ Einige Zusatzfunktionen des Navigators bzw. des Internet Explorers: Verwaltung von Email und News, grafischer Editor zum Erstellen von HTML-Dokumenten, netzwerkfähiger Terminkalender, OnlineVideokonferenzsystem.

        1.6 Informationen im Internet

        35

        ▲ Beide Browser führten jeweils verschiedene Erweiterungen des HTML-Standards ein, die ein genaueres Layout oder sich dynamisch ändernde HTML-Seiten ermöglichen sollen. Damit sind HTML-Seiten entstanden, die sich nur noch mit dem Browser einer Firma ansehen lassen – ganz im Gegensatz zur Idee des WWW. ▲ Der HTML-Standard 4.0 integriert viele der neuen Funktionen in hersteller-übergreifender Weise. Allerdings wird er noch nicht vollständig von den Browsern unterstützt. ▲ Ein Sonderfall ist der frei erhältliche Browser Lynx, der ohne grafische Oberfläche auf Textbasis arbeitet. Er ist damit für einfache Terminals oder - etwa mit einer Braille-Zeile oder einer Vorlesefunktion für Blinde geeignet. Die zunehmende Multimedia-Orientierung im WWW schränkt seinen Nutzen aber sehr ein.

        1.6.4

        Nutzung der Internet-Dienste

        a) WWW Eine URL (Uniform Resource Locator) ist die eindeutige Bezeichnung eines Dokuments innerhalb des Internets. ● Eine URL hat folgende Form: PROTOKOLL://RECHNERNAME/LOKALER_NAME wobei PROTOKOLL das Verfahren zur Übertragung des Dokuments angibt, RECHNERNAME der Domainname des Servers ist, der das Dokument bereithält, und LOKALER_NAME Informationen über den Ort des Dokuments auf dem Server enthält. ■ http://www.harri-deutsch.de/verlag/titel/stoecker/s_1573.htm

        ▲ LOKALER_NAME ist im einfachsten Fall ein Verzeichnispfad zum gesuchten Dokument auf dem Server, kann aber vom Server auch anders interpretiert werden. Der letzte Teil ist meistens ein Dateiname (s_1573.html). Wird er weggelassen, sucht der Server i. d. R. nach einer Datei index.html oder index.htm an der entsprechenden Stelle. ▲ http ist das Protokoll zur Übertragung von HTML-Dokumenten (WWW-Seiten). Andere Protokolle dienen hauptsächlich zur Integration weiterer Internet-Dienste. ● Wesentliche Funktion des Browsers ist die formatierte Darstellung von HTML-Dokumenten. Querverweise zu anderen Dokumenten (Hyperlinks oder einfach Links) werden besonders gekennzeichnet (z. B. farblich oder durch Unterstreichung). Durch einfaches Anklicken eines Links wird die entsprechende Seite geladen und angezeigt. ▲ Browser bieten die Möglichlichkeit, zum letzten Dokument, meist auch zu allen bisherigen Dokumenten, zurückzugehen. ▲ Eine URL kann auch direkt als Text angegeben werden. Darüber hinaus kann man eine Liste interessierender Seiten anlegen (Bookmarks, Favoriten) und in hierarchischer Form gliedern. Als Homepage wird die Einstiegsseite zu den WWW-Seiten einer Institution, Firma oder Person bezeichnet. ▲ Eine gut gepflegte Liste von Bookmarks ist eine wesentliche Orientierungshilfe im unüberschaubaren Informationsangebot des WWW. Dabei empfiehlt es sich, auch Verweise auf übergeordnete Seiten wie Homepages aufzunehmen, da diese sich erfahrungsgemäß nicht so häufig ändern wie einzelne untergeordnete Seiten. ● WWW-Dokumente können auch multimediale Elemente enthalten. ■ Bilder, Sprache und Musik, Filme und Animationen, 3-D-Darstellungen, eingebettete Programme (Applets).

        36

        1 Universalrechensysteme und Netze

        ● Multimedia-Elemente sind mit Typ-Informationen (MIME-Typ) versehen, anhand derer der Browser entscheidet, wie er sie darstellen soll. Dabei hat er drei Möglichkeiten: 1. Er kann sie selber direkt im Dokument anzeigen (einige Bildformate). 2. Er kann sie mithilfe besonderer Erweiterungsmodule (Plugins) innerhalb des Dokuments anzeigen. 3. Er ruft externe Programme auf, die sie in einem eigenen Fenster darstellen. ▲ Plugins für die verbreiteten Browser werden von anderen Firmen – meist für die von ihnen entwickelten Formate – zur Verfügung gestellt. Für die häufigsten MIME-Typen werden die benötigten Plugins direkt mit den Browsern mitgeliefert. ▲ Die Verwendung von Formaten, die Plugins benötigen, schränken den Leserkreis einer Seite ein, da sie evtl. beim Benutzer nicht installiert sind oder für das verwendete Betriebssystem bzw. den benutzten Browser nicht zur Verfügung stehen. ■ Für die folgenden Formate sind Plugins weit verbreitet: Format Wave MIDI Quicktime RealAudio, RealVideo VRML PDF

        Beschreibung Audio-Clips Musikstücke Videos, Animationen Ton-, Filmübertragung in Echtzeit dreidimensionale Darstellungen strukturierte Text-Dokumente

        ● Um den Netzwerkverkehr und die Ladezeiten zum Betrachten eines Dokuments zu verringern, werden bereits geladene Seiten in Zwischenspeichern (Caches) aufbewahrt und bei Bedarf direkt von dort geholt. Dabei werden i. d. R. drei verschieden große Cache-Stufen benutzt: • im Hauptspeicher (Speicher-Cache) • auf der Festplatte (Disk-Cache) • auf externen Rechnern (Proxy-Cache) ▲ Proxy-Caches werden auf Maschinen des Providers eingerichtet (an Unis an den Rechenzentren), um Kopien häufig gelesener Seiten lokal vorzuhalten. Sie bilden untereinander ein Netzwerk, das eine irgendwo zwischengespeicherte Seite möglichst schnell heranschaffen soll. ▲ Bei Änderungen an bestehenden Seiten enthalten Proxies u. U. veraltete Versionen. Seiten mit häufigen Änderungen können ein Verfallsdatum angeben, nach dem sie neu vom Original-Server geholt werden sollen. Außerdem kann man den Browser anweisen, eine geladene Seite ohne Cache-Verwendung zu holen (bei Netscape z. B. mit -Reload).

        b) Email Eine Email dient dem Versenden von elektronischer Post. Dies gehört zu den ältesten und verbreitetsten Internet-Diensten. ● Eine Email hat neben dem Inhalt auch einen Header mit zusätzlichen Informationen. Der Header besteht aus mehreren Zeilen, die jeweils mit einem Schlüsselwort beginnen. Schlüsselwort To: From: Reply-To: Subject: Date:

        Bedeutung Adresse Absender Antwort-Adresse (u. U. verschieden von From:) einzeilige Kurzbeschreibung, Betreff Datum und Uhrzeit des Versendens

        1.6 Informationen im Internet

        37

        ● Wichtiger Bestandteil einer Email ist die Adresse. Sie hat die Form NAME@DOMAINNAME Dabei weist NAME auf die Person des Empfängers, DOMAINNAME auf den Rechner, der die Mail empfängt. ■ [email protected]

        ▲ Das To:-Feld einer Mail kann auch mehrere, z. B. durch Kommata getrennte Adressen enthalten. Eine Mailingliste bezeichnet die Mailadresse, die einer ganzen Gruppe von Personen zugeordnet ist. Jede Mail an eine Mailingliste geht an alle Mitglieder. Mailinglisten werden vom Mailadministrator einer Domain (Postmaster) verwaltet. ▲ Eine Mailingliste ist ein (privater) Diskussionskreis. Viele Mailinglisten sind aber öffentlich, d. h. jeder kann durch eine einfache Mail automatisch Mitglied werden. ▲ Es gibt kein weltweites Email-Verzeichnis. Man findet zumindest die Adresse von Personen, von denen man Email bekommen hat oder News-Artikel liest, im Header. Email-Adressen von Uni-Angehörigen sind meistens unter der Homepage ihres Instituts zu finden. ● Der Inhalt einer Email besteht im einfachsten Fall aus einem ASCII-Text. Um auch andere Formate (Texte mit Umlauten, HTML-Texte, Bilder etc.) übertragen zu können, werden sie mit einem entsprechenden MIME-Typ gekennzeichnet. Darüber hinaus können einer Email noch beliebige weitere Dateien angehängt werden (Attachments). ▲ Weit verbreitet ist die Konvention, am Ende des Textes eine explizite Absender-Angabe unterzubringen (Signature). Sie enthält neben der Adresse oft noch die URL der Homepage oder die Telefonnummer. ● Neben den eigentlichen Empfängern kann man eine Email auch als Kopie nachrichtlich an weitere Personen senden. Dazu ist das Header-Feld CC: (Carbon Copy) vorgesehen. ▲ Alle Empfänger einer Mail sehen im Header die vollständigen To- und CC-Listen. ● Das Header-Feld BCC (Blind Carbon Copy) dient, wie CC, zum Versenden von Kopien einer Email. Im Gegensatz zu CC sind die Empfänger einer BCC-Nachricht für die anderen Empfänger nicht zu sehen. ▲ Damit Emails zugestellt werden können, sollte der Mailserver einer Domain ständig mit dem Internet verbunden sein. Die Empfänger dagegen holen sich ihre Mails nach Bedarf vom Mailserver. ● Das Simple Mail Transfer Protocol (SMTP) ist für die Übertragung der E-Mails vom Client des Senders zum Mailserver und für den Transport zwischen den einzelnen Mailservern verantwortlich. Für den Transport vom Mailserver zum Client des Empfängers gibt es zwei verschiedene Verfahren (Protokolle): Post Office Protocol (POP) Mails werden vom Server zum Empfänger kopiert und auf dem Server gelöscht. Internet Message Access Protocol (IMAP) Mails können zusätzlich auf dem Mailserver gespeichert und organisiert werden. ▲ Zum Empfangen, Verschicken und Organisieren von Emails gibt es eine Reihe von Programmen mit einer Vielzahl an Funktionen. ■ Wichtige Zusatz-Funktionen von Mailprogrammen: • Organisieren von Mails in Foldern (Verzeichnissen) • Verwalten von Adressen • Reply-Funktion: auf eine empfangene Mail antworten • Forward-Funktion: eine eingegangene Mail weiterschicken ▲ Die Vertraulichkeit einer Email ist grundsätzlich nicht gewährleistet: Sowohl der Inhalt als auch Absender oder Empfänger einer Email können prinzipiell gelesen und geändert werden. Daher wurden

        38

        1 Universalrechensysteme und Netze Verfahren entwickelt, um die Richtigkeit des Absenders (Authentisierung) und des Inhalts (Integrität) einer Email zu gewährleisten. Sie basieren auf mehrstufigen Verschlüsselungsverfahren.

        c) Newsgruppen Newsgruppen sind Diskussionsgruppen, in denen ähnlich zu schwarzen Brettern alle Beiträge für alle Leser einer Gruppe sichtbar sind. ● Die mehr als 10 000 Newsgruppen sind nach ihrem Thema in Hierarchien eingeordnet und benannt. ■ de.comp.os.linux

        deutsche Gruppe. Computer. Betriebssysteme (operating systems). Linux ■ sci.math.research

        Wissenschaft (science). Mathematik. Forschung ■ Einige wichtige Hauptkategorien: Kürzel alt comp de news rec sci soc

        Bedeutung alternative Gruppen (weit gestreut) Computer deutsche Gruppen Informationen über Newsgruppen Hobbies (recreations) Wissenschaften soziale Themen

        ● Neue Newsgruppen entstehen, wenn sich genügend viele Interessenten finden. Der genaue Prozess besteht in einem formalisierten Abstimmungsverfahren. ▲ Viele Newsgruppen werden weltweit im ganzen Internet verbreitet, andere nur innerhalb eines Landes oder einer Domain (etwa einer Universität). ● Es gibt moderierte Gruppen, in denen die Beiträge von einer Person, dem Moderator, vor der Veröffentlichung geprüft werden (auf Zugehörigkeit zum Thema der Gruppe, auf Relevanz, etc., je nach Gruppe). In unmoderierten Gruppen werden dagegen alle Beiträge, die Benutzer abgeschickt (geposted) haben, weiterverbreitet. ● Artikel in Newsgruppen werden von einem zentralen Server (Newsserver) einer Domain bezogen und zwischengespeichert. Aufgrund der ungeheuren Datenflut werden sie nach einer bestimmten Zeit (einige Tagen bis Wochen) auf dem Server wieder gelöscht. Ein Newsreader ist ein Programm, welches zum Lesen und Posten von News-Artikeln verwandt wird. ■ nn, tin, xrn, netscape ▲ Newsreader unterstützen verschiedene Aspekte der Arbeit mit News: • Organisieren von Newsgroups: Auswahl der Gruppen, die man lesen möchte (subscribe-Funktion), Anzeigen neuer Gruppen • Lesen von Artikeln: Sortieren von Artikeln nach Thema (Subject-Zeile), Anzeigen der Subject-Zeilen zur schnellen Übersicht, Markieren von Artikeln als gelesen /ungelesen • Schreiben von Artikeln: Posten in eine oder mehrere Gruppen, Email an den Autor eines Artikels. ▲ Häufig tauchen, vor allem von neuen Teilnehmern, immer wieder dieselben Fragen auf. Um ständige Wiederholungen zu vermeiden, werden in vielen Newsgruppen Listen mit den häufigsten Fragen und ihren Antworten (FAQ-Listen = Frequently Asked Questions) regelmäßig geposted.

        1.6 Informationen im Internet

        39

        ▲ Um ein friedliches Miteinander der Teilnehmer zu gewährleisten, haben sich gewisse Regeln eingebürgert (als Netiquette bezeichnet), die sich wohl von selbst verstehen dürften, z. B.: • Vorsicht mit Äußerungen über andere. • Benutze informative Subject-Zeilen. • Fasse dich kurz.

        d) Übertragung von Dateien ● Mithilfe von FTP (File Transfer Protocol) können Dateien zwischen Rechnern übertragen werden. ▲ FTP wird im WWW hauptsächlich für Datensammlungen (etwa Programm- oder Artikel-Archive) eingesetzt. ▲ Häufig werden bestimmte Datei-Formate zum Zusammenfassen und Komprimieren der Daten benutzt. ■ zip, tar.gz ● Mit einer entsprechenden URL kann man sich ganze Verzeichnisse ansehen oder einzelne Dateien direkt mit einem Browser auf den eigenen Rechner übertragen (downloaden). ■ ftp://ftp.zib.de/netlib/eispack Inhaltsverzeichnis von Eispack (Software zur numerischen Lösung von Eigenwertproblemen) ■ ftp://ftp.zib.de/netlib/eispack/archives/eispack-linux.tgz Komplette Bibliothek für Linux ▲ Spezielle FTP-Programme erlauben z. B. das Übertragen von ganzen Verzeichnissen. ▲ Auch alle im Browser angezeigten WWW-Seiten und die meisten Inhalte (Bilder, Applets) lassen sich direkt abspeichern.

        e) Telnet Telnet ist ein Protokoll zum Anmelden (Einloggen) und Arbeiten an einem entfernten Rechner, wobei ein einfaches Text-Terminal nachgebildet wird. ▲ Um sich auf einem entfernten Rechner einloggen zu können, benötigt man dort eine Zugangsberechtigung. Man identifiziert sich mit einem Usernamen und einem Passwort. ▲ Einige Internet-Dienste verwenden Telnet, wobei ein eingeschränkter Gast-Zugang zur Verfügung gestellt wird. ■ Online-Kataloge (OPACs) von Bibliotheken, etwa telnet://opac.tu-harburg.de ▲ Benutzt man eine solche URL in einem Browser, öffnet dieser ein Fenster mit einem Text-Terminal. Es gibt aber auch spezielle Telnet-Programme mit zusätzlichen Funktionen (z. B. Mitschreiben in einer Protokolldatei).

        f) Sonstige Internet-Dienste • Telefonieren über das Internet: Mithilfe spezieller Hard- und Software ist es möglich, das Internet als Medium zur Übertragung von Sprache zu nutzen. Die Qualität entspricht jedoch nicht der einer direkten Telefonverbindung, da das auch als Voice over IP (VoIP) bezeichnete Verfahren das RealTime Transport Protocol RTP, welches wiederum auf UDP (siehe Abschnitt 1.4) aufsetzt, benutzt. • Streaming: Streaming ist eine Technik, die es ermöglicht, Daten (insb. Multimedia-Daten) in einem Fluss (stream), wenn nötig auch live, zu übertragen. Der Vorteil liegt darin, dass das Abspielen, z. B. eines über das Internet aufgerufenen Filmes, schon gestartet werden kann, ohne den ganzen Film vorher übertragen zu müssen. Wie VoIP benutzt auch Streaming UDP und RTP.

        40

        1 Universalrechensysteme und Netze

        1.6.5

        Gezielte Informationssuche

        Wenn man sich durch einige der größeren WWW-Server klickt, findet man Informationen zu allen Lebenslagen, von den neuesten Nachrichten über die wichtigsten Baseball-Ergebnisse zum aktuellen Horoskop. Nebenher wird man mit ungezählten Werbebildern bombardiert. In diesem Wust gezielt Informationen zu finden, erfordert das Anwenden verschiedener Strategien, von denen die wichtigsten i. F. vorgestellt werden. ▲ Homepages von Firmen oder Organisationen kann man häufig direkt erraten. Muster www.FIRMA.com www.FIRMA.de www.NAME.org www.uni-STADT.de www.tu-STADT.de www.fh-STADT.de

        Gruppe Firmen (oft amerikanisch) deutsche Firmen (auch unter.com) Organisationen deutsche Hochschulen

        Beispiel www.compaq.com www.siemens.de www.linux.org www.uni-frankfurt.de www.tu-harburg.de www.fh-friedberg.de

        ▲ Zu vielen speziellen Themen gibt es besondere Link-Sammlungen. ■ Mehrere mathematische Institute in Deutschland stellen im Rahmen des MathNet-Projekts eine große Sammlung von Links zur Mathematik zusammen unter http://www.math-net.de/ ■ Die Computer-Zeitschrift c’t unterhält eine Seite, die Hilfe zur Selbsthilfe bei Problemen mit PCHardware oder -Programmen bietet: http://www.heise.de/ct/tipsundtricks/ ▲ Bücher findet man in den Online-Katalogen (OPACs) der Bibliotheken. ■ Die deutsche Zentralbibliothek für u. a. Mathematik und Physik ist die TIB/UB an der Uni Hannover. Man kann in ihren umfangreichen Beständen suchen unter telnet://opac.tib.uni-hannover.de ▲ Artikel, die in den News veröffentlicht wurden, werden seit 20 Jahren im Usenet gesammelt und sind auf dem Google Groups Server abrufbar: http://groups.google.com/ Hier kann man gezielt spezielle Gruppen nach Stichworten durchsuchen. ■ Suche nach dem Stichwort Strassen in der Gruppe sci.math.research liefert 6 Artikel, die sich alle mit dem Strassen-Algorithmus beschäftigen. Erweitert man die Suche auf alle Newsgruppen mit math im Namen (also *math*), erhält man 72 Antworten, von denen einige die Wahrscheinlichkeit diskutieren, mit gewissen „Strassen“ beim Monopoly zu gewinnen. Natürlich ändern sich diese Zahlen häufig. ▲ Zur Orientierungshilfe wurden von verschiedenen Firmen große WWW-Server installiert, die einen möglichst großen Teil des Internets absuchen und in teils verschiedener Weise zum Abruf bereitstellen. Diese Dienste werden durch Werbung finanziert. Ein Web-Katalog bezeichnet ein Suchsystem, bei dem die Informationen thematisch in Kategorien einsortiert werden. Dies geschieht i. Allg. manuell, d. h. durch Redakteure. Name Dino Yahoo!

        URL www.dino-online.de www.yahoo.com www.yahoo.de Web.de www.web.de

        Bemerkungen deutsche Seiten, entstanden an der Uni Göttingen i. W. angloamerikanisch, Klassiker Yahoo!-Ableger, deutschsprachige Inhalte deutschsprachige Inhalte

        1.6 Informationen im Internet

        41

        ▲ Web-Kataloge umfassen nur einen kleinen Teil des Internets, bieten dafür aber einen guten Überblick. Sie sind besonders nützlich für • einen Überblick zu einem Thema • weitgespannte Anfragen ■ Im Dino-Katalog finden wir unter „Wissenschaft“, Unterpunkt „Mathematik+Statistik“ z. B. eine Liste von mathematischen Instituten, die Homepage der Deutschen Mathematiker-Vereinigung oder eine spezielle Mathematik-Suchmaschine der FH Bochum. Eine Suchmaschine ist ein Suchsystem, das automatisch Bereiche des Internets absucht und eine große Datenbank mit Schlagwörtern anlegt. Suchen im Datenbestand geschehen über eine einfache Oberfläche oder eine kompliziertere Abfragespache. Name Google Altavista HotBot Fireball

        URL www.google.com www.altavista.com www.hotbot.com www.fireball.de

        Bemerkungen Klassiker erste GROSSE Suchmaschine deutsche Dokumente, Abfragesprache wie bei Altavista

        ▲ Suchmaschinen schaffen heute etwa 10 - 40 % des gesamten WWW-Bestandes. Sie besuchen eine Seite im Abstand von einigen Wochen, nicht selten sind daher Links im Datenbestand veraltet oder nicht mehr existent. ▲ Suchmaschinen eignen sich besonders für • Suchen nach Namen oder seltenen Begriffen • durch mehrere Bedingungen eingrenzbare Abfragen ▲ Einfache Suchen nach einem einzigen Schlagwort liefern oft eine Unzahl an Treffern. Wichtig ist die geschickte Eingrenzung mithilfe der Abfragesprache. ▲ Die Abfragesprachen der einzelnen Suchmaschinen unterscheiden sich. Für gezieltes effizientes Suchen sollte man sich mit den Abfragesprachen einiger großer Suchmaschinen vertraut machen. ■ Einige Elemente der Abfragesprache von Altavista: Syntax allesklein

        Bedeutung passt auf Klein- und Großbuchstaben, etwa allesklein, AllesKleiN kleinUndGroß passt nur auf genau die angegebene Form WORT1 WORT2... mindestens eins der Worte muss auftreten, sortiert wird nach Anzahl der Treffer "WORT1 WORT2" Der angegebene Text muss genau so auftreten (bis auf Klein/Großschreibung) +WORT1 +WORT2 -WORT3 WORT1 und WORT2 müssen auftreten, WORT3 darf nicht auftreten do*ument * als Platzhalter (Wildcard) für irgendwelche Zeichen, passt etwa auf document, dokument ■ Suche in Altavista: Suchbegriff Strassen +Strassen +matrix +Strassen +matrix +implementation

        Ergebnis 89540 Einträge, fast alle über (Auto-)Straßen 3100 Einträge 196 Einträge

        ▲ Kataloge und Suchmaschinen werden auch kombiniert. ■ Wird ein Suchbegriff in den Yahoo-Seiten nicht gefunden, kann er gleich an eine Suchmaschine weitergegeben werden.

        42

        1 Universalrechensysteme und Netze

        ▲ Mit der steigenden Zahl der Suchmaschinen und Kataloge – z. Zt. schon über 100 –, die alle nur einen Teil des Internets abdecken, wird selbst die Suche in Suchmaschinen recht aufwendig. Eine Meta-Suchmaschine ist ein Suchsystem, das eine Anfrage gleichzeitig an mehrere Suchmaschinen weitergibt, die innerhalb einer bestimmten Zeit angekommenen Antworten zusammenfasst und ggf. bewertet. ▲ Meta-Suchmaschinen erlauben nicht die volle Ausnutzung von Abfragesprachen der einzelnen Suchmaschinen. Bestenfalls haben sie eine eigene Syntax, die sie in die der jeweiligen Suchmaschine umsetzen. Name MetaCrawler Highway 61 MetaGer

        URL www.metacrawler.com www.highway61.com meta.rrzn.uni-hannover.de

        Bemerkungen eigene Eingabesyntax erlaubt Weitersuchen deutsche Suchmaschinen

        ▲ Ziel einer Suche sollte i. d. R. nicht nur sein, irgendein Dokument zu finden, sondern eine gute Einstiegsseite zum interessierenden Thema. Eine gut gepflegte Sammlung von URLs wird so im Lauf der Zeit die beste, individuelle „Suchmaschine“.

        2

        Programmierung und Programmiersprachen

        2.1

        Programmierung

        2.1.1

        Werkzeuge zur Programmentwicklung

        a) Compiler Ein Compiler ist ein Programm, das einen in einer Programmiersprache vorliegenden Text (Quellcode) in eine Abfolge von grundlegenden Befehlen übersetzt, die auf einem bestimmten Rechnertyp direkt ausgeführt werden kann (Maschinensprache, Objectcode). Die Ergebnisdatei ist ein ablauffähiges Programm (Executable). ■ Auf einem Linux-Rechner sind Compiler für alle gängigen Programmiersprachen kostenlos (im Rahmen des GNU-Projekts) verfügbar, etwa der cc für C und C++ oder der f77 für FORTRAN77. Für WindowsBetriebssysteme sind Compiler kommerziell erhältlich. Es gibt allerdings auch dort Versionen der GNUCompiler. ▲ Ein Executable ist nur auf einem Prozessor eines bestimmten Typs und auf einem Betriebssystemtyp ablauffähig. ▲ Ein Compiler erkennt Fehler im Programmtext, die sich auf die grammatikalischen Regeln einer Sprache beziehen, wie Schreibweise oder Anordnung von Befehlen oder richtige Verwendung von Variablen (Syntaxfehler). ▲ Ein weiterer Schritt beim Compilieren ist die Optimierung. Hier versucht der Compiler, den erzeugten Code so zu verändern, dass er schneller abläuft, ohne dass sich dabei die Ergebnisse der Berechnung ändern. Dazu führt er z. B. geschickt Zwischenergebnisse ein oder stellt die Reihenfolge von Befehlen um. ▲ Unabhängige Programmteile (Unterprogramme) können einzeln übersetzt werden. Das Zusammenfügen der Teile übernimmt dann ein spezielles Programm, der Linker oder Loader, der i. d. R. vom Compiler selbst aufgerufen wird. ▲ Häufig benutzte Unterprogramme fasst man zu Bibliotheken zusammen, aus denen der Linker die benötigten Routinen heraussucht und dem Programm hinzufügt. ■ Es gibt Bibliotheken mit Routinen zur Ein-/Ausgabe (read, write), für mathematische Operationen (sin, log) oder mit Grafikbefehlen (drawLine, setColor).

        b) Interpreter Ein Interpreter ist ein Programm, das in einer Textdatei enthaltene Kommandos einer Programmiersprache einliest (oft zeilenweise) und direkt ausführt. ■ Traditionell werden Programme in BASIC von einem Interpreter ausgeführt. In der stark erweiterten Form des Visual-BASIC hat es auch heute noch eine große Bedeutung. ■ Interpretersprachen haben weite Verbreitung im Bereich der Internet/WWW-Programmierung und der Gestaltung von grafischen Benutzeroberflächen. Zu den wichtigsten Sprachen gehören Javascript, Perl, Tcl/Tk.

        44

        2 Programmierung und Programmiersprachen

        ▲ Da der Compilierungsprozess wegfällt, sind Interpreter besonders nützlich in der frühen Phase einer Programmentwicklung, wenn sehr häufige Tests nötig sind (Rapid Prototyping). Außerdem sind die Programme ohne weitere Anpassung auf allen Rechnertypen ablauffähig (portabel). ▲ Interpreter sind wesentlich langsamer als compilierte Programme, da bei der Ausführung jeder einzelne Befehl neu übersetzt werden muss. Grundsätzlich können aber auch für Interpretersprachen Compiler geschrieben werden (etwa für Visual-BASIC), die das „endgültige“ Programm dann in Maschinencode übersetzen. ▲ Eine Zwitterstellung zwischen Compiler- und Interpretersprache nimmt Java ein. Java-Programme werden zunächst in einen maschinenunabhängigen Zwischencode (Bytecode) übersetzt, der dann von einem Interpreter ausgeführt wird. Damit hofft man, die Portabilität des Codes und eine hohe Geschwindigkeit zu vereinen. Inzwischen gibt es allerdings auch schon Compiler zur Übersetzung des Bytecodes.

        c) Debugger Ein Debugger ist ein Programm zur Untersuchung von Laufzeitfehlern eines anderen Programms. ▲ Ein Compiler entdeckt nur die Syntaxfehler in einem Programm, die entscheidenden Fehler werden erst beim Programmablauf sichtbar. ▲ Ein Debugger ermöglicht es, ein Programm schrittweise oder bis zum Auftreten bestimmter Bedingungen ablaufen zu lassen. Außerdem erlaubt er das Betrachten von Variableninhalten während des Ablaufs. ▲ Damit ein Debugger den Maschinencode und den Quellcode in Verbindung bringen kann, muss der Compiler Zusatzinformationen im Maschinencode unterbringen und darf keine Optimierungen vornehmen. Dafür sind spezielle Einstellung beim Übersetzungsschritt nötig. ■ Bei UNIX-Compilern wird dazu meistens die Option -g verwendet: cc -g meinprogramm.c

        d) Profiler Ein Profiler ist ein Programm, das Informationen über das zeitliche Verhalten eines Programms und seiner Teile ermittelt und darstellt. ▲ Insbesondere bei numerischen Anwendungen muss ein Programm nicht nur fehlerfrei, sondern auch möglichst schnell ablaufen. Ein Profiler hilft dabei, die Stellen zu finden, die bei der Ausführung besonders viel Zeit benötigen. ■ Ein Profiler liefert etwa folgende Daten: • Zahl der Aufrufe einer Routine • verbrauchte Zeit für einen bzw. für alle Aufrufe einer Routine • Zeitverhalten anderer Programmteile (meistens Schleifen) ▲ Typische Arbeitsweise eines Profilers: Zunächst fügt der Profiler (oder auch der Compiler) Messroutinen in den Code ein. Beim Programmablauf werden die Zeiten und anderen Daten ermittelt und in eine Datei geschrieben. Anschließend werden diese Daten ausgewertet und (oft grafisch) dargestellt. ▲ Grundsätzliches Problem: Die Messungen selbst benötigen auch Zeit! Gute Profiler können diese Zusatzzeiten (den Overhead) abschätzen und entsprechend korrigieren.

        e) Integrierte Entwicklungsumgebungen ▲ Zur Vereinfachung der Programmentwicklung gibt es, vor allem unter Windows-Betriebssystemen, spezielle Programme, die die häufig benötigten Werkzeuge unter einer grafischen Oberfläche zusammenfassen (integrierte Entwicklungsumgebungen).

        2.1 Programmierung

        45

        ■ Neben den Grundwerkzeugen Editor, Compiler, Linker, Debugger und Profiler sind oft noch Werkzeuge zur Verwaltung größerer, aus vielen Quelldateien bestehender Projekte vorhanden. Außerdem unterstützt der Editor i. d. R. die Syntax der Sprache und erlaubt ein gezieltes Aufsuchen und Vergleichen der verschiedenen Programm-Module (Code-Browser, Klassen-Browser). ▲ Unter UNIX wird zum Übersetzen größerer Programme das Tool make verwendet. Nach dem Erstellen einer Beschreibungsdatei (Makefile), die die benötigten Module und ihre Abhängigkeiten definiert, werden dann nur noch die Teile neu übersetzt, die sich seit dem letzten Lauf verändert haben. ▲ Noch weitergehende Unterstützung bei der Programmentwicklung bieten komponentenbasierte Umgebungen (z. B. Visual-BASIC oder Java Beans). Sie stellen fertige Module etwa für Oberflächenelemente oder für einen Datenbankzugriff zur Verfügung, die grafisch dargestellt werden und interaktiv zu größeren Programmen zusammengesetzt werden können. Im Extremfall können so rein grafisch – ohne einen eigenen Quellcode zu erstellen – komplexe Anwendungen zusammengestellt werden.

        2.1.2

        Programmiermethodik

        a) Strukturierte Programmierung Ein häufiger Gebrauch der goto-Anweisung zur Steuerung des Ablaufs, die einen Sprung an eine beliebige andere Stelle im Programm bewirkt, führt oft zu unverständlichem Programmtext („Spaghetti-Code“). Um verständlichere, leichter zu modifizierende Programme zu erhalten, wurden folgende Mechanismen eingeführt, welche unter dem Begriff der strukturierten Programmierung zusammengefasst werden: • Kontrollstrukturen, die die Benutzung des goto-Befehls überflüssig machen und den Programmablauf deutlich werden lassen, • Datenstrukturen, die den mit den Daten durchzuführenden Operationen entsprechen, • Techniken zur Zerlegung der Programme in kleine Einheiten („Unterprogramme“), die weitgehend unabhängig voneinander entwickelt werden können. ▲ Diese Ideen wurden konsequent in der Entwicklung der Programmiersprache PASCAL umgesetzt.

        b) Kontrollstrukturen Eine Anweisung ist die Grundeinheit der Programmausführung. ■ Einfache Anweisungen sind z. B.: • Zuweisung eines Wertes an eine Variable, • Ausführung von Basis-Operationen an Variablen, • Ausführung eines Unterprogramms, • Kombinationen davon. ▲ Was als „elementare“ Operation gewertet wird, hängt von der Programmiersprache ab, in Assembler etwa ist dies eine Addition von ganzen Zahlen, in Fortran eine Sinus-Berechnung, in SQL eine Datenbank-Abfrage. Ein Block ist eine Folge von Anweisungen, die als eine einzige Anweisung betrachtet wird. ▲ Ein Block wird in PASCAL durch BEGIN/END eingeschlossen, in C, C++ und Java durch { und }. Unter einer Bedingten Anweisung versteht man eine Anweisung, die nur bei Eintreten einer Bedingung ausgeführt wird. ● Grundsätzliche Form der bedingten Anweisung: if Bedingung then Anweisung1

        46

        2 Programmierung und Programmiersprachen else Anweisung2 Ist die Bedingung erfüllt, wird Anweisung1 ausgeführt, sonst Anweisung2.

        ▲ Der else-Zweig kann entfallen. Andererseits können durch Schachtelung von if/else-Anweisungen mehrfache Fallunterscheidungen dargestellt werden. ▲ Zur Vereinfachung solcher Fallunterscheidungen dient die Verzweigung, die die Auswahl unter einer Reihe von Optionen ermöglicht. Sie wird mit switch (C, C++, Java), case (PASCAL) oder select case (Fortran) eingeleitet. Eine Schleife bezeichnet die wiederholte Ausführung von Anweisungen solange, bis eine Abbruchbedingung erreicht ist. ▲ Wird die Abbruchbedingung zu Beginn der Schleife geprüft, spricht man von einer abweisenden oder while-Schleife, bei Prüfung am Ende der Schleife von einer nichtabweisenden oder repeat-Schleife. ▲ Die nichtabweisende Schleife wird immer mindestens einmal durchlaufen. ▲ Häufig benötigt man Schleifen, bei denen eine (ganzzahlige) Indexvariable einen festen Wertebereich durchläuft. Obwohl sich solche Schleifen leicht etwa mithilfe von while-Schleifen ausdrücken lassen, gibt es dafür eine spezielle Anweisung, die Laufanweisung, die auch als for- oder DO-Schleife bezeichnet wird.

        c) Datenstrukturen ▲ Ein wichtiges Prinzip der strukturierten Programmierung ist die Zuordnung von Variablen zu Datentypen. Ein Datentyp legt den Wertebereich einer Variablen fest und gibt zugleich an, welche Grundoperationen damit ausgeführt werden können. Einfache Datentypen sind die in einer Programmiersprache grundlegenden vordefinierten Datentypen, die vor allem zur Darstellung von Zahlen und Zeichen dienen. ▲ In den meisten Sprachen sind Datentypen für ganze Zahlen und für Fließkommazahlen vordefiniert, oft in verschiedenen Versionen für unterschiedliche Wertebereiche. Dazu kommen Typen für Zeichen (Buchstaben, Ziffern, Satzzeichen usw.) und für Wahrheitswerte (wahr/falsch). ■ In C gibt es drei Typen für ganze Zahlen (short, int, long), die zunehmend größere Zahlen aufnehmen können. Allerdings ist der genaue Wertebereich nicht festgelegt, sondern systemabhängig. ▲ Wahrheitswerte werden auch als logische oder boolesche Werte bezeichnet. Entsprechende Datentypen sind boolean (PASCAL, Java) oder logical (Fortran). In C gibt es keinen solchen Typ. Unter einem Feld (Array) versteht man einen Datentyp, der mehrere Elemente des gleichen Typs zusammenfasst, auf die mithilfe eines ganzzahligen Integerwertes zugegriffen werden kann. ▲ Die Elemente eines Feldes können auch von einem zusammengesetzten Typ (Struktur, Feld) sein. Handelt es sich insbesondere wieder um Felder, erhält man mehrdimensionale Felder. ▲ Ein- und mehrdimensionale Felder dienen vor allem bei numerischen Berechnungen zur Beschreibung mathematischer Vektoren und Matrizen, aber auch geometrischer Objekte wie regelmäßiger Gitter. ▲ Da Rechnungen mit Matrizen bei naturwissenschaftlichen und technischen Anwendungen sehr häufig sind, gibt es in Fortran viele Operationen zur direkten Bearbeitung von Matrizen. Darüber hinaus gibt es Programme, die interaktive Matrix-Berechnungen ermöglichen (z. B. Matlab). Als Zeichenkette (String) wird die Folge von Zeichen zur Abspeicherung von Texten bezeichnet. ▲ Zeichenketten sind i. d. R. einfache Felder von Zeichen. Allerdings sind sie durch besondere syntaktische Vereinfachungen ausgezeichnet, vor allem die Angabe von konstanten Strings in (einfachen oder doppelten) Hochkommata.

        2.1 Programmierung

        47

        ▲ In Java werden Zeichenketten als Objekte der Klasse String realisiert. Dabei ist die interne Struktur eines Strings irrelevant und für den Programmierer unsichtbar. ▲ In PASCAL und Fortran ist die Länge eines Strings fest. In C und C++ ist sie variabel; dort wird das Ende einer Zeichenkette durch ein besonderes Zeichen (’\0’) angezeigt. Als Struktur (Record) wird ein Datentyp zur Zusammenfassung von Elementen verschiedener Typen bezeichnet. ■ Eine Struktur könnte z. B. die in einer Datenbank gespeicherten Daten zu einer Person in einem Datentyp zusammenfassen, etwa den Namen als String, das Alter als Integer, die Namen der Kinder als Feld von Strings. ▲ Die einzige, generell vorkommende Operation mit einer Struktur ist der Zugriff auf die einzelnen Komponenten. Sie geschieht anders als beim Feld nicht durch einen Index, sondern durch einen Namen, der die jeweilige Komponente bezeichnet. ▲ In Java gibt es keinen eigenen Datentyp für Strukturen. Allerdings ist eine Klasse ohne Methoden, die also nur Datenfelder enthält, i. W. das gleiche wie eine Struktur. Der Zeiger (Pointer) bezeichnet einen Datentyp für Variablen, die auf den Speicherbereich anderer Variablen verweisen. Ihr Typ beinhaltet immer auch Information über den Datentyp, auf den gezeigt wird. ▲ Zeiger werden vor allem benötigt, um Datenstrukturen aufzubauen, deren Größe oder genaue Struktur erst bei Ablauf des Programms bekannt werden (s. dynamische Datenstrukturen). ■ Wichtige Operationen mit Zeigern sind: • Zeiger auf ein vorhandenes Objekt verweisen lassen, • Zeiger auf ein neu erzeugtes Objekt verweisen lassen, • Aufsuchen des Objekts, auf das ein Zeiger verweist. ▲ C und C++ erlauben weitere Operationen wie das Erhöhen eines Zeigers um eins oder die Bildung der Differenz von Zeigern (Zeigerarithmetik) und erlauben damit einen direkten Zugriff auf den Speicher. Dies ist z. B. für die Programmierung von Hardware-Schnittstellen wichtig. Auf der anderen Seite ist es eine der Hauptursachen für schwierig zu findende Programmierfehler.

        d) Unterprogramme Ein Unterprogramm ist ein Teilprogramm zur Bearbeitung einer abgegrenzten Teilaufgabe, das mehrmals innerhalb eines Programms verwendet („aufgerufen“) werden kann. ● Unterprogramme können geschachtelt werden (Unterunterunter. . . -Programme), wobei die erlaubte Schachtelungstiefe vom System (Betriebssystem und Compiler) abhängt. ● Zum Austausch von Informationen zwischen aufrufendem (Haupt-) und aufgerufenem Unterprogramm dient die Parameterliste, eine Liste von Variablen, denen bei jedem Aufruf eines Unterprogramms vom Hauptprogramm (ggf. unterschiedliche) Werte zugewiesen werden. ▲ Parameter können Informationen in drei Weisen weitergeben: 1. vom Haupt- zum Unterprogramm (Eingabedaten, das Unterprogramm liest), 2. vom Unter- zum Hauptprogramm (Ergebnisdaten, das Unterprogramm schreibt), 3. in beiden Richtungen (das Unterprogramm liest und schreibt). Je nach Informationsrichtung können Parameter in verschiedener Weise an Unterprogramme übergeben werden: Bei call-by-value werden Kopien der Parameterwerte an das Unterprogramm übergeben. Es kann die Werte im Hauptprogramm nicht ändern. Bei call-by-reference erhält das Unterprogramm Verweise auf die Parameter und kann somit Werte an das aufrufende Programm zurückgeben.

        48

        2 Programmierung und Programmiersprachen

        ▲ Es empfiehlt sich, für Eingabe-Parameter call-by-value, für gemischte und Ausgabe-Parameter callby-reference zu verwenden. Bei der Übergabe großer Datenmengen (Feld, große Struktur) wird man aber häufig auch für Eingabe-Parameter call-by-reference wählen, um das zeitraubende Kopieren der Daten zu vermeiden. Allerdings muss man dann darauf achten, dass das Unterprogramm die Daten nicht verändert. ▲ Nicht alle Programmiersprachen erlauben dem Programmierer, für jeden Parameter frei zwischen beiden Übergabe-Methoden zu wählen. ■ In Fortran werden alle Parameter als Referenzen übergeben. Allerdings kann man sie als EingabeParameter deklarieren, woraufhin der Compiler überprüft, dass sie im Unterprogramm nicht überschrieben werden. ■ In C wird nur call-by-value verwendet. Man kann jedoch auch einen Zeiger auf eine Variable übergeben, was effektiv call-by-reference entspricht. ● In Unterprogrammen können Variablen definiert werden (lokale Variablen), die außerhalb des Unterprogramms nicht zu sehen sind und nach dem Beenden des Unterprogramms keinen definierten Wert mehr haben. ▲ Es gibt in einigen Sprachen die Möglichkeit, Variablen in Unterprogrammen zu definieren, die ihren Wert zwischen verschiedenen Aufrufen eines Unterprogramms beibehalten (mit static in C, mit save in Fortran). Dies sind keine lokalen Variablen im eigentlichen Sinn, auch wenn sie lokal definiert sind. ▲ In den meisten Sprachen kann man globale Variablen definieren, auf die in allen Unterprogrammen direkt zugegriffen werden kann, ohne dass sie als Parameter übergeben wurden. Dies vereinfacht die Verbreitung von Information, die an vielen Stellen gebraucht wird. Es schafft aber auch schwer zu durchschauende Abhängigkeiten zwischen den Unterprogrammen. Eine Funktion ist ein Unterprogramm, das einen Rückgabewert besitzt, der direkt in Ausdrücken weiterverwendet werden kann. ■ Mithilfe der Funktion sin kann man, wie in der mathematischen Schreibweise, einfach sagen: a = 2*sin(x) + 3 statt mit einem Ausgabeparameter ergebnis schreiben zu müssen: sin(x, ergebnis) a = 2*ergebnis + 3 ▲ In C werden Unterprogramme immer als Funktionen definiert, die allerdings auch den speziellen Typ void (d. h. gar nichts) zurückgeben können. ▲ Die Verwendung einer Funktion erweckt leicht den Eindruck, dass ihr Aufruf neben der Berechnung des speziellen Wertes (wie bei mathematische Funktionen) keine Auswirkungen auf das Programm hat. Daher sollte man darauf achten, dass Funktionen nur Eingabe-Parameter haben und keine Nebeneffekte auslösen (etwa Ausgaben in eine Datei). Als rekursiv wird eine Funktion bezeichnet, die sich selbst aufruft. Dies kann auch indirekt geschehen (a ruft b, b ruft a). ▲ Damit keine unendliche Verschachtelung (und damit ein Programmabsturz) eintritt, muss eine rekursive Funktion ein Abbruchkriterium haben. ▲ Rekursive Funktionen sind besonders nützlich im Zusammenhang mit dynamischen Datenstrukturen. Gerade die üblichen Standard-Beispiele wie die Berechnung der Fakultät sind jedoch besser durch iterative Algorithmen zu lösen. ▲ Vor allem bei größeren Programmier-Projekten zeigten sich Schwächen der strukturierten Programmierung:

        2.1 Programmierung

        49

        • Unterprogramme sind oft nicht voneinander unabhängig, weil globale Daten, aber vor allem gemeinsame Datenstrukturen, Abhängigkeiten zwischen ihnen bewirken. • Die Vorgehensweise, ein Programm erst in Teilprobleme zu zerlegen, die später realisiert werden (Top-Down-Entwurf), erzeugt stark problemspezifische Funktionen, die in anderen Projekten nicht wiederverwendet werden können.

        e) Objektorientierte Programmierung ▲ Erfahrungen mit großen Programmprojekten führten zur Entwicklung neuer Programmiersprachen mit folgender Zielsetzung: • Zerlegung des Programms in überschaubare Einheiten mit klarer Schnittstelle („Objekte“) • Trennung von Schnittstelle und Implementierung • Wiederverwendbarkeit der Teile Als Objekt-orientierte Programmiersprache bezeichnet man diejenige Programmiersprache, die diese Ziele durch geeignete Sprachmittel möglichst weitgehend erzwingt. ■ Beispiele für objekt-orientierte Programmiersprachen sind: Smalltalk, Eiffel, C++, Java und Erweiterungen älterer Programmiersprachen (Object-PASCAL, Object-COBOL). ▲ Neue Sprachmittel und ein anderer Sprachgebrauch sind Ausdruck einer geänderten Denkweise beim Programmieren. Grundidee ist eine stärkere Orientierung an der „realen“ Welt: Ein Programm ist eine Ansammlung von in Wechselwirkung stehenden „Objekten“. ▲ Der Erfolg der Idee der Wiederverwendbarkeit zeigt sich im Entstehen von großen Bibliotheken mit Standardelementen (Klassenbibliotheken). ■ Java und Smalltalk haben fertige Elemente zur Programmierung von grafischen Bedienungsoberflächen. C++ beinhaltet eine Vielzahl von „abstrakten Datentypen“ wie Stack oder Menge. ● Die folgenden Grundprinzipien sind – bei unterschiedlicher Nomenklatur in den einzelnen Sprachen – für OOP charakteristisch: • Datenkapselung • Vererbung • Polymorphie

        f) Datenkapselung Die Klasse ist ein Datentyp, der Datenstrukturen und Routinen, welche diese manipulieren, zu einer Einheit zusammenfasst. Ein Objekt ist eine Variable eines Klassentyps; es hat einen Zustand (= Werte für die internen Datenstrukturen) und stellt Methoden (= Routinen, die das Objekt manipulieren) zur Verfügung. ▲ Neben diesen eher statischen (vom Programm ausgehenden) Definitionen existiert der dynamische Sprachgebrauch der OOP: Ein Objekt ist gegeben durch sein Verhalten (Zustand und Methoden); eine Klasse ist die Zusammenfassung von gleichartigen Objekten. ▲ Weiterer Sprachgebrauch: Ein Objekt schickt einem anderen eine Nachricht (= ruft eine Methode des Objekts auf). Unter einer Schnittstelle versteht man die Menge aller von außen (= von einem anderen Objekt aus) sichtbaren Methoden und Daten. ● Alle nicht zur Schnittstelle gehörenden Elemente können geändert werden, ohne dass Programme, die diese Objekte nutzen, dies bemerken. Dies erlaubt völlig verschiedene Implementationen für dieselbe Klasse.

        50

        2 Programmierung und Programmiersprachen

        ▲ Dadurch, dass interne Strukturen nur mithilfe vorgegebener Methoden manipuliert werden können, wird garantiert, dass Objekte nur sinnvolle Zustände annehmen. ● Kennzeichen von OOP ist ein häufig dynamisches Erzeugen von Objekten: Ein neues Objekt wird erzeugt, wenn es gebraucht wird. ▲ Kehrseite dieser Dynamik: Nicht mehr gebrauchte Objekte müssen beseitigt werden, damit genügend Speicher für die aktuellen Objekte zur Verfügung steht. Dafür gibt es zwei verschiedene Ansätze: • explizites Löschen mit einer delete-Routine Vorteil: effizient Nachteil: schwierig zu programmieren, daher fehleranfällig • automatisches Löschen durch das Laufzeitsystem (Garbage Collector) Vorteil: einfach Nachteil: oft langsamer ■ C++ nutzt delete-Funktionen (Effizienz steht im Vordergrund), Java und Smalltalk dagegen einen Garbage-Collector (Sicherheit geht vor). ■ Klasse Polygon

        öffentliche Methoden: neu(Seitenzahl, Punktliste) drehe(Winkel) verschiebe(2d-Vektor) fläche() schwerpunkt() intern: Anzahl der Punkte Liste der Punkte ▲ Hat man mit neu ein bestimmtes Polygon erzeugt, kann man es nur noch mithilfe von Drehungen und Verschiebungen verändern. ▲ Wird die Funktion schwerpunkt häufig gebraucht, kann man die Implementierung ändern, indem man den Schwerpunkt des Polygons in einer internen Variablen ablegt. Beim Erzeugen eines Polygons mit neu wird der Schwerpunkt gleich berechnet und von drehe und verschiebe entsprechend angepasst, beim Aufruf von schwerpunkt wird nur noch dieser Wert ausgegeben. Der Benutzer der Klasse Polygon merkt von dieser Veränderung höchstens, dass sein Programm schneller geworden ist.

        g) Vererbung Das Prinzip der OOP ist die Vererbung. Es ist möglich, von bereits vorhandenen Klassen neue Klassen abzuleiten, die alle Eigenschaften (Methoden, Daten) der Basis-Klasse automatisch erhalten (erben), denen jedoch zusätzlich neue Datenstrukturen und Methoden zugewiesen werden können, die die Anwendung der Klasse über die der Basis-Klasse hinausgehen lassen. Methoden der Basis-Klasse können durch gleichnamige Methoden in der abgeleiteten ersetzt (überladen) werden. ▲ Die Nutzung der Vererbung ist i. d. R. dann sinnvoll, wenn die abgeleitete Klasse sich als ein Spezialfall der Basisklasse interpretieren lässt („ist ein“-Beziehung). ■ Klasse Dreieck erbt von Polygon

        öffentliche Methoden: Umkreisradius() Umkreismittelpunkt() intern: radius (aus Performancegründen) Hier ist die Verwandtschaft klar: Ein Dreieck „ist ein“ Polygon.

        2.1 Programmierung

        51

        ▲ Eine Variable der Basisklasse kann ein Objekt einer abgeleiteten Klasse enthalten. Dies ist möglich, weil die abgeleitete Klasse alle Methoden der Basisklasse erhält und damit wie eine solche benutzt werden darf. ■ Eine Variable vom Typ Polygon kann ein Objekt der Klasse Dreieck beinhalten, denn: Ein Dreieck „ist ein“ Polygon. ● Auch bei Vererbung bleibt die Kapselung erhalten: Eine abgeleitete Klasse kann nicht auf die privaten Daten ihrer Basisklasse zugreifen. Allerdings gibt es in einigen Sprachen (z. B. Java, C++) die Möglichkeit, den Zugriff speziell für abgeleitete Klassen zu erlauben. Mehrfach-Vererbung bedeutet, dass eine Klasse von mehr als einer Basis-Klasse abgeleitet werden kann und erbt dadurch alle Methoden aller Basis-Klassen. ▲ Schwierigkeiten treten auf, wenn von zwei Basisklassen verschiedene Methoden mit gleichem Namen kommen. In einigen Sprachen (z. B. Java) ist Mehrfach-Vererbung daher grundsätzlich nicht möglich.

        h) Polymorphie ■ Die Methode fläche() sei in Polygon und Dreieck verschieden implementiert: allgemein gültig in Polygon, einfacher und schneller in Dreieck. Die Variable bermuda sei vom Typ Polygon, ihr sei aber ein konkretes Dreieck zugeordnet. Es stellt sich die Frage, welche Funktion benutzt wird, wenn man die Fläche von bermuda ausrechnen will: die spezielle oder die allgemeine? Antwort in OOPs: immer die spezielle. ● Wird eine Methode der Basisklasse in einer abgeleiteten Klasse neu definiert, so wird immer automatisch die spezielle Methode verwendet, auch wenn das abgeleitete Objekt einer Variablen der Basisklasse zugeordnet ist. Dies bezeichnet man als Polymorphie. ▲ Der Compiler kann der Variablen der Basisklasse u. U. gar nicht ansehen, ob ihr ein Objekt einer abgeleiteten Klasse zugewiesen wird. Daher wird erst zur Laufzeit des Programms festgelegt, welche Methode verwendet wird. Dieses Verfahren bezeichnet man als late binding. Eine abstrakte Basisklasse definiert Methoden, ohne sie selbst zu implementieren. ● Von einer abstrakten Klasse dürfen keine Objekte erzeugt werden. ▲ Abstrakte Klassen sind sinnvoll, um ein einheitliches Verhalten für alle abgeleiteten Klassen festzulegen. Diese (oder sogar erst deren Nachfahren) müssen die Methoden ihrer abstrakten Basisklasse in die Tat (d. h. in Code) umsetzen. ■ Die abstrakte Klasse Fläche soll zweidimensionale Flächen beschreiben. Sie enthalte eine abstrakte Methode fläche(), die den Flächeninhalt bestimmt. Die davon abgeleiteten Klassen Polygon und Kreis sind nun gezwungen, fläche() zu implementieren (sonst sind sie selbst abstrakt).

        i) Grundlegende Algorithmen Die Beschreibung eines allgemeinen Verfahrens zur Lösung eines gegebenen Problems mithilfe einfacher Schritte bezeichnet man als Algorithmus. Oft wird zusätzlich verlangt, dass ein Algorithmus nur endlich viele Schritte benötigt. ▲ Algorithmen können meist sehr allgemein beschrieben werden, sie sind von der konkreten Beschreibungs- oder Programmiersprache unabhängig. ▲ Zur Lösung häufig auftretender Probleme sind oft sehr gute (schnelle, speichereffiziente) Algorithmen entwickelt worden. Als Ergebnis langer Forschungsarbeit sind sie eigenen ad-hoc-Lösungen fast immer überlegen.

        52

        2 Programmierung und Programmiersprachen

        ■ Wichtige Algorithmen aus verschiedenen Anwendungsgebieten: • allgemein: Sortieren, Verwalten komplexer Datenstrukturen • Numerik: LR-Zerlegung, schnelle Fourier-Transformation (FFT) • Graphentheorie: aufspannender Baum ▲ Die folgenden Beispiele stellen naive Lösungen und wichtige Algorithmen gegenüber. Merke: Ein Auto kaufen führt meist schneller zum Ziel als das Rad neu erfinden.

        j) Sortieren ▲ Sehr häufig müssen Daten sortiert werden, um z. B. danach schneller auf sie zugreifen zu können. Im Folgenden sei ein Array von ganzen Zahlen zum Sortieren vorgegeben. ■ Einfaches Verfahren: Zunächst wird das kleinste Element gesucht und durch einen Tausch an die erste Stelle gebracht, dann das zweitkleinste an die zweite Stelle usw.: void swap(int[] array, int i1, int i2) { int tmp = array[i1]; array[i1] = array[i2]; array[i2] = tmp; } void sort(int[] a) { for (int i=0; i < a.length-1; i++) { for (int j=i+1; j < a.length; j++) { if (a[j] < a[i] ) { swap(a, i, j); } } } } ● Für ein Array mit n Elementen ist die Laufzeit dieses Verfahrens ∼ n2 . ■ Quicksort-Algorithmus: Die Elemente werden so in zwei (möglichst gleich große) Gruppen aufgeteilt, dass die Elemente der ersten Gruppe größer sind als die der zweiten. Beide Gruppen werden dann jeweils rekursiv für sich sortiert. void quicksort(int[] a, int low, int high) { int i = low; int j = high; int x = a[(i+j)/2]; // "mittleres" Element do while (a[i] < x) { // suche großes Element bei den Kleinen i++; } while (a[j] > x) { // suche kleines Element bei den Großen j--; } if (i0 THEN fakul:=fakul(n-1)*n (* Rekursion *) ELSE IF n=0 THEN fakul:=1 (* Rekursionsanfang *) ELSE writeln(’Fehler’); END; In diesem Fall ist eine iterative Lösung einfacher und zu bevorzugen: FUNCTION fakul(n: integer): real;

        2.2 Programmiersprachen

        71

        VAR i: integer; f: real; BEGIN f:=1; FOR i:=1 TO n DO f:=f*i; fakul:=f; END; Beachte bei der rekursiven Lösung, dass die lokale Variable n mit jedem erneuten Aufruf von fakul neu angelegt wird und daher nach jedem Rücksprung den gleichen Wert besitzt wie vor dem entsprechenden Aufruf. Rekursion liegt auch dann vor, wenn eine Prozedur sich nicht direkt, sondern indirekt über eine andere Prozedur aufruft. Dabei tritt die Schwierigkeit auf, dass jede Prozedur vor ihrer ersten Verwendung definiert werden muss. PROCEDURE a(n: integer); BEGIN Aufruf von Prozedur b END; PROCEDURE b(k: integer); BEGIN Aufruf von Prozedur a END; In diesem Beispiel ist beim Aufruf von b innerhalb von a die Prozedur b noch nicht definiert. Vertauschen der Reihenfolge von a und b nützt nichts, da dann a innerhalb von b undefiniert wäre. Abhilfe: Forward-Deklaration der Prozedur vor der ersten Verwendung. PROCEDURE b(k: integer); FORWARD; PROCEDURE a(n: integer); BEGIN Aufruf von Prozedur b END; PROCEDURE b; (* Jetzt ohne Parameterliste *) BEGIN Aufruf von Prozedur a END; ▲ Parameterliste und (bei Funktionen) Funktionswerttyp werden nur bei der FORWARD-Deklaration angegeben. Wenn die Prozedur schließlich wirklich definiert wird, werden diese Angaben nicht mehr wiederholt. ▲ Rekursionen sind nicht in allen Programmiersprachen erlaubt. PASCAL und C erlauben Rekursionen, während sie in vielen FORTRAN-Dialekten verboten sind.

        2.2.2

        Einführung in C

        ● C ist die beliebteste höhere Programmiersprache für System-Programmierung. Neben allen Elementen einer Hochsprache gestattet C darüber hinaus eine sehr maschinennahe Programmierung und damit schnelle und effiziente Programme.

        72

        2 Programmierung und Programmiersprachen

        ▲ In C ist ein sehr knapper, hardwarenaher Stil verbreitet, der häufig zu Lasten der Verständlichkeit geht. Moderne optimierende Compiler erreichen meistens selbst eine hohe Effizienz des Codes, sodass man wie in jeder anderen Sprache gut strukturierte, klare Programme schreiben kann.

        a) Grundstrukturen Grundregeln: 1. Jedes C-Kommando ist mit einem Semikolon „ ; “ abzuschließen. 2. Hinter geschweiften Klammern und Präprozessorbefehlen steht nie ein Semikolon (Ausnahmen: struct, class). 3. Jede verwendete Variable, Konstante oder Funktion muss vor ihrem ersten Aufruf deklariert, also bezüglich des Datentyps ausgewiesen sein. Wird eine Funktion in einer Datei aufgerufen, in der sie nicht definiert ist, muss sie einen Prototyp erhalten. Eine Funktion ist die einzige Art von Unterprogrammen in C. Es können beliebig viele Argumente angegeben werden. Es wird stets ein Rückgabewert erwartet. ▲ Funktionen können auch als Befehl aufgerufen werden, indem sie nicht in einer Zuweisung verwendet werden. Die Funktion wird dabei ausgeführt, der Rückgabewert jedoch verworfen. void ist ein Datentyp, der es erlaubt, Funktionen ohne Rückgabewert zu definieren. Die eigentliche Funktion kann in einem anderen Programmodul oder einer Bibliothek definiert sein. Als Funktionsprototyp wird die Deklaration einer Funktion bezeichnet. Sie beinhaltet die Einführung des Funktionsnamens einschließlich aller Parameter vor der eigentlichen Definition der Funktion. Dies ist bei in verschiedenen Dateien aufgeteilten Programmen oder bei der Einbindung von Bibliotheksfunktionen notwendig. ■ Die Datei math.h enthält Prototypen für mathematische Funktionen (sin, cos, . . . ) int Funktion(char v,float x); . . . int Funktion(char v,float x) { . . . } Unter einer Header-Datei wird die Zusammenfassung von Funktionsprototypen in einer Datei verstanden. Macht die an anderer Stelle definierten, noch hinzuzubindenden Funktionskörper in allen Programmteilen verfügbar. ■ Die Header-Datei stdio.h enthält die Funktionsprototypen für die Standard-Ein/Ausgabe-Unterprogramme in C. Der Header muss in jede Programmdatei, welche Ein/Ausgabeoperationen benutzt, eingefügt werden. Kommentare werden in C durch Einschluss des Kommentar-Textes in /*. . .*/ realisiert. Der Präprozessor ist das vor der eigentlichen Kompilation durchlaufende Programm zur Entfernung von Kommentaren, Ersetzen von Kurzzeichen oder Einspeisen von Deklarationsdateien. Sucht nach speziellen Präprozessor-Befehlen: #define globale Textersetzung im Programmtext, Makrodefinition #undef Aufhebung einer Definition #include Einbindung anderer Quelldateien #pragma spezielle Compiler-Anweisungen #define ist ein Präprozessorbefehl zur Definition von Makros und Compiler-Schaltern. Eine Parameterübergabe ist erlaubt:

        2.2 Programmiersprachen

        73

        ■ #define MIN(x,y) ( ((x) >= (y))? (y): (x) ) definiert eine Ausdruck, welcher das Minimum zweier Zahlen unabhängig vom Datentyp liefert. ▲ Mit #define definierte Makros sind keine Funktionen, sondern werden vom Präprozessor in den Quellcode an den Stellen ihres Aufrufs eingefügt. Die Parameter sind keine Variablennamen, sondern lediglich Platzhalter. Es findet keine Typ-Prüfung statt. #include ist ein Präprozessorbefehl zur Einbindung anderer Quelldateien, bspw. in verschiedenen Programmteilen verwendete Funktionsprototypen oder Prototypen von Standard-Bibliotheken. ■ Die Prototypen von Funktionen sollten über #include aus anderen Dateien eingelesen werden und nicht in jeder Quelldatei einzeln deklariert werden. Programmblock oder Block bezeichnet eine durch geschweifte Klammern „{. . .}“ eingeschlossene Folge von C-Kommandos. Innerhalb eines Blocks deklarierte Variablen oder Funktionen sind lokal, also nur in diesem Block gültig. ▲ Ein Block darf überall dort stehen, wo auch ein einzelnes C-Kommando erlaubt ist. ● Variablendeklarationen dürfen nur am Beginn eines Blockes, vor der ersten ausführbaren Anweisung stehen. Als Hauptprogramm wird die Funktion int main() bezeichnet, die zu Beginn eines Programms aufgerufen wird. Sie darf innerhalb eines Programms nur einmal, jedoch an beliebiger Stelle, definiert sein. Der Rückgabewert kann vom aufrufenden Betriebssystem zur Fehlerbehandlung abgefragt werden. ■ Beispielprogramm: #include /* Einbinden der IO-Bibliothek */ int main() { int i = 5; printf("Hallo Welt: %d",i); /* Ausgabe-Befehl */ }

        b) Operatoren Operatoren sind Symbole zur Verknüpfung oder Manipulation von Ausdrücken. Ein Ausdruck ist ein durch Zusammensetzung gültiger Operationen entstehendes Konstrukt, welches einen Wert eines definierten Datentyps zurückgibt. Linkswert (lvalue) bezeichnet einen Ausdruck, dem durch „=“ ein Wert zugewiesen werden kann, der also auf der linken Seite einer Zuweisung stehen darf. ■ Variablen (i = 7), dereferenzierte Zeiger: int y[10]; ∗(y+2) = 5; Inkrementierung ++ bedeutet die Erhöhung einer Variablen um Eins. C unterscheidet Präfix- und PostfixInkrementierung. Präfix-Inkrementierung ++Linkswert inkrementiert den Ausdruck und gibt diesen erhöhten Wert zurück. Bei der Postfix-Inkrementierung Linkswert ++ entspricht der Rückgabewert dem alten (nicht erhöhten) Wert. Die Erhöhung wird erst bei der nächsten Verwendung der Variablen sichtbar. ■ int i=5, j=5; printf("i++ = %d, ++j = %d",i++, ++j); /* liefert: i++ = 5, ++j = 6 */

        74

        2 Programmierung und Programmiersprachen

        Dekrementierung −− wird die Erniedrigung einer Variablen um Eins genannt. Kann ebenso wie die Inkrementierung nachträglich sein. Die Priorität bezeichnet die Reihenfolge, in der Operatoren abgearbeitet werden. Operationen mit höherer Priorität werden vor jenen mit niedrigerer Priorität ausgeführt. Eine Änderung der Prioritäten erfordert Klammersetzung. ▲ In der folgenden Tabelle sind die Operatoren nach ihrer Priorität fallend geordnet. Operatoren innerhalb der einzelnen Abschnitte besitzen gleiche Priorität. Operatoren in C . −> [] () ++ −− sizeof sizeof ++ −− ˜ ! − + & ∗ () ∗ / % + − >
        = == != & ˆ | && || ?:

        Struktur-Operator Struktur-Operator (Zeiger) Indizierung Funktionsaufruf nachträgliche Inkrementierung nachträgliche Dekrementierung Länge eines Objektes Länge eines Datentyps Inkrementierung Dekrementierung Komplement nicht negatives Vorzeichen positives Vorzeichen Adresse von Dereferenzierung Typumwandlung Multipliziere Dividiere Modulo Addiere Subtrahiere Bitweises Linksverschieben Bitweises Rechtsverschieben kleiner als kleiner oder gleich größer als größer oder gleich gleich ungleich Bitweises UND Bitweises exklusives ODER Bitweises inklusives ODER Logisches UND Logisches ODER Fallunterscheidung

        Struktur.Element Zeiger−>Element Zeiger[int- Ausdruck ] Ausdruck (Ausdruckliste) Linkswert Linkswert sizeof Ausdruck sizeof(Datentyp) Linkswert ++ Linkswert −− ˜ Ausdruck ! Ausdruck − Ausdruck + Ausdruck &Linkswert ∗ Ausdruck (Datentyp) Ausdruck Ausdruck ∗ Ausdruck Ausdruck / Ausdruck Ausdruck % Ausdruck Ausdruck + Ausdruck Ausdruck − Ausdruck Ausdruck > Ausdruck Ausdruck < Ausdruck Ausdruck Ausdruck Ausdruck >= Ausdruck Ausdruck == Ausdruck Ausdruck ! = Ausdruck Ausdruck & Ausdruck Ausdruck ˆAusdruck Ausdruck | Ausdruck Ausdruck && Ausdruck Ausdruck || Ausdruck Ausdruck ? Ausdruck : Ausdruck

        2.2 Programmiersprachen

        75

        Operatoren in C = ∗= /= %= += −= = &= |= ˆ=

        Zuweisung Multiplikation und Zuweisung Division und Zuweisung Modulo und Zuweisung Addition und Zuweisung Subtraktion und Zuweisung Bitweise Linksverschiebung und Zuweisung Bitweise Rechtsverschiebung und Zuweisung UND und Zuweisung Inklusives ODER und Zuweisung Exklusives ODER und Zuweisung

        Linkswert = Ausdruck Linkswert ∗ = Ausdruck Linkswert / = Ausdruck Linkswert %= Ausdruck Linkswert + = Ausdruck Linkswert − = Ausdruck Linkswert = Ausdruck Linkswert &= Ausdruck Linkswert |= Ausdruck Linkswert ˆ = Ausdruck

        c) Datenstrukturen Automatische Variablen bezeichnen Variablen, für die während des Programmlaufs bei ihrer Deklaration der zugehörige Speicherbereich auf dem Stack angefordert und bei Verlassen ihres Gültigkeitsbereichs wieder freigegeben wird. Statische Variablen sind das Gegenstück zu automatischen Variablen. Bereits während des Kompilationsvorgangs wird der statischen Variablen ein fester Speicherbereich zugewiesen, der für den gesamten Programmlauf erhalten bleibt. static: Deklariert eine Variable als statisch. auto: Deklariert eine Variable als automatisch. ▲ Definitionsgemäß sind alle innerhalb von Blöcken definierten Variablen automatisch, außerhalb aller Blöcke (Datei-Scope) statisch. Der Datentyp ist eine Eigenschaft, die jeder Variablen bei ihrer Deklaration zugewiesen werden muss. Man unterscheidet einfache und zusammengesetzte (benutzerdefinierte) Datentypen. ● Einfache Datentypen: int,char,long,float,double,void void ist ein besonderer Datentyp, der bei Zeigerprogrammierung zur Darstellung eines Zeigers ohne definierten Typ dient. Bei Funktionsdeklarationen deutet void dem Compiler an, dass keine Parameter übergeben oder kein Rückgabewert erwartet wird. ▲ Der Aufruf einer mit void in der Parameterliste deklarierten Funktion erfolgt ohne Angabe von void einfach durch leere Klammern: int TestFunktion(void) . . . int i = TestFunktion(); /* und nicht: TestFunktion(void) */ ▲ int, char und long sind ganzzahlige Datentypen, während float und double Fließkommazahlen repräsentieren. ▲ Der Zusatz unsigned in Verbindung mit einem der Typen int, char, long definiert den entsprechenden Datentyp als positiv. ▲ Der Wertebereich der einfachen Datentypen ist nicht genormt, da er von dem für den jeweiligen Datentyp zur Verfügung stehenden Speicherplatz (Länge) abhängt. Lediglich die char-Typen haben eine genormte Länge von 8 Bit.

        76

        2 Programmierung und Programmiersprachen Datentyp int unsigned int char unsigned char long unsigned long float double

        Beschreibung ganze Zahlen

        Länge (32-Bit Maschine) Bereich 31 4 Bytes −2 . . . 231 − 1 4 Byte 0 . . . 232 − 1 Bytes 1 Byte −128 . . . 127 1 Byte 0 . . . 255 31 lange Integer 4 Bytes −2 . . . 231 − 1 4 Bytes 0 . . . 232 − 1 einfach genau 4 Bytes doppelt genau 8 Bytes

        Ein logischer Ausdruck ist in C äquivalent mit jedem ganzzahligen Datentyp int, char, long. Ein Ausdruck ist wahr, wenn er einen beliebigen Wert „!= 0“ besitzt und falsch, wenn „== 0“ gilt. ■ Variablendeklaration: int i,j,k; char c = 0; unsigned long l = -2; Verboten, da unsigned gefordert!! ● Variablen müssen immer am Anfang eines Programmelementes (vor der ersten Zeile mit ausführbarem Code) deklariert werden. Typkonvertierung ist immer zwischen einfachen Datentypen möglich. Wird durch Voransetzen des Datentyps realisiert: (einfacher Datentyp)Ausdruck ■ int m = 32.7; /* verboten, da Typen inkompatibel! */ int n = (int)32.7; /* erlaubt, da gueltige Typkonvertierung */ Ein zusammengesetzter Datentyp (struct) ist ein aus mehreren einfachen oder anderen zusammengesetzten Datentypen aufgebautes Konstrukt. Er wird analog zu den einfachen Datentypen zur Deklaration von Variablen verwendet. ■ struct Datum { unsigned int Tag,Monat,Jahr; } Deklaration einer Variablen: struct Datum Heute; ● Die Elemente eines zusammengesetzten Datentyps werden über den Struktur-Operator „.“ angesprochen: printf("Datum: %ud.%ud.%ud",Heute.Tag, Heute.Monat, Heute.Jahr); union ist ein zusammengesetzter Datentyp, der es gestattet, denselben Speicherbereich durch unterschiedliche Datentypen zu adressieren. ■ union Demo { int Zahl; struct { char Byte3,Byte2,Byte1,Byte0; } Bytes; } Eine Variable union Demo Test; kann sowohl durch Test.Zahl, als auch durch Test.Bytes.Byte2 adressiert werden.

        2.2 Programmiersprachen

        77

        Mithilfe von typedef werden einfache oder zusammengesetzte Datentypen neu benannt: ■ typedef float REAL; oder typedef union Demo UDemo; so definierte Datentypen können wie einfache Datentypen zur Deklaration verwendet werden (ohne den Vorsatz struct, union, . . .). ● Durch typedef deklarierte Datentypen werden vom Compiler als zu ihren definierenden Datentypen identisch behandelt. So sind union Demo x; und UDemo y; für den Compiler von identischem Typ. Als Zeiger wird ein Datentyp zur Darstellung von Verweisen auf andere Größen bezeichnet. Er enthält nicht den eigentlich zu speichernden Wert, sondern (i. d. R.) nur die Speicheradresse, wo der der Wert gespeichert ist. ● Zeiger sind typenbehaftet! Ein Zeiger auf eine int-Variable unterscheidet sich von einem Zeiger auf eine char-Variable. ▲ Die Länge des Datentyps Zeiger richtet sich nach der Größe des adressierbaren Speicherbereichs und ist abhängig von der Architektur des Computers, aber unabhängig vom Typ des Zeigers! Dereferenzierung *x bezeichnet den Inhalt der Speicherzelle, auf die der Zeiger verweist. *x kann sowohl auf der linken wie auf der rechten Seite einer Zuweisung stehen: int x; int* y; ∗y = 5; x = *y; ▲ Nach der Deklaration gemäß int* x ist der Zeiger x zunächst undefiniert, enthält also irgendeinen zufälligen Wert. Ein Beschreiben gemäß *x = 5 verändert unkontrolliert Speicherzellen, die anderen Variablen oder – schlimmstenfalls – einem ausführbaren Programm zugeordnet sind. Fehler oder Programmabsturz sind die Folge! Adressen-Operator „&“ liefert einen Zeiger des entsprechenden Typs auf eine Variable. ■ int* p1; char* p2; int i = 1; char c = 2; p1 = &i; p2 = &c; printf("i = %d, c = %d",*p1,*p2); /* liefert: "i = 1, c = 2" */ ▲ Bei zusammengesetzten Datentypen mit großem Speicherbedarf ist bspw. das Umkopieren von Variablen mit Zeigern deutlich schneller als Operationen mit normalen Variablen, bei denen stets der gesamte Speicherbereich kopiert werden muss. Felder sind zusammenhängende Listen von Variablen. Einzelne Elemente des Feldes werden über den Index angesprochen. ▲ Die Indizierung eines Feldes beginnt stets mit 0. int Feld[5]; /* Definiert Feld[0] . . . Feld[4] */ ● Der Programmierer muss sicherstellen, dass keine Bereichsüberschreitung auftritt. Die Zeile int j = Feld[5]; wird zwar fehlerfrei übersetzt, der Inhalt dieser Speicherzelle ist jedoch nicht definiert, da sie möglicherweise von einer anderen Variablen verwendet wird. ▲ Eine Feldvariable ist äquivalent zu einem Zeiger des entsprechenden Typs. int* AuchFeld = &Feld[0]; oder einfacher int* AuchFeld = Feld; definiert ein mit Feld identisches Datenfeld AuchFeld mit denselben Elementen AuchFeld[0]...AuchFeld[3]. ▲ Das erste Element des Feldes Feld kann sowohl mit Feld[0] als auch mit *Feld angesprochen werden.

        78

        2 Programmierung und Programmiersprachen

        Unterschiede zwischen Feld- und Zeigerdeklaration: 1. Im Gegensatz zu Zeigern können Felder nicht einander zugewiesen werden, selbst wenn sie den gleichen Typ und die gleiche Größe besitzen. 2. Bei der Felddeklaration wird automatisch ein der Größe des Feldes und Art des Datentyps entsprechender Speicherbereich angefordert (statische Speicherverwaltung). ■ float y[6] = {1,2,3,4,5,6}; Ein Vektor der Dimension n ist ein eindimensionales Feld der Länge n. Zeichenketten oder Strings werden in C über char-Felder realisiert. Funktionen zur Stringbehandlung werden über #include zur Verfügung gestellt. ▲ Zeichenketten sind in C durch das Nullzeichen „\0“ terminiert, sie belegen also ein zusätzliches Byte im Speicher. ■ char* string = "Dies ist ein String"; /* string[0] = ’D’, string[19] = ’\0’ */ Mehrdimensionale Felder sind durch mehrere Indizes adressierte Speicherbereiche. Bis zu beliebiger Dimension in C realisierbar. ■ float x[2][3] = {{1,2,3},{4,5,6}}; ▲ Ein mehrdimensionales Feld ist ebenso wie ein eindimensionales Feld äquivalent zu einem Zeiger entsprechenden Typs: ■ float* y = x; Das (nun eindimensionale) Feld y enthält: 1,2,3,4,5,6 Diese Adressierung y[i][j] ist verboten, da der Zeiger y keine Informationen über die Länge der Vektoren besitzt. ■ Äquivalente Formulierung: x[i][j]≡y[i*3+j] Dynamische Speicherverwaltung bedeutet, dass die Feldgrößen nicht bei der Kompilation, sondern erst während des Programmlaufs festgelegt werden. C stellt dafür standardmäßig Bibliotheken zur Speicherverwaltung zur Verfügung: #include Reservierung von Speicher: char* String = malloc(10*sizeof(char)); Freigeben von Speicher:free(String);

        d) Schleifen und Verzweigungen Befehle zur Schleifenprogrammierung: for, while, do. . .while, break, continue while-Schleife: while (Ausdruck) Anweisung; Ausdruck: Abbruchkriterium Anweisung: innerhalb der Schleife auszuführende Anweisung. ▲ Soll mehr als eine Anweisung ausgeführt werden, so sind diese in einem Block ({. . .}) zusammenzufassen. Die Anweisungen innerhalb der while-Schleife werden ausgeführt, solange der Ausdruck logisch wahr ist. ▲ Das Abbruchkriterium wird zu Beginn der Schleife überprüft. Ist der Ausdruck bereits vor dem ersten Schleifendurchlauf logisch falsch, so wird das Programm bei der ersten Anweisung außerhalb der Schleife fortgesetzt, die Schleife wird nicht ausgeführt.

        2.2 Programmiersprachen

        79

        ■ float x = 64.0; while (x > 1.0) { x /= 2.0; printf(”x = %f”,x); } do-while-Schleife: do

        Anweisung; while (Ausdruck); Die Schleife wird ausgeführt, bis das Abbruchkriterium erfüllt, also der Ausdruck logisch falsch ist. ▲ Die do-while-Schleife wird mindestens einmal ausgeführt, da das Abbruchkriterium erst am Ende der Schleife geprüft wird. for-Schleife: for (Ausdruck1;Ausdruck2;Ausdruck3) Anweisung; Ausdruck 1: initialisiert Schleifenvariable Ausdruck 2: Abbruch-Kriterium Ausdruck 3: verändert die Schleifenvariable ■ int i; for (i=0; i1.0; ) {. . .} Die break-Anweisung führt zur sofortigen Beendigung einer Schleife, unabhängig vom Abbruchkriterium. ▲ Es wird – bei verschachtelten Schleifen – nur die Schleifenebene verlassen, in der das break-Kommando gegeben wurde. ■ for (i=0; i ’Eine erste Variable’:= „Hamburg ist eine schöne Stadt“

        Eine erste Variable:=„Hamburg ist eine schöne Stadt“ Zahlenarten: integer ist eine ganze Zahl. Die Eingabe erfolgt durch nnnnn (beliebige Länge). fraction ist eine Bruchzahl, welche als Bruch zweier ganzer Zahlen: ppp/qqq dargestellt wird. float ist eine Gleitpunktzahl, welche als nnnn.mmmm oder in wissenschaftlicher Notation als n.mmm ∗ 10ˆ(pp) bzw n.mmmE pp dargestellt wird. Irrationale Zahlen ergeben sich durch Eingabe irrationaler Konstanten wie π (Pi) oder als Funktionswerte √ wie 2 (sqrt(2)). √ Komplexe Zahlen ergeben sich als Funktionswerte wie −1 (>sqrt(-1) oder √ durch direkte Eingabe in der Form >a+b*I, wobei a,b erlaubte Zahlen und I die Mapledarstellung für −1 ist. ▲ Maple macht keine Annahmen für den Benutzer, insbesondere keine, die die Genauigkeit der Ergebnisse beeinflussen. D. h. Brüche aus ganzen Zahlen werden höchstens zu Stammbrüchen gekürzt oder Wurzeln aus ganzen Zahlen werden symbolisch weiterverarbeitet z. B.: ■ > sqrt(2);

        √ 2

        > sqrt(2.); 1.414213562 Eine Zahlenkonversion: evalf(Zahl); wandelt rationale Zahlen oder zunächst symbolisch dargestellte Zahlen und Ergebnisse in Gleitpunktzahlen mit der in der Umgebungsvariablen Digits eingestellten Präzision um (Voreinstellung: Digits:=10). convert(Ausdruck, Form, Opt); wandelt allgemein Ausdrücke von einer Form (einem bestimmten Typ) in eine andere um, sofern dies sinnvoll ist. ■ > convert(‘FFA2‘,decimal,hex); 65442 Operatoren unterteilen sich in wichtige arithmetische +,-,*,/,ˆ sowie relationale Operatoren = , < , , >= ,

        2.3 Problemlösungsumgebungen

        125

        ▲ Das Multiplikationszeichen ‘*‘ muss angegeben werden. Das ‘ ˆ ‘-Zeichen zur Exponentenbildung erscheint bei einigen Tastaturbelegungen erst nach der Eingabe des folgenden (Leer)-Zeichens. Teil-Ausdrücke können ersetzt werden: subs(x=Wert,q); ersetzt im Ausdruck q die Variable x durch einen Wert. ■ > q := xˆ4 − 2 ∗ xˆ2 − 1 : > subs(x=2,q); 7 ▲ Bei subs(p=q,expr) wird jedes Auftreten des Ausdrucks p in expr durch q ersetzt. Hierbei wird die interne Darstellung von expr verwendet. Die interne Darstellung kann mit op() geprüft werden: ■ > subs( a+b=y, (a+b+c)ˆ2 );

        (a + b + c)ˆ2 > op(a+b+c)ˆ2; a + b + c,2 Abhilfe schafft die mächtigere Funktion algsubs() > algsubs(a+b=y, (a+b+c)ˆ2 ); (y + c)ˆ2 op(i,q); extrahiert den i-ten Term aus dem Ausdruck q. ■ > q:=xˆ4-2*xˆ2-1: > op(2,q); −2 ∗ xˆ2 Bereiche (Range) a..n stellen Folgen von Zahlen dar, die mit a beginnend jeweils um 1 inkrementiert werden bis höchstens n erreicht ist. Sie werden z. B. zur Definition von Folgen oder Darstellungsbereichen von Plots verwendet. Folgen (Sequence) bezeichnen die Aneinanderreihung von Ausdrücken (durch Kommata getrennt), bei der die Reihenfolge signifikant ist. > seq( f (i),i=1..n); erzeugt die Folge f (1), f (2), . . . , f (n). ▲ Vereinfachende Schreibweise: > f (i)$i=1..n; Mengen (Sets) entstehen durch Einschließung einer Folge in geschweifte Klammern. Alle Elemente kommen genau einmal vor und die Reihenfolge ist nicht festgelegt. ■ > M:={1,2,3,4,"Herta",4,3,2,1};

        M := {4, 3, 1, 2,"Herta"} Listen entstehen durch Einschließung einer Folge f in eckige Klammern. ■ > l:=[i$i=1..6] l := [1,2,3,4,5,6] op(n,Liste); greift auf das n-te Element einer Liste zu. Alternativ kann dies auch mit Liste[n]; erreicht werden.

        126

        2 Programmierung und Programmiersprachen

        Vektoren und Matrizen werden mithilfe der Strukturen table und array erzeugt. table(Indexfunktion, Liste) erzeugt eine tabellenartige Struktur, in der als Elemente der Liste Gleichungen enthalten sind. >op(T); liefert die Tabelle zurück. >indices(T); gibt die Indizes zurück. >entries(T); liefert eine Folge der Glieder. ■ > T1:=table([a,b,c]); T1:=table([ 1=a 2=b 3=c ]) > indices(T1); [1],[2],[3] > entries(T2); [a],[b],[c] ▲ Tabellen können auch mit nichtnumerischen Indizes genutzt werden: ■ > T2:=table([Name="Meier",Alter=42,Ort="Hamburg"]);

        T2:= table([ Ort = "Hamburg" Alter = 42 Name = "Meier" ]) > T2[Name]; "Meier" array(Indexfunktion, Liste) erzeugt spezielle, eventuell mehrdimensionale Felder mit ganzzahligem Laufbereich für jede Dimension. ■ Das eindimensionale Feld > v:=array(1..n,[a(1),a(2),. . .,a(n)]); wird als Vektor, das zweidimensionale Feld > A:=array(1..m,1..n,[a(1,1),. . .,a(1,n)],. . .,[a(m,1), . . .,a(m,n)]]); wird als Matrix interpretiert. Im Paket linalg (laden mit with(linalg);) sind weitere spezielle Funktionen zur Erzeugung von Vektoren (vector())und Matrizen (matrix()) implementiert. Funktionen sind vordefiniert in großer Zahl enthalten und gehören zum Typ mathfunc. Einige der elementaren sind exp(x), cot(x), coth(x), arccot(x),

        log(x), sec(x), sech(x), arcsinh(x),

        ln(x), csc(x), csch(x), arccosh(x),

        sin(x), sinh(x), arcsin(x), arctanh(x),

        cos(x), cosh(x), arccos(x), arccoth(x).

        tan(x), tanh(x), arctan(x),

        2.3 Problemlösungsumgebungen

        127

        Spezielle nichtelementare Funktionen sind z. B. die Besselfunktionen BesselI(v,z), BesselK(v,z) und BesselJ(v,z), die Gammafunktion gamma(x), die Integralexponentialfunktion Ei(x) und die Fresnel’schen Funktionen. Weitere Funktionen wie die orthogonalen Polynome (laden mit with(orthopoly)) werden in speziellen Paketen bereitgestellt. ▲ ?inifcns liefert eine Auflistung aller verfügbaren vordefinierten Funktionen. Operatoren können als Namen von Funktionen (ohne Argument) sinnvoll eingestzt werden, um z. B. neue Operatoren zu bilden. ■ > f:=sin*cos*sqrt: > f(x);

        √ sin(x) cos(x) (x)

        ▲ Als Typ operator werden nur die Funktionen erkannt, welche in ihrer Definition die option operator gesetzt haben. Dies ist nur bei Funktionen, die mit einem Pfeil (→, ->) definiert sind, automatisch der Fall. Selbstdefinierte Funktionen können (als Operatoren) durch > F:=x->Ausdruck; erzeugt werden. Durch Anhängen einer Variablen als Argument werden sie zur Funktion. Einsetzen eines Zahlenwertes > F(nn.mmmm); liefert den Funktionswert. ▲ Ausdrücke können mit dem Befehl unapply(Ausdruck, Variable) in Funktionen gewandelt werden: ■ Wir lösen die allgemeine quadratische Gleichung und ordnen beide Lösungen L zu:

        > L:=solve(xˆ2+p*x+q,x); 1 1 1 2 1 2 L := − p + p − 4q, − p − p − 4q 2 2 2 2 Wir greifen die erste Lösung L[1] heraus und bilden die Funktion x1, die von den Variablen p,q abhängt: > x1:=unapply(L[1],p,q); 1 1 2 x1 := (p,q)− > − p + p − 4q 2 2 nun kann x1 für beliebige Werte von p und q angegeben werden, z. B.: > x1(1,1); 1 1√ − + −3 2 2 ▲ Ein häufiger Fehler ist der Versuch einer Funktion in der Form F(x):=Ausdruck zu vereinbaren. Hier wird aber nur dem Symbol bestehend aus der Zeichenkette F(x) der Ausdruck zugeordnet, z. B. sind F(u) oder F(1) nach wie vor undefiniert. Ein Operatorprodukt wendet einen ersten Operator auf einen zweiten an. Es wird mit dem Multiplikationssymbol für Operatoren @ erzeugt. ■ Sei F:=x->cos(2*x) und G:=x->xˆ2. Dann gilt > (G@F)(x); cos2 (2x) und

        128

        2 Programmierung und Programmiersprachen

        > (F@G)(x); cos(2x2 ). Der Differenzialoperator D wirkt auf Funktionen in Operatorform. D[i](F) liefert die Ableitung nach der i-ten Variablen. Höhere Ableitungen kann man vereinfacht als (D@@n)(F) (die n-te Potenz des Operators) schreiben. ● Die Ableitung als Funktion lässt sich auch als D(F)(x)=diff(F(x),x) schreiben. map ist ein Funktionaloperator zur Anwendung eines Operators bzw. einer Funktion auf einen Ausdruck bzw. dessen Komponenten. ■ > map(f,[a,b,c,d]); f(a),f(b),f(c),f(d) Bibliotheksfunktionen können durch den Befehl readlib(Bibliothekspaket) oder dem Paketaufruf with(Paket) verfügbar gemacht werden. Eine Liste mit verfügbaren Paketen erhält man mit ?package. Einige der wichtigsten sind Statistik, 2D/3D-Grafik mit Animationen (bzgl. der Linearen Algebra – mit Vektoranalysis) und linalg, stats, plots,DEtools (bzgl. der gewöhnlichen Differenzialgleichungen). ▲ Einzelne Funktionen aus einem Paket können auch direkt genutzt werden, ohne das ganze Paket zu laden. Hierzu wird die Form paketname[funktion]. Informationen und Hilfe erhält man durch die Eingabe > ?Befehl; ▲ Im Hilfe-Menü des GUI steht auch eine Volltextsuche in der gesamten Hilfe-Dokumentation zur Verfügung.

        b) Algebraische Ausdrücke Ausmultiplikation von Ausdrücken bezeichnet das Auflösen der Potenzen und Produkte in einem Polynom: > expand(p, q1 , q2 , . . .); löst die Potenzen und Produkte in einem algebraischen Ausdruck p ohne die (optionale) Auflösung der Unterausdrücke qi auf. Faktorzerlegung: > p1:=factor(p); zerlegt ein Polynom in irreduzible Faktoren bezüglich des Körpers der rationalen Zahlen. Operationen auf Polynomen: > gcd(p,q); und > lcm(p,q); bestimmen den größten gemeinsamen Teiler bzw. das kleinste gemeinsame Vielfache der Polynome. Partialbruchzerlegung: > convert(p/q,parfrac,x); zerlegt die Quotienten zweier Polynome über dem Körper der rationalen Zahlen.

        2.3 Problemlösungsumgebungen

        129

        Weitere Manipulationen sind die Vereinfachung komplizierter Ausdrücke auch nichtpolynomialer Natur: > simplify(Ausdruck); oder die einfache Version der Vereinfachung mit normal z. B., um mehrere Brüche auf einen Hauptnenner zu bringen: ■ > normal((a+b)/(c+d)+(e+f)/(g+h)); ag + ah + bg + bh + ec + ed + f c + f d (c + d)(g + h) Ausgabewiederholungen werden durch Angabe eines %-Zeichens in einer neuen Zeile durchgeführt. Folgerichtig wird mit %% auf die vor- und mit %%% auf die vorvorletzte Ausgabe zurückgegriffen. ▲ Es ist wichtig zu beachten, dass die Eingaben in Maple immer in der zeitlichen Reihenfolge der Eingabe verarbeitet werden, unabhängig von ihrer Platzierung im Eingabefenster (im Gegensatz zu MathCad).

        c) Gleichungen und Gleichungssysteme Gleichungen werden durch das Gleichheitszeichen (=) zwischen Ausdrücken vereinbart. Sie können Symbolen zugewiesen werden. ■ > g:=xˆ2+2*x-9=x-5 ▲ Auf die linke bzw. rechte Seite einer Gleichung G kann mit den Befehlen lhs(G) bzw. rhs(G) zugegriffen werden Lösungen von Gleichungen höchstens vierten Grades können allgemein symbolisch angegeben werden. • solve(Gleichung,x); löst eine Gleichung, die das Symbol x enthält, wenn möglich nach x. Die Angabe von x ist optional, wenn sonst in der Gleichung nur Zahlen vorkommen. Hat die Gleichung die Form Ausdruck=0 kann auf die Angabe der rechten Seite verzichtet werden. Sind die Koeffizienten einer Polynomgleichung Gleitpunktzahlen, so löst Maple die Gleichung numerisch. Bei Polynomgleichungen mit einem Grad > 3 wird die Lösung oft in der Form einer RootOf-Struktur angegeben. Die RootOf-Struktur kann in anderen Ausdrücken wie eine symbolische Lösung verwendet werden, wodurch die simultane Weiterverarbeitung aller Lösungen möglich ist. Ist eine explizite Lösung gewünscht, so wird sie mithilfe des Befehls allvalues erzeugt und ggf. mit evalf in Gleitpunktzahlen gewandelt. ■ > solve(x4+3*x-1); RootOf(_Z4 + 3 _Z - 1) > evalf(allvalues(%)); .6051024091+1.267126095I,.6051024091-1.267126095I, .3294085275, -1.539613346 • fsolve(Ausdruck); bietet eine numerische Lösung von Gleichungen beliebiger Art (z. B. transzendente), bei der (i. d. R.) eine reelle Wurzel gesucht wird. Optional kann ein Bereich für die Suche nach der Wurzel angegeben werden: ■ > fsolve(x+arccoth(x)-4=0,x,2..3.5); 3.724 783 628 Gleichungssysteme: > solve(Gleichungen,Unbekannte);

        130

        2 Programmierung und Programmiersprachen

        löst Gleichungssysteme, wobei als erstes Argument alle Gleichungen in geschweiften Klammern, als zweites die Unbekannten anzugeben sind. ■ Das Gleichungssystem x1 + x2

        =4

        −x21 + x22 = 8 mit x1 = 1, x2 = 3 wird gelöst durch > solve({x1+x2=4,-x1ˆ2+x2ˆ2=8},{x1,x2}); {x2 = 3, x1 = 1} Weitere Löser stehen mit gsolve() (Gröbnerbasismethode für Polynomsysteme) und linsolve() (lineare Gleichungssysteme) zur Verfügung. Hilfreich sind auch die Kommandos isolate() (isoliert aus einem Ausdruck eine Variable), eliminate() (eliminiert Variablen aus einem Gleichungssystem) oder resultant() (bildet die Resultante zweier Polynome). ▲ Numerische Lösungen, speziell für nicht exakt lösbare Gleichungssysteme, erhält man durch das Kommando fsolve.

        d) Lineare Algebra Lineare Gleichungssysteme: > with(linalg); bindet ein Paket mit vielen Funktionen zur linearen Algebra aber auch zur Vektoranalysis ein. ▲ Statt mit array werden Matrizen und Vektoren bei Verwendung von linalg durch matrix(m,n,[Elemente]) bzw. vector(n,[Komponenten]) erzeugt. > linsolve(A,c); löst das lineare Gleichungssystem A · x = c oder gibt die Sequenz Null zurück. > nullspace(A); findet eine Basis im Nullraum der Matrix A. Eigenwerte und Eigenvektoren: > eigenvalues(a) bestimmt die Eigenwerte der Matrix a > eigenvectors(a) bestimmt die Eigenvektoren der Matrix a

        e) Differenzial- und Integralrechnung Differenziation: Ausdrücke werden mit dem Kommando diff(Ausdruck,x) nach x abgeleitet. Für Operatoren-Funktionen f wird D(f) verwendet, um die Ableitung von f darzustellen. ● Es gilt: D(f)(x)=diff(f(x),x) und D(f)=unapply(diff(f(x),x),x) > D[i](f); der Operator der Differenziation, erzeugt die Ableitung der (Operator-) Funktion nach der i-ten Variablen. Das Ergebnis ist wieder eine Funktion. ▲ D[i,j](f) ist äquivalent zu D[i](D[j](f)) und D[](f)=f.

        2.3 Problemlösungsumgebungen

        131

        > diff(Ausdruck,x1,x2,. . .,xn); leitet den algebraischen Ausdruck partiell nach den Variablen x1, . . . , xn ab. ▲ Mehrfache Differenziation kann mit dem Folgenoperator $ dargestellt werden: ■ > diff(sin(x),x$5);

        cos(x) äquivalent führt diff(sin(x),x,x,x,x,x)) zum gleichen Ergebnis. ▲ Zu diff gehört die „inerte“ Funktion Diff, die gleich verwendet, aber nicht ausgewertet wird. Die Auswertung wird mit value erzwungen. ■ > Diff(sin(x),x); ∂ sin(x) ∂x

        > value(%); cos(x) Unbestimmte Integrale: > int(f,x); berechnet, wenn möglich, das unbestimmte Integral des Ausdrucks f. Die „inerte“ Form Int, die gleich verwendet, aber nicht ausgewertet wird. Dies kann zur Darstellung von Integralen oder für die numerische Integration benutzt werden. ■ > Int(sin(x),x):%=value(%); 

        sin(x) dx = − cos(x)

        ▲ Obwohl die Integrationsalgorithmen sehr leistungsfähig sind, wird nicht jede existierende Stammfunktion gefunden. Manchmal hilft eine andere Darstellung des Integranden. Bestimmte Integrale, Mehrfachintegrale: > int(f,x=a..b); liefert, wenn möglich, eine symbolische Lösung des bestimmten Integrals mit den Grenzen a und b. ▲ Für Mehrfachintegrale verwendet man int entsprechend oft verschachtelt. Eine Numerische Integration mit der Genauigkeit von n Ziffern wird durch Voranstellen des Befehls evalf erreicht: > evalf(int(f(x),x=a..b),n); Wenn verhindert werden soll, dass Maple versucht, eine symbolische Lösung zu finden, verwendet man die „inerte“ Form Int: > evalf(Int(f(x),x=a..b)); a, b numerische Werte. Diese Form gibt auch die Möglichkeit, ein anderes numerisches Integrationsverfahren zu wählen: ■ > evalf(Int(exp(-x2),x=-1000..1000,10,_NCrule)); 1.772453851 Das dritte Argument gibt die Genauigkeit, das letzte die interne Bezeichnung des Näherungsverfahrens an (hier: adaptive Newton-Cotes-Regel). Weitere Verfahren sind _CCquad (Clenshaw-Curtis ohne Singularitätenbehandlung) oder _Dexp (doppelt exponentielles Verfahren ohne Singularitätenbehandlung).

        132

        2 Programmierung und Programmiersprachen

        Gewöhnliche Differenzialgleichungen (gDGL): Mit dem Release 5 ist die Lösungsmöglichkeit für gewöhnlichen Differenzialgleichungen stark erweitert worden. Hinweise über klassiche Lösungsmethoden findet man durch Anwendung des odeadvisors(gDGL,help) auf eine gegebene gDGL. Als Ausgabe erhält man den Typ der gDGL. Wird die Option help gesetzt, werden entsprechende Hilfe-Seiten gestartet. Der odeadvisor ist neben weiteren Hilfsfunktionen zur Bearbeitung von DGLs im Paket DEtools enthalten. Eine Differenzialgleichung wird durch eine Gleichung dargestellt, die Ableitungen unbekannter Funktionen enthalten. Systeme sind Mengen von Differezialgleichungen (in { }-Klammern). > dsolve(Dgl, y(x)); löst Differenzialgleichungen und Systeme symbolisch. Als letztes Argument ist eine Option erlaubt, einige sind: explicit laplace series numeric

        liefert die Lösung, wenn möglich, in expliziter Form verwendet die Laplace-Transformation zur Lösung benutzt die Zerlegung in Potenzreihen zur Lösung liefert eine Prozedur zur Berechnung numerischer Lösungswerte

        Die Lösung kann Konstante enthalten, die von Maple als _C1 ..._Cn ausgegeben werden. ■ > dgl:=diff(y(x),x)+y(x)-x: Zur Information den Ratgeber: > DEtools[odeadvisor](dgl); [_linear, class A] Die Lösung: > dsolve(dgl,y(x)); y(x) = x-1+exp(-x)_C1 ■ Lösung mit Anfangsbedingungen: > dsolve({diff(y(x),x)-exp(x)-y(x)ˆ2,y(0)=0},y(x),series); 1 1 7 31 5 y(x) = x + x2 + x3 + x4 + x + O(x6 ) 2 2 24 120 ▲ Auch bei der Option numeric enthält die Anweisung die Anfangsbedingungen. Zur Berechnung der Lösung wird die Runge-Kutta-Methode verwendet. Optional können andere Methoden zur numerischen Lösung von gewöhnlichen Differenzialgleichungen gewählt werden: > dsolve(Dgl,y(x),numeric,option); Das Schlüsselwort option kann hierbei folgende Werte annehmen: method=rkf45, method=dverk78, method=classical, method=gear, method=mgear, method=lsode, method=taylorseries

        Voreinstellung: Fehlberg 4/5 Runge-Kutta, 7/8 Runge-Kutta, diverse: Euler..Runge-Kutta..predictor-corrector Methode, diverse: Gear Einschrittextrapolationsverfahren, diverse: Gear Mehrschrittmethode, diverse: Livermore Löser für steife DGL

        Weitere Tools zur Visualisierung von Richtungsfeldern etc. finden sich im Paket DEtools oder im Paket plots mit odeplot.

        2.3 Problemlösungsumgebungen

        2.3.2

        133

        Programmierung

        Selbsterstellte Programmblöcke sind vom Benutzer aufgebaute Prozeduren unter Verwendung von Schleifen- und Kontrollkonstrukten und können den bestehenden Bibliotheken von Mathematica und Maple hinzugefügt werden. Mathematica: Do[Ausdruck, {i,i1,i2,di}] bewirkt die Auswertung des Ausdrucks, wobei i den Wertebereich von i1 (Default:1) bis i2 in Schritten von di (Default:1) durchläuft. While[test, Ausdruck] evaluiert den Ausdruck, solange test den Wert True besitzt. Module[{t1,t2,. . .},proced] bewirkt, dass die in der Liste eingeschlossenen Variablen oder Konstanten bezüglich ihrer Nutzung im Modul lokal, die ihnen zugewiesenen Werte außerhalb des Moduls, nicht bekannt sind. ■ In[1]:= sumq[n_]:= Module[{sum=1.},Do[sum=sum+N[Sqrt[i]],{i,2,n}];sum]; Der Aufruf sumq[30] liefert dann z. B. 112.083. ▲ Das letzte Beispiel lässt sich funktional folgendermaßen schreiben: sumq[n_]:=N[Apply[Plus,Table[Sqrt[i],{i,1,n}]],10] für eine Präzision von 10 Ziffern. sumq[30] liefert dann 112.0828452. Maple: Schleifen, werden mit for oder while erzeugt, denen ein Anweisungsteil der Form do Anweisungen od folgt: for i from n to m by di, oder for ind while bed Fallunterscheidungen, erfolgen über if bed then anw1 elif bedi then anwi fi . . . else anwn fi Prozeduranweisung, zur Gestaltung abgeschlossener Programme: >proc(args) > local . . . > options . . . > anw >end; ■ Eine Prozedur, die die Summe der Quadratwurzeln aus den ersten n natürlichen Zahlen bestimmt: >sumqw:=proc(n) > local s,i; > s[0]:=0; > for i to n > do s[i]:=s[i-1]+sqrt(i) od; > evalf(s[n]); >end; Die Prozedur kann jetzt mit einem Argument n aufgerufen werden: > sumqw(30); 112.0828452

        134

        2 Programmierung und Programmiersprachen

        2.3.3

        Kurvenanpassung und Interpolation mit Mathematica

        Mithilfe der Kurvenanpassung werden ausgewählten Funktionen mittels der Methode der kleinsten Quadrate an einen Datensatz angenähert. Fit[{y1,y2 ,. . .},funct,x] mit der Datenliste yi , dem Wertebereich x und funct als der Liste der ausgewählten Funktionen, liefert eine Approximation. ■ Table[xˆ i,{i,0,n}] als Liste der Approximationsfunktionen führt die Anpassung an ein Polynom n-ten Grades durch. Mithilfe der Interpolation wird eine Näherungsfunktion für eine Folge von Datenpunkten bestimmt. Sie ist ähnlich aufgebaut wie eine reine Funktione und erzeugt InterpolatingFunction Objekte. Interpolation[{y1,y2 ,. . .}] erstellt eine Näherungsfunktion mit den Werten yi für xi = i. Interpolation[{{x1,y1 },{x2 ,y2 },. . .}] erstellt eine Näherungsfunktion für die Punktfolge (xi ,yi ).

        2.3.4

        Grafik

        Grafikobjekte in Mathematica: Darstellung von grafischen Objekten auf der von Grafik-Primitiven wie Punkten (point), Linien (Line) und Polygonen (Polygon) bestimmter Dicke und Farbe: Punkt an der Position x,y Linienzug durch die angegebenen Punkte ausgefülltes Rechteck zwischen (xlu ,ylu ) (links unten) und (xro ,yro )(rechts oben) Polygon[{{x1,y1 },{x2 ,y2 },. . .}] ausgefülltes Polygon zwischen den angegebenen Eckpunkten Circle[{x,y},r,{α 1,α 2 }] Kreis(-bogen) mit Radius r, Mittelpunkt (x,y) (und Begrenzungswinkeln) Circle[{x,y},{a,b}] Ellipse mit den Halbachsen a und b Text[Text,{x,y}] auf den Punkt (x,y) zentrierter Text Point[{x,y}] Line[{{x1,y1 },{x2,y2 },. . .}] Rectangle[{xlu,ylu },{xro ,yro }]

        ▲ Mit Graphics[Liste] wird eine Grafik der aufgelisteten Objekte erstellt. Darstellung von Funktionen: Mathematica: Plotf[x],{x,xmin,xmax }] stellt die Funktion f (x) im Bereich zwischen x = xmin und x = xmax grafisch dar. Plot[{f1[x],f2[x],. . .},{x,xmin ,xmax }] erzeugt mehrere Funktionen gleichzeitig. ■ In[1]:=Plot[{BesselJ[0,z],BesselJ[2,z],BesselJ[4,z]},{z,0,10}] erzeugt eine Grafik der Besselfunktion Jn (z) für n = 0,2,4.

        2.3 Problemlösungsumgebungen

        135

        Maple: >plot(funct, hb, vb, options); erzeugt eine zweidimensionale Grafik. funct kann folgende Bedeutungen besitzen: • Eine reelle Funktion f (x) (auch mehrere, in geschweiften Klammern eingeschlossen). • Der ator einer Funktion. • Die Parameterdarstellung einer reellen Funktion in der Form [u(t),v(t),t=a..b] mit (a, b) als Laufbereich. • Eine Liste von Zahlen, fortlaufend als (x, y)-Koordinaten von Punkten zu interpretieren. hb ist der Laufbereich in der Form x=a..b und vb ist der Darstellungsbereich der abhängigen Variablen (bei Polstellen unbedingt angeben!). ▲ Eine der Grenzen der x-Achse kann den Wert ±∞ erhalten. In diesem Fall wird die x-Achse als arctan dargestellt. ■ >plot({BesselJ(0,z),BesselJ(2,z),BesselJ(4,z)},z=0..10); erzeugt eine Grafik der Besselfunktion Jn (z) für n = 0,2,4. Parameterdarstellung: ■ Mathematica: ParametricPlot[{t Cos[t],t Sin[t]},{t,0,3Pi}] Maple: >plot([t*cos(t),t*sin(t),t=0..3*Pi]); erzeugen Darstellungen der archimedischen Spirale. 3-D-Grafik: Mathematica: Plot3D[f[x,y],{x,xa,xe },{y,ya ,ye }] stellt eine gekrümmte Fläche im dreidimensionalen Raum dar und verlangt die Angabe einer Funktion zweier Variablen f (x, y) und der Wertebereiche. ParametricPlot3D[{fx[t,u],fy[t,u],fz [t,u]},{t,ta,te },{u,ua,ue }] zeichnet eine parametrisch vorgegebene Oberfläche. ParametricPlot3D[{fx[t],fy [t],fz [t]},{t,ta,te }] zeichnet ein parametrisch vorgegebene Raumkurve. Maple: >plot3d( f unct,x=a..b,y=c..d); mit einer Funktion zweier unabhängiger Variablen funct zeichnet eine räumliche Fläche. >plot3d([u(s,t),v(s,t),w(s,t)],s=a..b,t=c..d); zeichnet eine parametrisch vorgegebene Oberfläche. >spacecurve([u(t),v(t),w(t)],t=a..b); steht im Bibliothekspaket plots zur Verfügung und zeichnet eine Raumkurve.

        3

        Entscheidung als Grundpfeiler betrieblichen Handelns

        ● Ein großer Teil des betrieblichen Handelns kann als das Fällen von Entscheidungen verstanden werden oder ist mit Entscheidungen verbunden. Versteht man unter Entscheidung nicht nur die strategischplanenden Entscheidungen der Unternehmensführung, sondern auch die operativen Entscheidungen nachgeordneter Stellen, dann können fast alle betriebswirtschaftlich relevanten Geschehnisse als Entscheidungen bzw. Ergebnisse von Entscheidungen interpretiert werden. ● Unter Entscheidung im Sinne der betriebswirtschaftlichen Entscheidungstheorie versteht man die Auswahl zwischen mindestens zwei Alternativen. Die Entscheidung wird hierbei aufgrund von Informationen über das betrachtete Problem getroffen. Um die relevanten Informationen und das Verfahren zu ihrer Aufbereitung auszuwählen, bedarf es der Analyse der gestellten Entscheidungsprobleme.

        3.1

        Einführung in das betriebswirtschaftliche Konzept von Entscheidungen

        3.1.1

        Das wirtschaftliche Handeln in einer Umwelt

        ● Wirtschaftliches Handeln ist der Einsatz von in eigener Verfügungsgewalt befindlichen Ressourcen (z. B. Mitarbeiterarbeitszeit, Finanzmittel) zur Erreichung von Zielen. Die entscheidungorientierte Betriebswirtschaftslehre zielt auf die Beschreibung und Gestaltung rationalen oder intendiert-rationalen Entscheidungsvorgehens. Sie sieht die Entscheidung als eine rationale Auswahlhandlung aus mindestens zwei zur Verfügung stehenden Alternativen. Hierzu werden die möglichen Handlungsalternativen hinsichtlich ihres Beitrags zur Erreichung der Ziele bewertet. ● Wirtschaftliches Handeln findet in einer Umwelt statt, deren Zustand und zukünftige Veränderung die Ergebnisse des eigenen Handelns beeinflussen. ▲ Die Beschreibung eines Umweltzustands ist oft mit Unschärfen belastet. ■ So werden Eigenschaften von Entscheidungsobjekten oft als „hoch“, „mittel“ oder „niedrig“ be-

        zeichnet, ohne dass die exakte Trennlinie zwischen je zwei benachbarten Wertausprägungen spezifiziert werden kann. Die Theorie unscharfer Mengen (→Fuzzy Set Theory, →Fuzzy-Logik) eröffnet eine methodische Behandlung derartiger Probleme. Soweit es sich um die Einschätzung zukünftiger Veränderungen des Umweltzustandes handelt, kommt zu dem Phänomen der Unschärfe das der Unsicherheit hinzu, da sich der zukünftige Umweltzustand aus dem heutigen Umweltzustand dem eigenen wirtschaftlichen Handeln und dem Zusammenwirken einer Vielzahl von Einzelentscheidungen der anderen Wirtschaftssubjekte ergibt. ■ So ist i. d. R. nur mit einer gewissen Wahrscheinlichkeit die Anzahl der Aufträge im Monat Mai des nächsten Jahres vorhersagbar. Weitere Quellen von Unsicherheit: • Die Rahmenbedingungen, unter welchen alle Wirtschaftssubjekte zu arbeiten haben, da hierdurch die Problemstellungen der Entscheider verändert werden können.

        3.1 Einführung in das betriebswirtschaftliche Konzept von Entscheidungen

        137

        ▲ Die Wahrscheinlichkeitstheorie (siehe Kapitel 30) versucht, derartige Probleme einer wissenschaftlichen Fundierung zuzuführen. • Häufig sind die eigenen Handlungsmöglichkeiten bzgl. des Einsatzes verfügbarer Ressourcen sowie deren Einwirkung auf das eigene Zielsystem nur unscharf beschreibbar und/oder mit Unsicherheit behaftet. • Die geplanten Wirkungen des Ressourceneinsatzes bedürfen einer gewissen Zeit (Durchlaufzeit), um effektiv zu werden. • Auch das Zielsystem ist bisweilen unscharf formuliert und unterliegt Veränderungen im Zeitablauf. ■ Neben den formalen betriebswirtschaftlichen Zielen (z. B. Maximierung des Gewinns, Minimierung des Ressourceneinsatzes) sind in der Praxis bspw. persönliche Ziele von Entscheidungsträgern (z. B. Machtzuwachs, Einbettung einer Entscheidung in ein für Außenstehende nicht erkennbares übergreifendes Konzept) zu nennen.

        3.1.2

        Die Qualität einer Entscheidung

        ● Die Qualität einer Entscheidung lässt sich daran messen, ob ein wirtschaftliches Ziel, das mit einer Entscheidung verfolgt werden sollte (und dessen Erreichen auch von anderen Wirtschaftssubjekten und deren Handeln abhängig ist), tatsächlich realisiert wurde (ex-post-Betrachtung). ▲ Bei einer ex-post-Betrachtung des Ergebnisses von Entscheidungen kann jedoch aufgrund der

        Änderung externer Einflussfaktoren eine ex-ante richtige Entscheidung im Lichte der ex-postAnalyse als falsch erscheinen.

        3.1.3

        Der Entscheidungsträger

        ● Als Entscheidungsträger wird eine Person bezeichnet, die über die Verwendung von Ressourcen zur Durchsetzung einer Handlungsalternative entscheidet. In Unternehmen oder anderen wirtschaftlichen Organisationen kommt es jedoch häufig vor, dass standardisierte Entscheidungen, also solche, die in Bezug auf eine gegebene Ausgangssituation immer zu einem vordefinierten Ergebnis kommen, von Maschinen (z. B. DV-Systemen) beantwortet werden. ● Der Mensch als Entscheidungsträger kann sich im Zuge der Entscheidungsvorbereitung darüber hinaus in geeigneter Weise einer maschinellen Unterstützung bedienen. Mensch und Maschine (DV-System) besitzen hierbei weitgehend komplementäre Leistungseigenschaften. ▲ Während die Maschine geeignet ist, gleichartige Prozesse in großer Häufigkeit exakt auszuführen, ist der Mensch geeignet, schnell auf unvorhergesehene Ereignisse zu reagieren und intuitiv und assoziativ zu arbeiten. Umgekehrt ist der Mensch weniger geeignet, repetitive Massenarbeiten exakt zu erledigen, und die Maschine ist (trotz aller Methodenfortschritte im Bereich der Künstlichen Intelligenz) oft noch nicht in der Lage, auf unvorhergesehene Ereignisse „vernünftig“ zu reagieren. Es gilt also, die Vorteile der Leistungseigenschaften von Mensch und Maschine – unter weitgehender Elimination der jeweiligen Nachteile – zu kombinieren. Man kann dies als ein symbiotisches System bezeichnen. ● Unter Entscheidungsarbeit wird die Arbeit zur Vorbereitung und Durchführung von Entscheidungen verstanden. ● In vielen Entscheidungssituationen in der Praxis kommt es vor, dass die Entscheidungsarbeit auf mehrere Menschen, die sich ihrerseits wieder Maschinen bedienen können, verteilt wird. ▲ Die Aufteilung von Entscheidungsarbeit, zum Beispiel in so genannte Abteilungen und das kooperierende Zusammenwirken von Entscheidungsträgern in Abteilungen ist Gegenstand der Organisationstheorie und -praxis.

        138

        3 Entscheidung als Grundpfeiler betrieblichen Handelns

        3.1.4

        Die Kosten einer Entscheidung

        ● Eine Entscheidung verursacht Kosten für den Einsatz von Ressourcen zur Entscheidungsfindung und Durchsetzung, um die gewünschten Ziele zu erreichen. Opportunitätskosten entsprechen dem entgangenen Gewinn bei einem möglichen alternativen Einsatz der zur Entscheidungsfindung und -durchsetzung verwendeten (verbrauchten) Ressourcen. ▲ Opportunitätskosten sind für den Wirtschaftswissenschaftler von besonderem Interesse. Es entsteht die Frage, ob der oder die Entscheidungsträger zusätzliche Kosten für eine weitere Informationsbeschaffung mit dem Ziel der Reduktion der Unschärfe oder der Unsicherheit in Kauf nehmen, um die Qualität der Entscheidung zu erhöhen und damit die Kosten im Zusammenhang mit der Nichterreichung der Ziele zu reduzieren. ▲ Die Informationsbeschaffung ist so lange sinnvoll, wie die Kosten der zusätzlichen Informationsbeschaffung niedriger sind als die Opportunitätskosten des Verfehlens der richtigen Entscheidung bzw. der Ziele. Unter Koordinationskosten versteht man die Kosten des Verfehlens eines (globalen) Ziels in der Situation einer auf mehrere Entscheidungsträger verteilten Entscheidungsarbeit. Sie betreffen die Koordination mehrerer unabhängig voneinander agierender Organisationseinheiten, die ohne (oder mit nicht ausreichender) Kenntnis der jeweiligen Ziele, Handlungsalternativen und Bewertungsfunktionen der anderen entscheiden. ● Die Informationswirtschaft verfolgt das Ziel, die Summe der Kosten, bestehend aus Informationsbeschaffungskosten und Kosten von Fehlentscheidungen, zu minimieren. ▲ Die Fortschritte in der DV- und Netz-Technik ermöglichen die Reduktion der Informationskosten und damit auch die Kosten durch Fehlentscheidungen.

        3.1.5

        Der Entscheidungsprozess als Produktionsprozess

        ▲ Information ist Input (Faktor) für eine Entscheidung. ▲ Das Ergebnis des Entscheidungsprozesses (Produkt) ist eine Handlung, nämlich die Verwendung von verfügbaren Ressourcen.

        Entscheidungsprozess

        „Produktionsprozess“ einer Entscheidung

        3.2 Klassifizierung von Entscheidungsprozessen und Entscheidungen

        3.2

        139

        Klassifizierung von Entscheidungsprozessen und Entscheidungen

        Zur Vorbereitung einer Systematisierung der Entscheidungsunterstützung und zur Beurteilung des Einsatzpotenzials von DV-Technik ist zunächst eine geeignete Klassifizierung von Entscheidungen als Ergebnis eines Entscheidungsprozesses oder der Entscheidungsprozesse selbst vorzunehmen. ▲ Die Klassifikation eines Entscheidungsproblems eröffnet Hilfestellung für die anschließende Auswahl eines adäquaten Verfahrens zur Entscheidungsunterstützung.

        3.2.1

        Klassifikationsansätze für Entscheidungsprozesse

        a) Programmierbare und nicht programmierbare Entscheidungsprozesse ● Wichtig ist die erwartete Anzahl der Wiederholnutzungen eines einmal definierten (programmierten) Verfahrens. Programmierbare Entscheidungsprozesse sind Prozesse, die durch eine in gleicher Art sich wiederholende Problemstellung sowie durch eine schematisch-formale, routinemäßige Lösung (Anwendung einer Lösungsprozedur mit veränderten Parametern) gekennzeichnet sind. ▲ Das Kriterium der schematisch-formalen Programmierung geht i. d. R. mit einer hohen Anzahl derartiger Entscheidungen pro Zeiteinheit einher. Damit eignen sich derartige Prozesse grundsätzlich für eine automatische Abarbeitung. ■ Automatische Auslösung einer Nachbestellung nach dem Bestellpunktverfahren Die Erarbeitung eines derartigen stabilen und generellen Lösungsverfahrens ist Ziel einer so genannten Systemanalyse und Systemgestaltung im Rahmen eines Meta-Entscheidungsproblems. Falls diese generellen Regelungen mit begrenzten (Projekt-) Kosten zu identifizieren sind, ohne dabei auf überhöhte oder nicht beherrschbare Koordinationskosten zu stoßen, wird man versuchen, durch den Einsatz der DV die Kosten der Durchführung einer (großen) Menge der anstehenden Entscheidungen zu senken. Als nicht programmierbare Entscheidungsprozesse bezeichnet man Prozesse, die z. B. bei Erstmaligkeit bzw. Einmaligkeit der Problemstellung durch die Notwendigkeit der Neugenerierung eines Lösungswegs („Erfindung“ einer „neuen“ Lösung) gekennzeichnet sind. ▲ In der betrieblichen Realität sind in aller Regel Mischformen, bestehend aus programmierbaren und nicht programmierbaren Teilen eines Entscheidungsprozesses, zu finden. Im Hinblick auf die Art und den Umfang der DV-Unterstützbarkeit kommt es auf die Anteile der jeweiligen Prozesskomponenten an. ▲ Falls in einem Entscheidungsprozess substanzielle nicht programmierbare Teile vorkommen, können nur programmierbare (Teil-)Entscheidungsprozesse von der DV übernommen (dem Menschen abgenommen) werden. Dies bedeutet wiederum, dass bei nicht programmierbaren (Teil-)Entscheidungsprozessen dem Menschen als Anwender z. B. Angaben zur Steuerung des Entscheidungsprozesses abverlangt werden, die nicht in der DV programmiert vorliegen. Hier kann die DV die Entscheidungsarbeit nicht übernehmen, sondern nur unterstützen. ● Falls erstmalig unvorhergesehene Ausnahmesituationen und ihre Lösungen dann zum Zwecke der möglichen Wiederverwendung systematisch analysiert werden und es gelingt, stabile Systeme der Behandlung derartiger Fälle zu gestalten, so ändert sich der Charakter dieses Teils des Entscheidungsprozesses in einen programmierbaren Entscheidungsprozess. ▲ Die Organisation kann den Prozess der Überführung einer einmaligen Problemstellung respektive eines einmaligen Lösungsverfahrens in eine generelle Regelung durch Modellierungskonzepte, -verfahren und -werkzeuge unterstützen.

        140

        3 Entscheidung als Grundpfeiler betrieblichen Handelns

        b) Vollstrukturierte, teilstrukturierte und unstrukturierte Entscheidungsprozesse ● Entscheidungsprozesse können nach dem Grad der Strukturiertheit differenziert werden, mit gewissen Überschneidungen bzgl. des Grades der Programmierbarkeit. ▲ Die einzelnen Teile (Phasen) des gesamten Problemlösungsprozesses umfassen bspw. die Problemerkenntnis, die Generierung der Handlungsalternativen, die Spezifikation ihrer Auswirkungen und der Umweltzustände sowie die Auswahl der optimalen Handlungsalternative. • Wird von vollstrukturierten Entscheidungsprozessen gesprochen, so versteht man darunter, dass in allen Phasen eines Entscheidungsprozesses eine vollständige Regelung des Problemlösungsvorgehens vorliegt, die dem Einzelnen faktisch keinen Freiheitsgrad der Ausgestaltung des Problemlösungsprozesses lässt. ■ Eine in das Unternehmen gelangte Lieferantenrechnung ist nach einem in der Standardsoftware

        (z. B. SAP) definierten Verfahren zu verbuchen. ● Eine vollständige Regelung des Vorgehens liegt vor, wenn Art, Umfang und Reihenfolge der

        Verknüpfungen von vorliegenden oder programmiert beschaffbaren Daten fixiert sind. Dieser Fall entspricht der vorgenannten Programmierbarkeit. • Bei teilstrukturierten Entscheidungsprozessen ist in mindestens einer Phase die Vollständigkeit des Regulariums nicht gegeben. ■ Teilautomatische Bestelldisposition mit Eingaben seitens einer/eines Disponentin/Disponenten

        • Unstrukturierte Entscheidungsprozesse liegen dann vor, wenn keine Regeln vorliegen.

        c) Schematisch-formal ablaufende Entscheidungsprozesse und konzeptionelle Entscheidungsprozesse ● Nach der Art der für die Durchführung des Entscheidungsprozesses notwendigen Ausbildung des Entscheidungsträgers kann man unterscheiden: • Schematisch-formal ablaufende Entscheidungsprozesse sind das Ergebnis einer vorherigen vollständigen Systemanalyse und Systemgestaltung mit dem Ziel, eine von äußeren Umständen und dem einzelnen Entscheidungsträger unabhängige, einfache, exakte sowie leicht und schnell intersubjektiv nachprüfbare Ausführung zu erreichen. ● Ziel ist, nach einer kurzen Anlern- und Einarbeitungszeit des Entscheidungsträgers eine gegebe-

        ne Mindesteffizienz zu erreichen. ▲ Schematisch-formal ablaufende Entscheidungsprozesse bergen ein hohes systematisches Un-

        terstützungspotenzial, sie sind weitgehend programmierbar. • Konzeptionelle Entscheidungsprozesse zielen hingegen auf die „Erfindung“ „neuer“ Problemlösungen für bislang unbekannte Problemstellungen auf der Basis einer nach einer Grundausbildung erfolgten zusätzlichen konzeptionellen Ausbildung ab. ● Ziel ist die Effektivität des Handelns zu erhöhen, deren Auswirkungen erst mit einem Zeitver-

        zug überprüfbar sind und von zukünftigen Umweltzuständen abhängen. ▲ Konzeptionelle Entscheidungsprozesse besitzen nur ein begrenztes systematisches Unterstüt-

        zungspotenzial, z. B. durch Einsatz allgemeiner Systembeschreibungssprachen oder (soweit sachlich ausreichend spezifizierbar) Systemsimulationsverfahren.

        d) Einpersonenentscheidungsprozesse und Gruppenentscheidungsprozesse ● Nach der Anzahl der an einem Entscheidungsprozess Beteiligten unterscheidet man Einpersonenentscheidungsprozesse und Gruppenentscheidungsprozesse.

        3.2 Klassifizierung von Entscheidungsprozessen und Entscheidungen

        141

        Die systematische Unterstützung von Einpersonenentscheidungsprozessen basiert auf den individuellen Bedürfnissen dieser Person, die bspw. im Rahmen einer Systemanalyse erhoben werden. Soweit es sich hierbei um schematisch-formal durchzuführende Entscheidungen handelt, für die die Personenunabhängigkeit des Entscheidungsprozesses erreicht werden soll, zielt man auf gleichartige Einzelpersonenunterstützungen für verschiedene für den betreffenden Arbeitsbereich vorgesehene Mitarbeiter. ▲ Die präskriptive Theorie der Individualentscheidung eröffnet Unterstützungsmöglichkeiten für Einpersonenentscheidungen. Bei Gruppenentscheidungsprozessen sind mehrere Personen mit gleichartigen oder unterschiedlichen Teilaufgaben am Lösungsprozess beteiligt. Von Gruppenentscheidungsprozessen spricht man, wenn Entscheidungen von einer Gruppe erarbeitet werden, die die Entscheidung selbst zu verantworten hat, aber auch bei Entscheidungsprozessen, für die mehrere Personen Zuarbeit leisten. Primäres Ziel einer systematischen Unterstützung ist die gegenseitige Information und Abstimmung der Teilaufgaben und -ergebnisse. ● Die Organisationstheorie kennt zwei grundsätzliche Mechanismen der Abstimmung mehrerer Entscheidungs(teil)träger: • Die Abstimmung über Hierarchie (Delegation und Kontrolle) bedeutet, dass ein Vorgesetzter das Recht wahrnimmt, einem Untergebenen eine Aufgabe zu übertragen und der Untergebene diese Aufgabe erfüllt. Dabei wird der Vorgesetzte, soweit möglich und von ihm als sinnvoll erachtet, parallel zur Aufgabenstellung seine Zielsetzung, eine Beschreibung von Handlungsmöglichkeiten (und insbesondere -grenzen) und die Art der Rückmeldung der Arbeitsergebnisse des Untergebenen spezifizieren, um die Arbeit des Untergebenen geeignet zu steuern. ■ Zuweisung von Arbeitspaketen eines Projekts an einzelne Projektmitarbeiter

        • Die Abstimmung über den Markt bedeutet demgegenüber, dass zwei gleichberechtigte Verhandlungspartner einen Vertrag über den Austausch von Leistung und Gegenleistung aushandeln, wobei jedem der Beteiligten freisteht, die Verhandlungen zu verlassen. • Workflow Managment Systems (WMS) unterstützen den Belegfluss durch eine Menge von Bearbeitungsstationen (z. B. Abteilungen). ■ Prozess zur Erstattung von Reisekosten einer Dienstreise

        Die Wirtschaftsinformatik bietet unter dem Stichwort Computer Supported Cooperative Work (CSCW) zwei vornehmliche Unterstützungsformen für Gruppenentscheidungsprozesse. • Computer Aided Team (CATeam) ist ein Konzept zur DV-gestützten Diskussion unstrukturierter konzeptioneller Entscheidungsprozesse in einer Arbeitsgruppe. ■ In einem CATeam-Raum erarbeiten 10 Entscheidungsträger an PCs unter Steuerung eines Mo-

        derators eine neue Verkaufsstrategie, indem zunächst Argumente gesammelt werden, auf einer gemeinsamen Anzeigetafel alle Argumente allen sichtbar gemacht und von diesen kommentiert werden, Zusammenfassungen der Argumente zu Themenbereichen erfolgen und gemeinsam neue Wege gesucht, diskutiert und verabschiedet werden. ▲ Durch die Anonymität bei der textualen Eingabe der Argumente werden erfahrungsgemäß mehr Argumente in einer Arbeitsgruppe eingebracht, die Qualität der Lösung damit potenziell besser.

        3.2.2

        Klassifikationsansätze für Entscheidungen (als Ergebnisse von Entscheidungsprozessen)

        Nach den Klassifikationen des Entscheidungsprozesses sollen nun die Entscheidungen selbst (als Ergebnisse eines Entscheidungsprozesses) betrachtet werden.

        142

        3 Entscheidung als Grundpfeiler betrieblichen Handelns

        a) Einstufige und mehrstufige Entscheidungen ● Entsprechend dem Ausmaß der Zerlegung einer (Global-)Entscheidung in Teilentscheidungen und deren zeitlichen Aufeinanderfolge unterscheidet man zwischen ein- und mehrstufigen Entscheidungen. Eine einstufige Entscheidung ist in der Praxis häufig daran geknüpft, dass es sich um eine strukturell einfache, repetitive Entscheidung mit hoher Wiederholrate handelt, die im Rahmen eines stabilen vorprogrammierten Gesamtsystems erfolgt. Mehrstufige Entscheidungen sind eher bei komplexen Entscheidungen anzutreffen. Lässt sich die Entscheidung in eine Folge von einstufigen Entscheidungen zerlegen (mehrstufige Einzelfallentscheidung), kann sie im Rahmen eines aus mehreren Unterprogrammen bestehenden Anwendungssystems oder einer festgefügten Kette einzelner Anwendungssysteme automatisch behandelt werden. ■ Ein Beispiel einer mehrstufigen Einzelfallentscheidung ist die Festlegung einer Informationssystemstrategie eines Unternehmens, die in aufeinander folgenden Teilentscheidungen umgesetzt und auch rollierend fortgeschrieben wird. Flexible Planung bedeutet, dass bei mehrstufigen Entscheidungen die ersten (Teil-)Entscheidungen so getroffen werden, dass eine ausreichend flexible Basis (ein ausreichender Vorbereitungsgrad) für die später folgenden (Teil-)Entscheidungen gelegt wird, die im Rahmen einer dann genauer bekannten Umweltsituation sehr unterschiedliche Ausprägungen annehmen können. ● Mehrstufige Einzelfallentscheidungen können durch Workflow Managment Systems (WMS) unterstützt werden. Darüber hinaus können Verfahren zur Analyse von Problemstellungen und (soweit sachlich ausreichend spezifiziert) zur Beschreibung und Simulation individuell gestalteter Lösungen angeboten werden. ▲ Durch den Einsatz spezieller DV-Werkzeuge kann ein schnelles Prototyping erfolgen (rapid prototyping). ● Die Gestaltung der sachlichen Lösung eines Einzelfalls (d. h. die konkrete Gestaltung, wie welche Daten verknüpft werden und in welcher Reihenfolge verschiedene Verarbeitungen stattfinden) ist individuell zu programmieren (Individualentwicklung) oder aus einer Standardsoftware zu übernehmen.

        b) Statische und dynamische Entscheidungen ● Man kann Entscheidungen nach der zeitlichen Stabilität von Zuständen und Handlungsvarianten in statische und dynamische Entscheidungen einteilen. Bei statischen Entscheidungen bleiben der Datenkranz der Zielstruktur, der Handlungsvarianten sowie deren Bewertung konstant. Dynamische Entscheidungen bedeutet, dass sich ein oder mehrere dieser Parameter im Zeitablauf verändern. ● Bei dynamischen Entscheidungen spielt die Zeit und ihre Modellierung eine besondere Rolle. Da im Zuge dieses Vorgehens die Modellkomplexität sowie die durch einen Benutzer zu überschauende Komplexität des Lösungsverfahrens steigt, wird man diesen Lösungsansatz eher bei komplexen, mehrstufigen Entscheidungen erwägen. ▲ Unter der Voraussetzung, dass alle für eine gegebene Mindestqualität einer Ergebniserklärung notwendigen dynamischen Einzelfallfaktoren modelliert und mit aktuellen Parameterwerten versehen sind, bieten DV-Systeme die Möglichkeit einer schnellen Durchrechnung (Simulation) einer Entscheidung an. ▲ Die Praxis stellt häufig die Anforderung nach dynamischen Entscheidungen, doch wird aus Gründen der Modellierungs- und Informationskosten bisweilen nur ein statisches Surrogat der dynamischen Entscheidung behandelt. Ein weiterer Grund zur Abkehr von dynamischen Strukturen ist der bisweilen sehr hohe Rechenaufwand.

        3.2 Klassifizierung von Entscheidungsprozessen und Entscheidungen

        143

        c) Strategische und operative Entscheidungen Je nach dem Gegenstand, der zur Entscheidung ansteht, bzw. je nach der Managementebene, auf welcher eine Entscheidung getroffen wird, unterscheidet man: Strategische Entscheidungen werden im oberen Management getroffen und zeichnen sich tendenziell dadurch aus, dass sie auf aggregierten, zukunftsorientierten, unternehmensexternen Daten und deren qualitativen Beschreibung beruhen. ▲ Derartige Entscheidungen können durch Verfahren zur Analyse von Problemstellungen und (soweit fachlich ausreichend spezifizierbar) zur Beschreibung und Simulation von Lösungen unterstützt werden. Operative Entscheidungen werden auf der Ausführungsebene getroffen. Sie zeichnen sich tendenziell dadurch aus, dass sie auf der Basis quantitativ spezifizierter unternehmens- und funktionsinterner (oft automatisch abrufbarer) Daten Probleme betreffen, die kurzfristig beobachtbar und bzgl. des Resultats einer Entscheidung intersubjektiv relativ leicht überprüfbar sind. ▲ Derartige Entscheidungen weisen ein hohes systematisches Unterstützungspotenzial auf. ▲ Durch Änderung der nicht exakt rechenbaren Rahmenfaktoren einer Strategie kann es durchaus vorkommen, dass sich eine einmal gewählte Strategie dann auf der operativen Ebene als falsch erweist.

        d) Administrations-, Dispositions-, Planungs- und Kontrollentscheidungen ● Nach der Art der Arbeitsausführung und der zugeordneten Managementebene (Führungsebene) unterscheidet man: • Administrationsentscheidungen betreffen Maßnahmen, die von ausführenden Mitarbeitern bei Erfüllung von hierzu notwendigen Bedingungen getätigt werden müssen. Das vornehmliche Ziel bei Administrationsentscheidungen ist die Exaktheit der Prüfung, ob die Bedingungen erfüllt sind, sowie die saubere Durchführung der dann ausgelösten Maßnahme. ■ Prüfung eines Bauantrages und Genehmigung bei Vorliegen aller Voraussetzungen ▲ Derartige Entscheidungen bergen ein hohes Potenzial an systematischer Unterstützung. • Dispositionsentscheidungen basieren auf einem Dispositionsspielraum für den Disponenten im Rahmen einer generellen Regelung seines Dispositionsziels und seines Handlungsspielraums. ▲ Ziel der Einführung von Dispositionsentscheidungen ist, höher qualifizierten und/oder erfahre-

        nen Mitarbeitern eigene Verantwortungsfreiräume im Rahmen der generellen Regelung zu bieten und die in der Person liegenden, im Vergleich zur reinen Ausführung von Administrationsentscheidungen höheren Potenziale zu besseren Entscheidungen für das Unternehmen zu aktivieren. ■ Ein Beispiel einer Dispositionsentscheidung ist die Zuordnung von auszuliefernden Aufträgen

        auf verfügbare Lastwagen mit dem Ziel, alle Kunden innerhalb von drei Tagen zu beliefern und im Rahmen dieses Ziels die Anzahl der gefahrenen Kilometer zu minimieren (Travelling Salesman-Problem). ▲ Derartige Entscheidungen bergen ein noch hohes, im Vergleich zu Administrationsentscheidun-

        gen jedoch reduziertes systematisches Unterstützungspotenzial. Hinsichtlich eines DV-Einsatzes ist hier vornehmlich an die Datenwiedergewinnung und -speicherung sowie an die Simulation von Handlungsalternativen zu denken. • Planungsentscheidungen basieren wiederum auf einem Planungsspielraum für den Planer im Rahmen einer generellen Regelungen des Planungsziels und des Handlungsspielraums. Insofern sind auch in diesem Fall die vorgenannten Aussagen zu Dispositionsentscheidungen hinsichtlich der systematischen Unterstützung und zum DV-Einsatz im Grundsatz gültig. Unterschiede ergeben sich dadurch, dass Planungsentscheidungen einer höheren Managementebene zugeordnet werden und in der Sache längerfristig zukunftsorientiert und in der Beschreibung stärker qualitativ sind.

        144

        3 Entscheidung als Grundpfeiler betrieblichen Handelns ▲ Insofern reduziert sich das systematische Unterstützungspotenzial und die Möglichkeit des DV-

        Einsatzes. Es kommen mehr generelle Systembeschreibungs- und Simulationsverfahren infrage. • Kontrollentscheidungen basieren auf Planwerten. Sie verfolgen in einem Planungszeitraum aufgelaufene Ist-Werte und stellen einen Vergleich zu den Soll-Werten her. Im Falle einer Abweichung wird zumindest eine Warnung gegeben. ▲ Bei komfortablen Systemen erfolgt eine Analyse (und eine entsprechende Ausgabe) der Abwei-

        chungsursachen sowie, falls möglich, der Vorschlag einer Korrekturmaßnahme an den verantwortlichen Planer oder Disponenten. Falls ein solcher Vorschlag systematisch nicht erarbeitbar ist, kann eine entsprechende Korrekturplanungs- oder -dispositionsaufgabe geeignet präsentiert werden (z. B. grafisch). ● Derartige Kontrollaufgaben obliegen demjenigen, der Aufgaben und Handlungsspielräume dele-

        giert. ▲ Das systematische Unterstützungspotenzial sowie der DV-Einsatz bei Kontrollentscheidungen

        hängen von der Managementebene und damit von der Spezifizierbarkeit und Quantifizierbarkeit der zu kontrollierenden Phänomene ab.

        3.3

        Grundlagen der Entscheidungstheorie

        Eine Analyse des Entscheidungsverhalten kann zum Ziel haben, entweder deskriptive Aussagen oder präskriptive (normative) Aussagen zu gewinnen. Je nachdem, welche dieser Intentionen im Vordergrund steht, spricht man von einer deskriptiven oder einer präskriptiven Entscheidungstheorie. Unter Entscheidungstheorie versteht man daher allgemein die logische oder empirische Analyse des rationalen oder intendiert rationalen Entscheidungsverhaltens.

        3.3.1

        Präskriptive Entscheidungstheorie

        ● Im Mittelpunkt der präskriptiven oder normativen Entscheidungstheorie steht die Frage, „wie sich Menschen verhalten sollen, wenn diese bestimmte Ziele bestmöglich erreichen wollen“. Um dies beurteilen zu können, benötigt man Standards zur Bewertung der Ergebnisse der einzelnen Alternativen, die dem Postulat rationalen Verhaltens entsprechen. ● Das Entscheidungsverhalten soll sich an einem rational handelnden Entscheider orientieren, der in der klassischen Entscheidungstheorie aus Vereinfachungsgründen als ein Homo Oeconomicus angesehen wird, der über unbegrenzte Rechen- und Informationsverarbeitungskapazität verfügt und stets den optimalen Zielerreichungsgrad anstrebt. ▲ Damit steht der Begriff „Rationalität“ im Zentrum der präskriptiven Entscheidungstheorie. Die Entscheidungstheorie setzt voraus, dass der Entscheider über ein in sich widerspruchsfreies Zielsystem verfügt und dass er sich entsprechend seinem Zielsystem verhält. In der praktischen Anwendung der Entscheidungstheorie kann aber die Forderung nach substanzieller Rationalität Bedeutung erlangen; dabei zieht man i. Allg. die gewählten Ziele als Beurteilungskriterien für die Rationalität heran. ■ So ist bspw. die primär an der (privatwirtschaftlichen) Gewinnmaximierung orientierte Entscheidung eines Spediteurs, den Gütertransport über große Strecken mit LKWs und nicht im kombinierten Verkehr durchzuführen, substanziell nicht rational, d. h. sie stehen nicht im Einklang mit dem Ziel der Gesellschaft, Energie zu schonen und Lärm zu vermindern. In der Literatur unterscheidet man zusätzlich zwischen objektiver und subjektiver Rationalität.

        3.3 Grundlagen der Entscheidungstheorie

        145

        ● Man spricht „von objektiver Rationalität, wenn das Situationsbild des Entscheiders mit der Wirklichkeit bzw. mit den Informationen über die Wirklichkeit übereinstimmt, wie sie ein objektiver Beobachter ermitteln kann.“ ● Unter dem Postulat der subjektiven Rationalität wird eine Entscheidung schon dann als optimal angesehen, wenn sie mit den subjektiv wahrgenommenen Informationen des Entscheidungsträgers in Übereinstimmung steht.

        3.3.2

        Deskriptive Entscheidungstheorie

        ● Die deskriptive Entscheidungstheorie versucht eine Antwort zu geben auf die Frage: „Wie werden Entscheidungen in der Realität getroffen und warum werden sie so und nicht anders getroffen?“ Die deskriptive Entscheidungstheorie geht von der empirischen Beobachtung aus und ist bemüht, einen Zusammenhang zwischen den beobachteten Entscheidungen und der vorliegenden Entscheidungssituation zu finden. Die deskriptive Entscheidungstheorie versuchte anfangs, die Modelle der präskriptiven Entscheidungstheorie zur Erklärung von Entscheidungsverhalten heranzuziehen, konnte damit aber auftretende Widersprüche zu empirisch beobachtbarem Verhalten nicht erklären. Auch durch zusätzliche Berücksichtigung von Persönlichkeitsfaktoren des Entscheidungsträgers oder durch Anpassung an die spezielle Entscheidungssituation ließen sich nicht alle Unstimmigkeiten abbauen. Die Literatur sieht die Ursache für dieses Scheitern im Fundament der präskriptiven Entscheidungstheorie, die von gegebenen Tatsachen- und Wertprämissen ausgeht und die Rationalität des Entscheidungsverhaltens postuliert. Eine auf Erklärung und Prognose des Entscheidungsverhaltens ausgerichtete Theorie muss aber das Zustandekommen der Entscheidungsprämissen und empirisch zu beobachtende Abweichungen vom Rationalverhalten in ihre Modellansätze mit einbeziehen:

        3.3.3

        Das Konzept der Beschränkten Rationalität

        Kritik an der Rationalitätsforderung der Entscheidungstheorie, d. h. an den Grundprämissen eines Entscheiders als Homo Oeconomicus, wurde schon 1945 von Herbert A. Simon geäußert. ● Simon argumentierte, dass Menschen nur über eine beschränkte Informationsverarbeitungskapazität verfügen und daher • nicht alle Alternativen a priori kennen, • nicht alle möglichen Konsequenzen a priori angeben können, • die Konsequenzen einzelner Aktionen a priori nur unvollständig kennen, • nicht optimierende sondern satisfizierende Entscheidungen treffen. ● Simons Satifizierungskonzept basiert auf der Anspruchsniveautheorie der Psychologie, wie sie 1944 von Lewin, Dembo, Festinger, Sears formuliert wurde. Danach versucht ein Individuum in der Zukunft einen Zielerfüllungsgrad zu erreichen, der sich an den Ergebnissen vorangehender Versuche orientiert. Simon geht auch davon aus, dass eine Entscheidung aus zwei Stufen besteht, da der eigentlichen Alternativenauswahl ein Suchprozess vorangeht. ▲ Diese Unterscheidung in Phasen der Entscheidungsfindung führte in der Literatur zu einer Vielzahl von Phasenmodellen, die neben der Ausführungsphase zumeist 5 Phasen (Anregung, Unorientiertheit, Orientierung, Distanzierung, Entschluss) unterscheiden, und nur in Details variieren. ■ In einer empirischen Studie über die Erstbeschaffung von EDV-Anlagen untersuchte Witte 1968 das Phasentheorem von Brim, Glass, Lavin, Goodman auf praktische Relevanz und legte dabei folgende Hypothese zugrunde:

        146

        3 Entscheidung als Grundpfeiler betrieblichen Handelns

        „Wenn ein komplexer, innovativer, multipersonaler Entscheidungsprozess in mikro-ökonomischen Einheiten abläuft, dann liegt zeitlich • vor dem Entschluss die Bewertung der Alternativen, • vor der Bewertung der Alternativen die Erarbeitung der Alternativen, • vor der Erarbeitung der Alternativen die Gewinnung der Informationen, • vor der Gewinnung der Informationen das Erkennen des Entscheidungsproblems.“ Witte kam in seiner Studie zu dem Ergebnis, dass die Fünf-Phasen-Hypothese in ihrem sukzessiven Ablauf keine uneingeschränkte Gültigkeit besitzt und auch für Teilentscheidungen nicht zwingend ist. Er konnte zeigen, dass sich die Aktivitäten der einzelnen Phasen unregelmäßig über den gesamten Zeitraum von Start bis Schluss erstrecken. Dies entspricht auch der Erfahrung, dass Entscheidungsprozesse oft Zyklen aufweisen, die insbesondere die Aufnahme und Verarbeitung von zusätzlichen Informationen betreffen, die erst nach Feststellung eines Informationsdefizits besorgt werden. ▲ Mit der Abkehr vom Homo Oeconomicus und damit der Annahme einer beschränkten Rationalität des Entscheidungsträgers hat sich die deskriptive Entscheidungstheorie zu einer interdisziplinären, insbesondere verhaltenswissenschaftlichen Analyse von Entscheidungs- und Problemlösungsprozessen entwickelt.

        3.3.4

        Aufbau eines Entscheidungsmodells

        Um in komplexen Entscheidungssituationen eine sachgerechte Wahl treffen zu können, ist es sinnvoll und üblich, das in der Realität vorliegende Entscheidungsproblem (Realproblem) aus der Sicht des Entscheidungsträgers in ein Entscheidungsmodell abzubilden. ● Ein Modell ist eine vereinfachende, aber strukturgleiche zweckorientierte Abbildung eines realen Sachverhaltes. ▲ Die Forderung nach Vereinfachung ist vorrangig pragmatischer Natur, da wegen der Komplexität der Realität erst durch eine Reduktion auf die für die jeweilige Problemstellung wesentlichen Elemente und Relationen die Formulierung des Problems in Form eines mathematischen Systems möglich wird. ■ So kommt es z. B. in Produktionsplanungsmodellen oft nur auf die Deckungsbeiträge der Produkte und nicht auf andere Charakteristika wie Verpackung, Farbe usw. an. Entsprechend werden Produktionsplanungsmodelle vereinfacht, indem die Produkte nur durch das für die Entscheidung relevante Element Deckungsbeitrag repräsentiert werden, während die anderen charakteristischen Elemente eines Produktes im Modell vernachlässigt werden. ▲ Strukturgleichheit oder Strukturähnlichkeit mit dem realen Entscheidungsproblem ist eine zwingende Forderung, da Rückschlüsse von den Ergebnissen der Modellanalyse auf das Realproblem ermöglicht werden sollen. Um Aussagen über den abgebildeten Gegenstandsbereich zu erzielen, müssen daher, außer den Elementen und Eigenschaften des Realsystems, die zwischen diesen Elementen und Eigenschaften bestehenden Beziehungen im Modell erfasst werden. Mithilfe des Entscheidungsmodells werden die für die Realisierung bestimmter Ziele durchzuführenden Aktionen ausgewählt. Die beschränkte Informationsverarbeitungskapazität des Entscheidungsträgers führt zu einer selektiven und auch subjektiven Wahrnehmung des realen Entscheidungsproblems; thematisiert werden kann nur, was der Entscheider einerseits bereits kennt und erfahren, andererseits aber auch nicht (un)bewusst verdrängt hat. Dabei wird i. Allg. unterschieden zwischen Informationen über das Entscheidungsfeld und über die vom Entscheider verfolgten Ziele, sein Zielsystem. ● Das Entscheidungsfeld umfasst • den Aktionenraum A, die Menge der dem Entscheidungsträger zur Verfügung stehenden Aktionen (Alternativen, Entscheidungsvariablen, Strategien), z. B. die Menge an Maschinen, die für ein bestimmtes Investitionsprojekt infrage kommen.

        3.3 Grundlagen der Entscheidungstheorie

        147

        • den Zustandsraum S, wobei jeder Zustand eine spezielle Kombination aller relevanten Umweltdaten repräsentiert. Denkbar sind hier z. B. alternative Absatzentwicklungen der Produkte, die auf einer neu zu beschaffenden Produktionsanlage gefertigt werden sollen. • eine Ergebnisfunktion g: A × S → E, die jedem Paar (a,s) ∈ A × S eine Konsequenz g(a,s) ∈ E zuordnet. Bestimmt werden muss in diesem Zusammenhang z. B., welcher Gewinn sich aus der Anschaffung einer Maschine des Typs A bei sehr guter Absatzlage des betrachteten Produktes ergeben wird. ▲ Die Alternativen repräsentieren dabei Variablen, die vom Entscheider direkt oder zumindest indirekt beeinflussbar sind. Dagegen hat er keinen Einfluss auf die Umweltzustände, die ebenfalls auf die Ergebnisse der Alternativen einwirken. ▲ Zu dem Zielsystem gehören nicht nur die Zielgrößen (Zielfunktionen), sondern auch die Präferenzvorstellungen des Entscheidungsträgers bzgl. der Ausprägung jedes einzelnen Zieles und im Vergleich zwischen den Zielen. ■ Beispielsweise muss festgelegt werden, ob ein höherer Gewinn auch als höher gewertet wird. Andererseits muss spezifiziert werden, ob z. B. ein höherer Gewinn für den Entscheider wichtiger ist als eine höherere Kundenzufriedenheit. ● Grundsätzlich ist am Ende eines Entscheidungsprozesses die ermittelte Lösung in Hinblick auf die Realität zu überprüfen. Der Modellierungsprozess mit all seinen Elementen sollte daraufhin untersucht werden, ob die getroffenen Annahmen weiterhin Gültigkeit besitzen.

        3.3.5

        Ziele und Zielsysteme

        ● Ziele werden als Richtlinien der unternehmerischen Aktivitäten bezüglich zukünftig angestrebter Zustände verstanden und sind nach Inhalt, Ausmaß und Zeitbezug zu operationalisieren. Von Bedeutung ist dabei die grundsätzliche Entscheidung, was überhaupt anzustreben ist, und daran anschließend, in welchem Zusammenhang diese Bestrebungen zueinander stehen, d. h. in welcher Art von Zielsystem die Einzelinhalte zusammengeführt werden können. ▲ Die wesentlichen Zielinhalte sind für jedes Unternehmen und gegebenenfalls für jede Entscheidung individuell zu definieren bzw. zu überdenken. Ist die Zielsuche beendet, muss der Entscheidungsträger einerseits die Konsequenzen angeben, die für die Ziele mit der Ausführung einer Aktion verbunden sind und hat andererseits grundsätzliche Präferenzen bezüglich der unterschiedlichen Ergebnismerkmale zu definieren. Die ermittelten Konsequenzen sind einer weitergehenden Analyse zu unterziehen, in der die einzelnen Komponenten in Hinblick auf ihre Operationalität beleuchtet werden: ● Ziele, deren Realisierung sich nicht überprüfen lässt, sind nicht-operational, da sie keinen Maßstab für die Bewertung einer Alternative darstellen und somit die Auswahlentscheidung nicht unterstützen können. ● Quantitative Zielinhalte, die über Intervall- oder Verhältnisskalen erfasst werden können, repräsentieren in jedem Fall operationale Größen. ● Problematischer gestaltet sich die Bewertung qualitativer Zielinhalte. Deren Charakterisierung erfolgt entweder näherungsweise mithilfe von quantifizierbaren Ersatzkriterien oder liegt häufig nur in Form von nominal- bzw. ordinalskalierten Aussagen hinsichtlich der Zielerreichung vor. Damit ist zwar eine Operationalität gegeben, deren Verrechnung zum Zweck des Vergleichs von Handlungsalternativen jedoch Schwierigkeiten bereitet, da sich nominal- und ordinalskalierte Bewertungen aus theoretischer Sicht nicht ohne weiteres mittels mathematischer Operatoren gewichten und aggregieren lassen.

        148

        3 Entscheidung als Grundpfeiler betrieblichen Handelns

        Darüber hinaus muss der Entscheider Präferenzrelationen formulieren: ● Notwendig ist stets eine Höhenpräferenzrelation, die eine Vorschrift über das erstrebte Ausmaß der Zielgröße festlegt. Beispiele sind • die Maximierungsregel (jedes höhere Ergebnis ist jedem niedrigeren vorzuziehen), • die Minimierungsregel (jedes niedrigere Ergebnis ist jedem höheren vorzuziehen) und • die anspruchsniveaubezogene Ergebnisbewertung (Ergebnisse ab (bis zu) einer bestimmten Ergebnishöhe gelten als zufrieden stellend, darunter- (darüber-) liegende Ergebnisse als nicht zufrieden stellend). ● Eine Artenpräferenzrelation wird erforderlich, wenn der Entscheidungsträger gleichzeitig mehrere Zielgrößen anstrebt und diese Zielgrößen zumindest teilweise konfliktär sind. Eine häufig anzutreffende Form der Artenpräferenzrelation stellt die Zielgewichtung dar, bei der eine Zielgröße als Standardmaß des Nutzens gewählt wird und alle übrigen Zielgrößen über eine Nutzenschätzung in Einheiten dieses Standardmaßes umgerechnet werden. ● Die Zeitpräferenz fixiert eine Vorschrift über die Vorziehenswürdigkeit von Aktionen mit Ergebnissen verschiedener Zeitdimension. Sie wird immer dann erforderlich, wenn die Ergebnisse der verfügbaren Handlungsalternativen nicht alle zu demselben Zeitpunkt anfallen. Bei monetären Ergebnissen wird als Zeitpräferenz häufig eine Diskontierung der Beträge auf einen gemeinsamen Bezugszeitpunkt verwendet. In Entscheidungssituationen werden meist mehrere Ziele verfolgt, die i. Allg. nicht unabhängig voneinander zu betrachten sind. Generell lassen sich drei Zielbeziehungstypen unterscheiden: ● Indifferente Beziehungen bestehen, wenn zwischen zwei Zielen Neutralität herrscht, d. h. die Verbesserung der einen Zielgröße keinen Einfluss auf die Ausprägung der anderen hat. ● Zielharmonie ist im Falle komplementärer Beziehungen gegeben, die Erfüllung des einen Ziels trägt positiv zur Erfüllung des anderen bei. ● Besteht eine Konkurrenz-Beziehung zwischen zwei Zielen, dann vermindert die Realisation des einen Ziels den Erfüllungsgrad des anderen. Im Extremfall der konfliktären Zielbeziehung schließt das Erreichen des einen Ziels die Erfüllung eines anderen vollständig aus. ▲ Die erkannten Abhängigkeiten werden dann durch eine horizontale oder auch vertikale Zuordnung systematisiert. Diese Zielstrukturierung kann daher mit einem Prozess der Bildung einer Zielhierarchie verglichen werden und liefert im Ergebnis ein unternehmerisches Zielsystem, dessen Zielinhalte entscheidungsträgerbedingt, d. h. beispielsweise abhängig von der subjektiven Einstellung des Managements, und entscheidungsfeldbedingt, in Abhängigkeit von der jeweiligen Umfeldsituation, geordnet werden.

        3.3.6

        Der Aktionenraum A

        ● Bei einem Entscheidungsproblem stehen dem Entscheidungsträger zu einem bestimmten Zeitpunkt gewisse Aktionen (Alternativen, Handlungsweisen, Strategien) a1 ,a2 , . . . ,am zur Auswahl. Die Menge A = {a1 ,a2 , . . . ,am} der zur Verfügung stehenden Aktionen heißt Aktionenraum (Aktionsraum, Aktionsfeld, Alternativenmenge, Entscheidungsraum). ▲ Für die Lösung eines Entscheidungsproblems ist es prinzipiell unerheblich, ob es sich bei den verschiedenen betrachteten Aktionen um Einzelmaßnahmen oder jeweils um ganze Bündel von Maßnahmen handelt. ● Die Emittlung einer Lösung des Entscheidungsproblems, die den angestrebten Zielen entspricht, setzt allerdings voraus, dass die Aktionsmöglichkeiten nach dem Prinzip der vollkommenen Alternativenstellung formuliert wurden.

        3.3 Grundlagen der Entscheidungstheorie

        149

        Dieses Prinzip verlangt, das Entscheidungsproblem so zu stellen, dass der Entscheider 1. gezwungen ist, eine der betrachteten Alternativen zu ergreifen und 2. gleichzeitig nur eine einzige der Alternativen realisieren kann.

        3.3.7

        Bewertung der Aktionen

        ▲ In der betrieblichen Praxis gestaltet sich die Lösung einer Entscheidungssituation zumeist schwierig, da i. Allg. die Alternativen bezüglich mehrerer Ziele zu beurteilen sind, deren Bewertungsdimensionen stark variieren können. ■ Zur Verdeutlichung sei das folgende Beispiel eines Autokaufes betrachtet (Die Bewertung von Design, Ausstattung und Werkstatt basiert dabei auf einer Zehnpunkteskala, wobei 10 die beste und 1 die schlechteste Bewertung ist.): Preis Design Motorleistung Ausstattung A1 50.000 a 9 120 kW mittel A2 25.000 a 6 55 kW schlecht A3 30.000 a 5 80 kW sehr gut

        Werkstatt 3 8 5

        Wie deutlich wird, ist eine Auswahlentscheidung nicht ohne weiteres möglich, da keine Alternative in Bezug auf alle Kriterien den besten Wert aufweist. ▲ Für den allgemeinen Fall kann man davon ausgehen, dass die mit einer Aktion verknüpften Konsequenzen derart komplex sind, dass ihre simultane Berücksichtigung den Entscheider schnell überfordert. Daher wird jeder Alternative ein so genannter Präferenzwert Φ (ai ) zugewiesen, der dann stellvertretend für die einzelnen Ergebnisausprägungen steht und sich als repräsentatives Auswahlkriterium heranziehen lässt. ● Formal lässt sich der Prozess der Aktionenbewertung als eine Abbildung Φ : A → R darstellen, mittels derer jeder Aktion a ∈ A eine reelle Zahl Φ (a) ∈ R so zugeordnet wird, dass die natürliche Anordnung der den Aktionen zugeordneten Zahlen übereinstimmt mit der (durch den Entscheidungsträger eingeschätzten) Wertrangfolge der Aktionen. Das heißt für je zwei Aktionen ai ,ar ∈ A, i,r ∈ {1,2, . . . ,m}, muss gelten: ai  ar ⇔ Φ (ai ) ≥ Φ (ar ) ai  ar ⇔ Φ (ai ) > Φ (ar ) ai ∼ ar ⇔ Φ (ai ) = Φ (ar ), wobei die Symbole ,  und ∼ die schwache Präferenz, die starke Präferenz und die Indifferenz zwischen den Aktionen ai und ar ausdrücken. Die Bewertungsfunktion Φ repräsentiert also die Vorstellungen, die der Entscheidungsträger bzgl. der Vorziehenswürdigkeit der Aktionen besitzt (oder besitzen sollte). ● Ist die Bewertungsfunktion Φ gegeben und sind die Zahlen Φ (a) bekannt, so ist die Entscheidungssituation bis auf die Durchführung einer Maximierung formal gelöst: Jede Aktion a∗ ∈ A mit Φ (a∗ ) = Maxa∈A Φ (a) erfüllt das Optimalitätskriterium und repräsentiert damit eine optimale Lösung des Entscheidungsproblems. ▲ In der Praxis ist es für einen Entscheider allerdings schwer festzulegen, wie die einzelnen Werte einer Alternative adäquat zu einem Gesamtwert zu aggregieren sind. Zur Orientierung bietet daher die Entscheidungstheorie Bewertungsfunktionen Φ an, die bezüglich ihrer Eigenschaften gründlich analysiert und auf einfache, für den Entscheidungsträger überschaubare Rationalitätspostulate zurückgeführt sind.

        150

        3 Entscheidung als Grundpfeiler betrieblichen Handelns

        Am weitesten verbreitet ist dabei in der Literatur der Einsatz der Nutzenfunktion, gefolgt von der Schadensfunktion bzw. den Opportunitätskosten. ● Nutzenfunktion. Grundsätzlich ist zu berücksichtigen, dass die Bewertung einer Aktion ai über die Bewertung der den Aktionen zugeordneten Ergebnisse erfolgen muss. Sei xki = gk (ai ) das Ergebnis der Aktion ai in Bezug auf das Ziel k, k = 1,2, . . . ,K, xi = (x1i , . . . ,xKi ) = (g1 (ai ), . . . ,gK (ai )) ∈ E K das Gesamtergebnis der Aktion ai und u(xi ) = u(x1i , . . . ,xKi ) ∈ R die Nutzenfunktion des Entscheiders, so ist Φ (a) die verkettete Funktion

        Φ (ai ) = u ◦ g(ai ) = u(g(ai )). ● Für die Nutzenfunktion muss gelten: xi  xr ⇔ u(xi ) ≥ u(xr ) xi  xr ⇔ u(xi ) > u(xr ) xi ∼ xr ⇔ u(xi ) = u(xr ) ▲ Unabhängig von der Frage, wie eine solche Nutzenfunktion bestimmt werden kann bzw. bestimmt werden sollte, ist zu beachten, dass nicht jede beliebige, individuelle Präferenzrelation  durch eine Nutzenfunktion u repräsentiert werden kann. Um zu einer sinnvollen Bewertung zu gelangen, muss die Präferenzrelation  notwendigerweise vollständig und transitiv sein. ● Im Rahmen der Vollständigkeit wird von einem Entscheidungsträger verlangt, sich über seine Ziele und Zielpräferenzen im Klaren zu sein, damit er in der Lage ist, seine Präferenz oder Indifferenz zwischen je zwei zu vergleichenden Ergebnissen anzugeben. Das heißt er muss je zwei Ergebnisse xi und xr bzgl.  miteinander vergleichen können, sodass für diese Ergebnisse xi und xr entweder xi  xr oder xi  xr (oder beides gleichzeitig, d. h. xi ∼ xr ) gilt. ● Die Transitivität von  umfasst den Anspruch auf eine widerspruchsfreie Reihung der Alternativen, weswegen für je drei Ergebnisse xi , xr und xs gelten muss: xi  xr und xr  xs  xi  xs . ▲ Die Transitivität wird in der Theorie als logische Grundforderung einer vernünftigen Präferenzrelation betrachtet. Verletzungen der Transitivität kommen in der Realität dennoch gelegentlich vor, insbesondere weil Ergebnisunterschiede oft erst jenseits bestimmter Fühlbarkeitsschwellen empfunden werden. Auch zeigen empirische Untersuchungen, dass Menschen überfordert sind, wenn Sie Ergebnisvektoren mit mehr als drei Komponenten anordnen sollen. Dennoch liefern diese Beobachtungen keine überzeugenden Argumente gegen die Transitivität als normatives Postulat rationalen Verhaltens. ▲ Wird die Präferenzrelation  durch eine Nutzenfunktion u beschrieben, so wird die gleiche Präferenzrelation auch durch jede Funktion v repräsentiert, die durch eine (streng) monoton wachsende Transformation aus u hervorgeht. Dies liegt daran, dass die Zuordnung xi → u(xi ) nur die einzige Bedingung erfüllen muss, dass eine höhere Präferenz einer höheren Zahl entsprechen soll. ● Eine Nutzenfunktion, an die nur bis auf (streng) monoton wachsende Transformationen festgelegt ist, wird als eine ordinale Nutzenfunktion bezeichnet. Der Nutzenmessung liegt dann eine Ordinalskala oder Rangskala zugrunde. ▲ Bei einer ordinalen Nutzenfunktion u gibt der Größenvergleich zweier Nutzenwerte also nur an ob ein Ergebnis gegenüber einem anderen präferiert wird, nicht jedoch, in welchem Maße dies der Fall ist. Zwischen ordinalen Nutzenwerten sind daher nur Größenvergleiche erlaubt, für die u. a. die Operatoren Maximum oder Minimum benutzt werden dürfen. ● Eine kardinale Nutzenfunktion liegt vor, wenn die Nutzenwerte eindeutig sind bis auf lineare Transformationen, d. h. bis auf die Festlegung des Nullpunktes und der Skalierungseinheit. Der Nutzenmessung

        3.3 Grundlagen der Entscheidungstheorie

        151

        liegt dann die allgemeinste Form einer Kardinalskala, eine Intervallskala, zugrunde. Um dieses Skalierungsniveau zu erreichen, muss der Entscheidungsträger in der Lage sein, auch die Nutzenunterschiede zwischen je zwei Konsequenzen in eine Rangfolge zu bringen. Wird zusätzlich verlangt, dass ein natürlicher Nullpunkt existiert, so spricht man von einer Verhältnisskala. Ist auch die Messeinheit natürlich gegeben, so liegt eine Absolutskala vor. ● Schadensfunktion und Opportunitätskosten. Bei einigen Anwendungen ist es üblich, Aktionen und deren Ergebnisse mit einer Schadensfunktion (oder Verlustfunktion) zu bewerten, die zu minimieren ist. In Analogie zur Nutzenfunktion gilt dann für zwei Ergebnisse xi und xr : xi  xr ⇔ s(xi ) ≤ s(xr ) xi  xr ⇔ s(xi ) < s(xr ) xi ∼ xr ⇔ s(xi ) = s(xr ) ▲ Eine häufig benutzte Schadensfunktion ist die Opportunitätskostenfunktion s(xi ) = max u(xi ) − u(xi ), i

        die sich aus einer kardinalen Nutzenfunktion ableiten lässt. Sie misst die entgangenen Nutzenwerte im Vergleich zur optimalen Entscheidung.

        3.3.8

        Der Zustandsraum S

        ▲ Entscheidungen sind zumeist zukunftsorientiert, d. h. die Konsequenzen der Entscheidung sind erst in späteren Zeitpunkten sichtbar. Im Laufe der Zeit können sich aber die Umweltfaktoren, die das Ergebnis der Aktionen beeinflussen, ohne selbst von den Handlungen des Entscheidungsträgers abhängig zu sein, so stark ändern, dass sehr unterschiedliche Ergebnisse eintreten. ● Ein Weg diese Änderungen der Umwelt zu berücksichtigen besteht in der Festlegung von Umweltzuständen oder Szenarien, die denkbare Konstellationen der in einer bestimmten Situation relevanten Umweltfaktoren beschreiben. ■ Solche Umweltzustände können z. B. Aussagen über die Marktstruktur, die konjunkturelle Entwicklung, die Steuergesetzgebung oder mögliche Konkurrenzreaktionen sein. ▲ Welche Faktoren der Umwelt als relevante Daten in einem Entscheidungsmodell zu erfassen sind, hängt von der jeweiligen Entscheidungssituation ab. ■ Z. B. kommen für eine zu beschließende werbe- und preispolitische Maßnahme zum Zwecke der Gewinnverbesserung das Marktaufnahmevolumen, die Werbewirksamkeit, die Preisreagibilität der Nachfrage sowie die Struktur der Produktionskostenfunktion als relevante Umweltdaten in Betracht. ● Die Menge S = {s1 ,s2 , . . . ,sn } aller relevanten Umweltzustände (Szenarien) s1 ,s2 , . . . ,sn bezeichnet man als Zustandsraum. ● Je nach Kenntnisstand bezüglich des wahren Umweltzustandes unterscheidet man in der klassischen Entscheidungstheorie folgende drei Fälle: • Sicherheitssituation: Der wahre Umweltzustand ist bekannt. • Risikosituation: Der Entscheider kennt (subjektive oder objektive) Wahrscheinlichkeiten für das Eintreten der verschiedenen Umweltzustände. • Ungewissheitssituation: Dem Entscheidungsträger ist lediglich bekannt, dass irgendeiner der Umweltzustände aus S eintreten wird. ● In der neueren Literatur findet man inzwischen weitere Informationsstände, die zwischen der Risikound der Ungewissheitssituation einzustufen sind:

        152

        3 Entscheidung als Grundpfeiler betrieblichen Handelns • Risikosituation mit Fuzzy-Wahrscheinlichkeiten: Der Entscheider kann Wahrscheinlichkeiten für das Eintreten der verschiedenen Zustände nur ungefähr angeben und durch Fuzzy-Intervalle beschreiben. • Risikosituation mit Linearer Partieller Information (LPI): Der Entscheidungsträger kann Wahrscheinlichkeitsintervalle für das Eintreten der verschiedenen Zustände angeben. Dies ist ein einfacher Spezialfall der Risikosituation mit Fuzzy-Wahrscheinlichkeiten. • Risikosituation mit Glaubens- und Plausibilitätsfunktionen: Der Entscheider kennt lediglich Wahrscheinlichkeiten für einige Teilmengen von S, so genannte Basiswahrscheinlichkeiten, aus denen er dann Zustandsaussagen für das Eintreten der verschiedenen Zustände ableitet. • Risikosituation mit Möglichkeiten: Der Entscheidungsträger kennt die Möglichkeitsmaße für das Eintreten der verschiedenen Zustände.

        3.3.9

        Das Problem der Datenbeschaffung

        ▲ Bisher wurde stillschweigend unterstellt, dass die Ergebnisse durch reelle Zahlentupel xi = (x1i , . . . ,xKi ) ∈ RK beschrieben werden. Das Problem der Beschaffung zuverlässiger und präziser Daten wurde soweit ignoriert, da an keiner Stelle hinterfragt wurde, woher die detaillierten Informationen kommen bzw. wie viel Aufwand mit deren Beschaffung verbunden ist. Da die Datenbeschaffung auf menschlichen Wahrnehmungen und Einschätzungen basiert, die sich häufig nur verbal, qualitativ und damit vage äußern lassen, muss kritisch diskutiert werden, wie derartige Aussagen angemessen in exakte Daten transferiert werden können. Selbst bei Daten, die aus technischen Prozessen oder ökonomischen Sachverhalten abgeleitet werden und quantitativer Natur sind, müssen diese nicht in Form reeller Zahlen vorliegen. Oft reicht der Wissensstand nur aus, diese durch Intervalle, Fuzzy-Mengen oder Wahrscheinlichkeitsverteilungen zu beschreiben. Im Wesentlichen lassen sich die folgenden drei Datenkategorien unterscheiden, die unterschiedliche Informationszustände des Entscheiders ausdrücken: ● Exakte/deterministische Daten. Dieser hohe Informationsstand ist denkbar für bestimmte technische Anwendungen, bei denen ein hohes Ausmaß an Erfahrung mit den Prozessen vorliegt. Hier kann das Entscheidungsproblem gemäß den vorangegangenen Ausführungen in ein operables Modell überführt und eine eindeutige Alternativenauswahl vorgenommen werden. ● Stochastische oder Fuzzy-Daten. Sind die relevanten Daten stochastisch oder fuzzy, so stellt sich das Problem, dass man sich bei der Modellierung und damit der Bewertung der Alternativen nicht mehr in einer Menge wohlgeordneter Zahlen bewegt und aufgrund fehlender Trennschärfe eventuell die optimale Alternative nicht eindeutig bestimmt werden kann. ▲ In der klassischen Entscheidungstheorie wird dieses Problem derart umgangen, dass mittlere Werte für die Verteilungen bzw. unscharfen Größen angesetzt werden. Besonders fragwürdig ist diese Reduktion auf ein deterministisches Modell, wenn auf die Modellierung der Verteilungen zu wenig Mühe verwendet wird und gleich mittlere Werte bestimmt werden. Der Ansatz unzureichend begründeter mittlerer Werte erhöht ganz entscheidend die Gefahr, dass diese Werte nicht der Realität entsprechen und die optimale Lösung des Modells keine adäquate Lösung des realen Problems ist. ▲ Durch die Beschaffung sehr „guter“ Informationen lässt sich natürlich die Gefahr einer Fehlmodellierung verringern, aber dieser Informationsbeschaffungs und -verabeitungsprozess ist zumeist mit einem sehr hohen Kostenaufwand verbunden. Darüber hinaus ist es oft, z. B. bei Daten, die sich erst in der Zukunft realisieren, trotz extremer Bemühungen nicht möglich, zuverlässige deterministische Daten zu identifizieren. Liegt unscharfes Wissen im Rahmen eines Entscheidungsproblems vor, so ist das nachfolgend beschriebene zweistufige Vorgehen eine intelligente Verfahrensweise. Dadurch wird nicht nur erreicht, dass eine Fehlmo-

        3.4 Workflow-Management

        153

        dellierung des Realproblems vermieden wird, sondern diese Prozessführung geht auch einher mit deutlich geringeren Kosten für Informationsbeschaffung und -verarbeitung. ● Im 1. Schritt ist ein Realmodell zu formulieren, das den aktuellen Wissensstand des Entscheidungsträgers adäquat abbildet; dabei sollten einfach und preiswert zu beschaffende Informationen zusätzlich berücksichtigt werden. Die Fuzzy-Mengen-Theorie liefert ein problemadäquates Instrumentarium, um Daten und Relationen mit exakt der Genauigkeit in das Modell zu integrieren, wie es dem Wissensstand des Entscheiders entspricht. Darüber hinaus bietet diese Theorie das Rüstzeug, klassische Präferenzaussagen und Bewertungen auf Fuzzy-Größen zu erweitern. Die Alternativen lassen sich so in eine Rangordnung bringen, die allerdings nicht zwingend trennscharf ist. Ein maßgeblicher Vorteil dieses ersten Schrittes ist es jedoch, dass es in praktischen Anwendungen zumeist möglich ist, aufgrund des jetzt schon vorliegenden Rankings Alternativen auszusondern, die zur Lösung des Problems nicht mehr infrage kommen. Normalerweise führt dieser erste Schritt zu einer erheblichen Reduzierung der Alternativenmenge. ● In einem 2. Schritt können dann für die verbleibenden Alternativen gezielt zusätzliche Informationen aufgenommen werden, um die Unschärfe der Daten zu reduzieren und nach Möglichkeit eine eindeutige Rangordnung oder zumindest die Auswahl der besten Alternativen zu erreichen. Da ein unscharfes Ranking schon vorliegt, kann die Informationsaufnahme gezielt unter Kosten-/ Nutzenabwägung erfolgen. So wird man auf zusätzliche Informationen verzichten, wenn deren Kosten höher sind als der festgestellte Unterschied zwischen den besten Alternativen; eine Zufallsauswahl aus diesen Alternativen ist dann vorzuziehen.

        3.4

        Workflow-Management

        3.4.1

        Grundkonzept des Workflow-Managements

        ● Ein Workflow Managementsystem (Vorgangssteuerungssystem) ist ein Softwaresystem zur Unterstützung der kooperativen Ausführung von betrieblichen Abläufen (Geschäftsprozessen). Als Workflow wird der mit Rechnerunterstützung ausgeführte Anteil eines Geschäftsprozesses bezeichnet. Er setzt sich aus auszuführenden Aktivitäten zusammen, zwischen denen bestimmte Alternativ- und Reihenfolgebeziehungen existieren. ● Grundlage für die Ausführung eines Ablaufes mit einem Workflow-Managementsystem ist das Workflow-Schema (gelegentlich auch als Workflow-Programm bezeichnet), in dem die Ablauflogik eines Workflows präzise beschrieben wird. Ein Workflow-Managementsystem ermöglicht so die Trennung der Ablauflogik von den eigentlichen Anwendungsprogrammen. Eine konkrete Ausführung eines Workflows gemäß seinem Schema wird auch als Workflow-Instanz bezeichnet, eine Ausführung einer Aktivität entsprechend als Aktivitätsinstanz. ● Der effiziente Einsatz eines Workflow-Managementsystems setzt voraus, dass der Geschäftsprozess (oder zumindest der überwiegende Teil davon) strukturiert ist, d. h. nach bestimmten Regeln abläuft (im Gegensatz zu so genannten Ad-hoc-Workflows, deren Ablauf i. V. nicht oder nur teilweise bekannt ist bzw. geplant werden kann). ▲ Für Ausnahmesituationen, in denen vom regulären Ablauf abgewichen werden muss (was in der Praxis niemals ganz ausgeschlossen werden kann), sind Ausnahmebehandlungsmechanismen vorzusehen. ● Ziel des Einsatzes von Workflow-Managementsystemen ist eine Flexibilisierung der Abläufe, die in konventionellen Informationssystemen in der Software „fest verdrahtet“ sind und im Lauf der Zeit nur mit erheblichem Aufwand an geänderte Anforderungen angepasst werden können. Wird das WorkflowSchema geändert, ändern sich auch die Abläufe und ihre Ausführungen.

        154

        3 Entscheidung als Grundpfeiler betrieblichen Handelns

        ▲ Workflow-Managementsysteme können als ablauforientierte Ergänzung zu Datenbank-Managementsystemen verstanden werden. Während Datenbank-Managementsysteme alle Aufgaben der Datenhaltung übernehmen, unterstützen Workflow-Managementsysteme die Verwaltung der Abläufe. ▲ Eine enge Beziehung besteht auch zu Dokumenten-Managementsystemen (Software zur Verwaltung von Dokumenten) und zu allgemeinen Groupwaresystemen (Software zur Unterstüzung von Gruppenarbeit).

        3.4.2

        Komponenten eines Workflow-Managementsystems

        ● Ein Workflow-Managementsystem besteht aus folgenden Komponenten: Workflow-Editor

        Simulations- und Analysewerkzeuge

        Workflow-Engine Administrationswerkzeuge

        andere Workflow-Engine Anwendungsprogramme

        • Ein Workflow-Editor ermöglicht die Beschreibung der Ablauflogik eines Geschäftsprozesses in einem Workflow-Schema. Üblicherweise werden Workflows mit grafischen Sprachen beschrieben, die durch textuelle bzw. programmiersprachliche Ausdrücke ergänzt werden können. Diese Notationen zur Workflow-Beschreibung basieren meistens auf Petrinetzen oder ähnlichen Sprachen. In das Workflow-Schema können relevante Informationen zu den bei der Ablaufausführung benötigten Ressourcen, Geschäftsobjekten und Rollen der involvierten Personen bzw. Organisationseinheiten integriert werden. Der Editor erlaubt auch die Fragmentierung (d. h. Zerlegung) betrieblicher Abläufe in Arbeitspakete, die von Aufgabenträgern an unterschiedlichen Standorten eines Unternehmens ausgeführt werden sollen. Zu jedem Workflow-Schema gibt es einen so genannten Workflow-Besitzer, der für diesen Workflow verantwortlich ist und über Änderungen an einem Workflow-Schema entscheidet. Im Workflow-Repository werden die unterschiedlichen Workflow-Schemata abgespeichert und verwaltet. Zu jedem Workflow-Typ existieren üblicherweise mehrere Schemata, da im Laufe der Zeit Änderungen vorgenommen werden können. Das Workflow-Repository muss daher über die Funktionalität einer Versionsdatenbank verfügen. Im Workflow-Repository werden außerdem Ausführungsdaten über die stattgefundenen Abläufe archiviert. • Simulations- und Analysewerkzeuge: Ein Simulator erlaubt das Durchspielen von Abläufen, bevor sie implementiert werden, um mögliche inhaltliche Fehler und Schwachstellen im WorkflowSchema frühzeitig aufzudecken. Simulationen unterstützten außerdem die so genannten „Wenndann-Analysen“ bei denen die Auswirkungen unterschiedlicher Entwurfs- oder Ausführungsentscheidungen auf einen Ablauf geprüft und miteinander verglichen werden können. Eine automatische Syntaxanalyse ermöglicht die Aufdeckung syntaktischer Fehler im WorkflowSchema.

        3.4 Workflow-Management

        155

        Mit speziellen Analysewerkzeugen können auch semantische Eigenschaften wie die (Nicht-)Erreichbarkeit von unerwünschten Zuständen, etwa Deadlock-Situationen, überprüft werden. Mit so genannten Monitoring-Werkzeugen können statistische Auswertungen vorgenommen werden. Es können bspw. relevante Kennzahlen wie minimale/maximale Durchlaufzeiten, Wartezeiten, Ausschussquoten oder der Ressourcenverbrauch ermittelt werden. • Administrationswerkzeuge unterstützen die Verwaltung von Workflow-Managementsystemen und Workflow-Ausführungen. Zu den bereitgestellten Funktionen gehören die Einrichtung von Benutzerkennungen, die Datensicherung sowie die Behandlung von Fehlersituationen. • Eine Workflow Engine interpretiert ein gegebenes Workflow-Schema ausgehend von einem Initialzustand und prüft, welche Aktivitäten in einem erreichten Zustand stattfinden können. Diese hängen ab von bereits durchgeführten Aktivitäten und ablaufspezifischen Daten. Aktivitäten werden nach einer bestimmten Ausführungsstrategie ausgelöst (etwa auf Prioritäten basierend). Außerdem wird die Ausführung der Aktivitäten kontrolliert und die benötigten Ressourcen (bspw. Daten) werden bereitgestellt. Gegebenenfalls ruft die Workflow-Engine auch externe Anwendungsprogramme auf, sofern diese in einem gegebenen Ablauf für bestimmte Aktivitäten eingesetzt werden sollen (etwa ein Textverarbeitungsprogramm zum Editieren eines Briefes). • Ein Task-Manager verwaltet für die einzelnen Workflow-Anwender To-Do-Listen (Aktivitätenlisten) und regelt die entsprechende Kommunikation zwischen Workflow-Engine und Anwendern. Dabei können unterschiedliche Zuteilungsstrategien unter Berücksichtigung der Fähigkeiten der jeweiligen Aufgabenträger zur Anwendung kommen. Falls mehrere Workflow-Engines zur Verfügung stehen, können diese bei der Ablaufausführung kooperieren (etwa zur Lastverteilung oder zur Kopplung von unternehmensübergreifenden Geschäftsprozessen). Ansonsten werden die Arbeitspakete von einer zentralen Workflow-Engine auf die Aufgabenträger an den verschiedenen Standorten verteilt.

        3.4.3

        Standardisierungsbestrebungen

        ● Die Workflow Management Coalition, ein nicht-kommerzieller Zusammenschluss von Anbieter- und Anwenderunternehmen im Workflow-Bereich, befasst sich mit Fragen der Standardisierung im Bereich des Workflow-Managements. ● Ziele sind die Vereinheitlichung von Terminologien, Konzepten und Systemarchitekturen. ● Konkrete Vorschläge zur Standardisierung liegen vor für: • Workflow-Modellierungssprachen, • Schnittstellen zwischen unterschiedlichen Workflow-Managementsystemen, • Schnittstellen zwischen Workflow-Managementsystemen und Anwendungsprogrammen, • Benutzungsoberflächen, • Administrations- und Monitoring-Werkzeuge. ▲ Am Markt existieren eigenständige Workflow-Managementsysteme, die den Standards der Workflow Management Coalition genügen. Im Bereich betriebswirtschaftlicher Standardsoftware (etwa SAP oder ORACLE) ist außerdem ein Trend zu erkennen, Workflow-Engines in die Gesamtarchitektur zu integrieren. Dies soll den Anwenderunternehmen ermöglichen, flexibler auf Änderungen von Geschäftsprozessen zu reagieren.

        4

        Normative Methoden und Verfahren der Entscheidungsfindung

        Während in praktischen Entscheidungssituationen vielfach die Identifikation der relevanten Aktions- und Umweltvariablen im Vordergrund steht, soll hier vorausgesetzt werden, dass dieser Prozess bereits abgeschlossen oder unproblematisch ist und somit der eigentliche Lösungsprozess eines modellierten Problems fokussiert wird. Unter normativen Methoden zur Entscheidungsfindung sollen hier neben Verfahren, die typischerweise dem Forschungsgebiet der Entscheidungstheorie i. e. S. zugerechnet werden, auch verschiedene Verfahren des Operations Research, der Künstlichen Intelligenz (KI) und der heuristischen Suche verstanden werden.

        4.1

        Entscheidung unter Sicherheit mit singulärem Zielkriterium

        ● Ein großer Teil der in der betriebswirtschaftlichen Theorie entwickelten Modelle betrachtet Entscheidungen unter Sicherheit mit nur einem relevanten Zielkriterium, geht also davon aus, dass sich alle Handlungsalternativen problemlos mittels der Bewertungsfunktion Φ ordnen lassen. ▲ Dies sind meist leicht programmierbare Entscheidungen, die ein hohes Entscheidungsunterstützungspotenzial besitzen. Auch administrative bzw. operative Auswahlentscheidungen sowie die meisten der Beispiele im Teil „Wirtschaftsmathematik“ fallen unter diese Kategorie. ■ Kapitalwert als Kriterium der Investionsentscheidung: Klassisches Beispiel ist die Auswahl von einem oder mehreren Investitionsprojekten aus einer begrenzten Anzahl möglicher Investitionsprojekte. Als Entscheidungskriterium dient meist der Kapitalwert eines Investitionsprojekts. Ein Investitionsprojekt wird hier als eine Zahlungsreihe dargestellt, die aus einer Reihe von Ein- und Auszahlungen zu unterschiedlichen Zeitpunkten besteht. Der Kapitalwert K0 bezeichnet den Gegenwartswert der Zahlungsreihe des Investitionsobjekts. Der Wert zukünftiger Zahlungen wird durch die Abzinsung mit dem Marktzins i auf einen Gegenwartswert normiert. E1 A1 ET AT K0 = E0 + − A − +···+ − · · · − 0 1+i (1 + i)T 1+i (1 + i)T T

        =∑

        t=0

        T Et At −∑ , t t (1 + i) t=0 (1 + i)

        wobei K0 Kapitalwert im Zeitpunkt t = 0 Et Einzahlung am Ende der Periode t, (t = 0,1, . . . ,T ) At Auszahlung am Ende der Periode t, (t = 0,1, . . . ,T ) i Zinssatz auf einem vollkommenen Kapitalmarkt. T Gesamtlaufzeit Dieses Modell benutzt den Zinssatz eines vollkommenen Kapitalmarktes, um sicherzustellen, dass Ein- und Auszahlungen mit dem gleichen Zinssatz abgezinst werden. Dies ist eine sinnvolle, aber nicht unbedingt notwendige Einschränkung. Ob auch ohne die Existenz eines vollkommenen Kapitalmarkts die Summe abdiskontierter zukünftiger Ein-/Auszahlungen als Kriterium Φ sinnvoll ist, hängt dann von den intertemporalen Konsumpräferenzen des Entscheiders ab.

        4.1 Entscheidung unter Sicherheit mit singulärem Zielkriterium

        157

        ▲ Durch diese Umrechnung der einzelnen Investionsprojekte reduziert sich das Entscheidungsproblem deutlich. Bestehen keine Finanzierungsbeschränkungen, werden alle Projekte mit positivem Kapitalwert durchgeführt. Bestehen hingegen Finanzierungsbeschränkungen, werden die Projekte mit dem höchsten Kapitalwert zuerst durchgeführt, wobei jedoch bei nicht partiell durchführbaren Projekten die Summe des Kapitalwerts aller durchgeführten Projekte unter Einhaltung der Budgetrestriktion als Entscheidungskriterium dient. Dies ist formal ein so genanntes Bin-Packing- oder Rucksackproblem und zählt zu den unten diskutierten kombinatorischen Optimierungsproblemen. Das oben skizzierte Grundmodell der Entscheidungstheorie sowie das eben diskutierte Investitionsbeispiel unterstellen die Möglichkeit, alle Alternativen (und bei Risiko die Umweltzustände) durchzunummerieren, um diejenige mit maximalem Nutzen Φ zu ermitteln. Dieses Vorgehen scheitert bei fast allen im Bereich der dispositiven Planung auftretenden Optimierungsproblemen aus einem der folgenden Gründe: • Der Raum der Handlungsalternativen wird von Aktionsvariablen mit kontinuierlichem Wertebereich aufgespannt, ist also überhaupt nicht abzählbar. Man spricht hier von so genannten Parameteroptimierungsproblemen. Das Kapitel → Operations Research befasst sich in erster Linie mit Verfahren zur Lösung derartiger Probleme. • Die Handlungsalternativen sind zwar diskret und somit abzählbar, ihre Zahl wächst aber mit der Problemgröße exponentiell. Klassische Optimierungsverfahren des Operations Research sind für diese so gennanten kombinatorischen Optimierungsprobleme wegen ihres (ebenfalls exponentiellen) Laufzeitverhaltens nicht mehr einsetzbar. Bei praxisrelevanten Problemgrößen muss auf die Anwendung so genannter heuristischer Suchverfahren ausgewichen werden, die eine Erreichung der optimalen Lösung nicht mehr sicherstellen, dafür aber weniger rechenintensiv sind.

        4.1.1

        Parameteroptimierung

        Ist die Anzahl der relevanten Handlungsalternativen nicht explizit gegeben, sondern durch implizite Restriktionen und Einschränkungen des Lösungsraums beschrieben, müssen spezielle Verfahren angewendet werden. ● Besteht der Lösungsraum aus kontinuierlichen Werten und sind sowohl die Zielfunktion wie auch alle Nebenbedingungen linear, kann die so genannte →Lineare Optimierung zum Einsatz kommen. ● Liegt diese Linearität nicht vor, können unter bestimmten Bedingungen Verfahren der LagrangeOptimierung oder andere nicht-lineare Optimierungsverfahren eingesetzt werden. ■ In der Allgemeinen Betriebswirtschaftslehre steht oftmals entweder die kostenminimale Produktion eines vorgegebenen Outputs (Produktionstheorie) oder die Nutzenmaximierung eines Individuums durch Konsum von Güterbündeln unter Beachtung einer Budgetrestriktion (Haushaltstheorie) im Mittelpunkt der Betrachtung. Da die beiden Modelle strukturgleich sind, beschränken wir uns hier auf die Produktions- und Kostentheorie. Die Produktionstheorie betrachtet eine funktionale Beziehung zwischen den teils substitutiven, teils limitationalen (verhältniswahrenden) Inputfaktoren und dem durch ihren Einsatz produzierten Output. In der Kostentheorie werden den Produktionsfaktoren Faktorkosten zugeordnet. Als Minimalkostenkombination wird diejenige Kombination an Einsatzmengen der Produktionsfaktoren bezeichnet, die die Produktion einer bestimmten Produktionsmenge (Output) zu den geringsten Gesamtkosten ermöglicht. Hierbei bestimmt die Produktionsfunktion (als funktionale Beziehung zwischen den Einsatzgütern und dem mit ihnen produzierbaren Output) die effizienten Faktorkombinationen, die die Produktion eines bestimmten Outputs x ermöglichen. Kombiniert man diese Produktionsfunktion mit der Kostenstruktur der Einsatzgüter, so kann die Minimalkostenkombination bestimmt werden.

        158

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        ■ Betrachtet man ein Einproduktunternehmen, welches ein Produkt x mit zwei Einsatzgütern r1

        und r2 herstellt, so stellt sich die Bestimmung der Minimalkostenkombination einer gegebenen Produktionsmenge x wie folgt dar: min K = q1 · r1 + q2 · r2 unter der Nebenbedingung x = f (r1 ,r2 ) , ▲ Die Nebenbedingung besagt hierbei, dass bei der Kostenminimierung die Produktionsfunktion

        eingehalten werden muss. Grafische Bestimmung der Minimalkostenkombination: a) Darstellung der Produktionsisoquante (Output in Abhängigkeit der Inputfaktoren). Bei substitutionalen Produktionsbeziehungen kann ein bestimmter Output durch verschiedene Kombinationen von Einsatzgütern erstellt werden. b) Eintragung der Kostengeraden (Faktorkombinationen gleicher Gesamtkosten). In der folgenden Abbildung ist dieser Zusammenhang dargestellt. Die Einsatzmengenkombination im Punkt P stellt hierbei die Minimalkostenkombination dar, genau dort, wo die Kostengerade die Produktionsisoquante tangiert. r1

        K q1

        P

        K2

        K

        K1

        K / q2

        x

        r2

        Minimalkostenkombination ● Die Minimalkostenkombination kann analytisch mithilfe des Lagrangeansatzes bestimmt werden.

        Dabei muss die Funktion L(r1 ,r2,λ ) = q1 r1 + q2 r2 − λ (x − f (r1 ,r2 )) minimiert werden.

        4.2

        Multikriterielle Entscheidung bei Sicherheit

        Die hier zu betrachtenden Entscheidungsprobleme zeichnen sich dadurch aus, dass die Ergebnisse der Entscheidungen zwar mit Sicherheit bekannt sind, aber mehrere relevante Zielkriterien zur Ordnung der Handlungsalternativen herangezogen werden müssen. Existiert keine dominante Handlungsalternative (die bzgl. jedes Kriteriums allen anderen gegenüber präferiert wird), entsteht die bereits im letzten Kapitel diskutierte Problematik der Aggregation der einzelnen Bewertungen Φ k zu einer Gesamtbewertung Φ .

        4.2 Multikriterielle Entscheidung bei Sicherheit

        4.2.1

        159

        Nutzwertanalyse

        Die Nutzwertanalyse, auch bekannt als Scoring-Modell oder Punktbewertungsverfahren, ist das am weitesten verbreitete Verfahren zur Unterstützung multikriterieller Entscheidungen. ● Die Nutzwertanalyse versucht, eine Präferenzordnung der Handlungsalternativen a1 bis an dadurch herzustellen, dass sie den Nutzen einer jeden Handlungsalternative Φ (ai ) als gewichtete Summe der partiellen Nutzen Φ k (ai ) errechnet, die die Handlungsalternative stiftet. Hierzu wird zunächst eine Normierung der einzelnen Zielfunktionen auf einen einheitlichen Wertebereich vorgenommen, z. B. Φ k (ai ) ∈ [0,1] für k = 1 . . . m und alle ai . m

        Ferner sei ein Vektor von Gewichten w = (w1 ,w2 , . . . ,wm ) mit ∑ wk = 1 derart definiert, dass die einzelnen k=1

        Gewichte den Einfluss der entsprechenden Zielgrößen auf die Gesamtbewertung darstellen. Scoring-Funktion S : A → [0,1]: Summe der gewichteten Partialziele: m

        S(ai ) =

        ∑ wk · Φ k (ai )

        k=1

        Die Scoring-Funktion bildet jede Entscheidungsalternative auf einen rationalen Wert zwischen 0 und +1 ab. Die Ordnungsrelation R („wird präferiert gegenüber“) kann anhand der metrisch skalierten Scores definiert werden: ● ai R a j gilt dann und nur dann, wenn S(ai ) ≥ S(a j ) (Entscheidungen mit höheren Scores sind also denen mit niedrigeren Scores vorzuziehen). ▲ An dieser Stelle muss betont werden, dass aus messtheoretischer Sicht das Punktbewertungsverfahren auch mit Hilfe der schon recht strengen Axiome des additiven Conjoint Measurement nicht gerechtfertigt werden kann: Es wird hier zusätzlich davon ausgegangen, dass zwischen den einzelnen Zielfunktionen Φ k lineare Trade-off-Beziehungen bestehen und damit die Indifferenzkurven die Form von Geraden annehmen, was mit dem zweiten Gossen’schen Gesetz des abnehmenden Grenznutzens eines Gutes unvereinbar erscheint. Der Entscheidungsträger sollte sich dieser Einschränkungen bewusst sein, wenn er sich für die Nutzwertanalyse ausspricht.

        4.2.2

        Lexikografische Ordnung

        Das Verfahren der lexikografischen Ordnung (auch lexikografische Gesamtnutzenmessung) setzt im Gegensatz zur Nutzwertanalyse nicht voraus, dass zwischen den verfolgten Zielgrößen eine Substitutionsbeziehung besteht. Es verlangt lediglich eine ordinale Reihung der einzelnen Zielfunktionen gemäß ihrer Wichtigkeit für den Entscheidungsträger. Anhand des wichtigsten Kriteriums werden die Handlungsalternativen in eine Präferenzordnung gebracht. Für diejenigen Handlungsalternativen, die hinsichtlich dieses wichtigsten Kriteriums als indifferent gelten, wird das zweitwichtigste Kriterium herangezogen. Herrscht immer noch Indifferenz zwischen zwei Alternativen, entscheidet das drittwichtigste Kriterium usw. ▲ Nachteilig wirkt sich ein solches Vorgehen insbesondere dann aus, wenn Handlungsalternative ai eine andere Alternative a j (was das wichtigste Kriterium angeht) geringfügig dominiert, ihr jedoch bezüglich aller übrigen Kriterien weit unterlegen ist.

        4.2.3

        Analytic Hierarchy Process

        Der Analytic Hierarchy Process (Saaty) basiert auf einem paarweisen Vergleich der Handlungsalternativen. Der Entscheidungsträger kann auf einer Skala z. B. von 1 bis 5 zum Ausdruck bringen, ob und wie stark er Alternative ai der Alternative a j vorzieht. Nachdem für jede der m Zielfunktionen eine n × nMatrix spezifiziert worden ist, muss nun ein paarweiser Vergleich der Wichtigkeit der Ziele untereinander durchgeführt werden.

        160

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        ▲ Da der Entscheidungsträger immer nur zwei Alternativen miteinander vergleicht und sich hierbei nicht um das Transitivitätspostulat der Präferenzrelation kümmert, sind die aus diesem Verfahren resultierenden Matrizen zu einem gewissen Grad inkonsistent. ▲ Saaty entwickelt sowohl Maßzahlen für den Grad der Inkonsistenz der vom Nutzer spezifizierten Präferenzen als auch eine (auf der Eigenwert-Berechnung der Matrizen beruhende) Methode, die Inkonsistenzen soweit wie möglich zu beseitigen. Als Resultat liefert sein Verfahren normierte partielle Nutzenfunktionen und einen Zielgewichtungsvektor, mit denen dann eine klassische Nutzwertanalyse durchgeführt werden kann.

        4.2.4

        Outranking-Verfahren (Electre)

        Das Outranking-Verfahren „Electre“ (Roy) ist die insbesondere im französischen Sprachraum verbreitete Alternative zu klassischen Verfahren der multikriteriellen Entscheidungsfindung. Die Grundüberlegung besteht darin, dass man einem Entscheidungsträger die Spezifikation einer eindeutigen Präferenzordnung nicht sinnvoll abverlangen kann. Vielmehr soll der Entscheidungsträger beim Vergleich von ai mit a j neben schwacher Präferenz oder Indifferenz auch starke Präferenz und die Unvergleichbarkeit zweier Alternativen konstatieren können. ● Für jede Zielfunktion kann der Entscheidungsträger verschiedene Schwellwerte spezifizieren, innerhalb derer die Scores verschiedener Alternativen als indifferent, strikt besser oder erheblich besser einzustufen sind. ▲ Mithilfe dieser Angaben können für je zwei Alternativen ai und a j zwei so genannte Prävalenzwerte p(ai ; a j ) und p(a j ; ai) berechnet werden, von denen die erste den Grad der Glaubwürdigkeit folgender Hypothese ausdrückt: Hinsichtlich der Präferenzen des Entscheidungsträgers ist die Alternative ai mindestens genauso gut wie die Alternative a j .

        4.3

        Entscheidung bei Risiko

        Risikobehaftete Entscheidungen liegen dann vor, wenn der Entscheidungsträger zwar nicht mit Sicherheit vorherbestimmen kann, welcher Umweltzustand eintreten wird, es ihm andererseits jedoch möglich ist, für jeden möglichen Umweltzustand eine Eintrittswahrscheinlichkeit zu spezifizieren. Während in Abschnitt 4.2 die Problematik der Aggregation multipler Zielfunktionen im Vordergrund stand, soll hier vereinfachend davon ausgegangen werden, dass der Entscheidungsträger die Abwägung der unterschiedlichen Handlungsalternativen anhand einer einzigen, metrisch skalierten Zielfunktion vornimmt. ■ Kauf einer Aktie oder eines festverzinslichen Wertpapiers: Hierbei interessiert sich der Entscheidungsträger (bei einer angenommenen Investitionsdauer von einem Jahr) ausschließlich für die Rendite des investierten Kapitals. Er geht davon aus, dass der Zustandsraum Z vier mögliche Umweltzustände, hier Entwicklungen des Wirtschaftswachstums, umfassen möge. Die Tabelle zeigt die unterschiedlichen Auszahlungsbeträge der möglichen Investitionen je nach Konjunkturentwicklung für die Anlage von 100 a: Wirtschaftswachstum

        A: Bundesobligationen B: Junk&Bonds Inc. C: Treu&Glauben AG

        z1 = −3%

        z2 = 1%

        z3 = 3%

        p(z1 ) = 0,1 107 0 100

        p(z2 ) = 0,2 107 125 110

        p(z3 ) = 0,5 107 125 110

        z4 = 5% p(z4 ) = 0,2 µ σ 107 107,0 0,00 125 112,5 37,50 120 111,0 5,39

        4.3 Entscheidung bei Risiko

        4.3.1

        161

        Risikopräferenz (µ ,σ )

        Das µ -Prinzip ist das einfachstes Beurteilungskriterium. Es orientiert sich am Erwartungswert µ der Auszahlungen für jede mögliche Aktion und empfiehlt, diejenige Handlungsalternative zu wählen, die den höchsten Erwartungswert aufweist. ■ In unserem Beispiel wären dies die Anleihen der Junk&Bonds Inc. mit 12,5 % erwarteter Jahresrendite. ▲ Es stellt sich aber heraus, dass mittels einer simplen Erwartungswertmaximierung lediglich ein risikoneutraler Entscheidungsträger adäquat modelliert werden kann. Das µ -σ -Prinzip versucht, diesem Manko Rechnung zu tragen. Neben dem Erwartungswert der Auszahlungen wird nun auch die Standardabweichung σ der Auszahlung vom Erwartungswert berücksichtigt. ■ Ein risikofreudiger Investor würde also in obigem Investitionsbeispiel sich weiterhin für die Anlageform B entscheiden, da er hier neben der höchsten Rendite auch die mit 37,5 höchste Standardabweichung der erwarteten Auszahlungen geboten bekommt. Dem risikoaversen Investor (und das ist wohl der weit häufigere Typ) wird die Entscheidung nicht ganz so leicht fallen, da er bei minimalem Risiko (nämlich einer Standardabweichung von 0) mit Bundesobligationen lediglich eine Rendite von 7 % realisieren kann. Für eine Rendite von 11 % muss er immerhin schon eine Standardabweichung der Auszahlungen von 5,39 in Kauf nehmen, für die 12,5-prozentige Rendite der Junk&Bonds-Obligationen sind es bereits 37,5 %. σ

        0%

        5%

        10 %

        µ

        Risiko-Präferenz eines risikoaversen Entscheidungsträgers ▲ Im Gegensatz zum µ -Prinzip gestattet es das µ − σ -Prinzip nun nicht mehr, eine von der Präferenzstruktur des Entscheidungsträgers unabhängige Entscheidungsempfehlung zu geben. Die Steigung der in der Abbildung (für einen risikoaversen Entscheidungsträger) gegebenen Indifferenzkurven wird also von Entscheidungsträger zu Entscheidungsträger unterschiedlich ausfallen.

        4.3.2

        Bernoulli-Prinzip und Sicherheitsäquivalent

        Das Bernoulli-Prinzip wurde bereits 1738 von Daniel Bernoulli vorgeschlagen und ist ein Weg zur Behebung der Defekte des µ -Prinzips: Anstatt vom Erwartungswert der Auszahlungen selbst auszugehen, wird eine subjektive Nutzenbewertung jeder möglichen Auszahlung eingeführt. ● Eine Aktion wird dann als optimal bezeichnet, wenn sie den Erwartungswert des Nutzens maximiert. ■ Angenommen, der Investor aus unserem Beispiel besitzt 1000 a. Der Nutzen, den ihm sein finanzieller Wohlstand stiftet, sei durch eine logarithmische Nutzenfunktion u(X) = log(X) beschrieben, im Augen-

        162

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        blick hat er also den Nutzen u(1000) = 3,0. Aus der Abbildung des letzten Beispiels wird bereits sichtbar, dass wir es mit einem risikoaversen Investor zu tun haben. Die konkave Form der Nutzenfunktion macht deutlich, dass eine geschenkte zusätzliche Mark weniger Nutzen stiftet, als eine weggenommene Mark an Schaden verursacht. Bezogen auf obiges Investitionsbeispiel nennt der Investor im Fall A nach Ablauf eines Jahres X = 1007 a sein eigen, was einem Nutzen von u(X) = log(1007) = 3,00303 Einheiten gleichkommt. Bei Investition B realisiert er dagegen mit 90-prozentiger Wahrscheinlichkeit einen Nutzen von u(X) = log(1025) = 3,0107 Einheiten. Mit einer Wahrscheinlichkeit von 0,1 bleibt ihm allerdings lediglich ein monetärer Wohlstand von 900 a übrig, der zu einem Nutzen von u(900) = 2,9542 führt. Der NutzenErwartungswert beträgt also µ = 0,9 · 3,0107 + 0,1 · 2,9542 = 3,00508 .

        Nachdem auch für Investition C der Nutzen jeder möglichen, nach Ablauf eines Jahres eintretenden, Wohlstandssituation bestimmt worden ist, kann für jede Handlungsalternative ein Nutzenerwartungswert errechnet werden. Für Alternative A liegt er, wie schon erwähnt, bei 3,00303, für Alternative B bei 3,00508 und für Alternative C bei 3,00474. Ein Entscheidungsträger mit der hier unterstellten Nutzenfunktion wird also Alternative B wählen. ▲ Durch Umkehrung der Nutzenfunktion erlaubt es die Nutzenermittlung nach dem Bernoulli-Prinzip ferner, jeder mit Risiko behafteten Handlungsalternative ein so genanntes Sicherheitsäquivalent zuzumessen. Sicherheitsäquivalent: Eine sichere Auszahlung S heißt genau dann Sicherheitsäquivalent von X, wenn der (sichere) Nutzen von S, u(S) dem erwarteten Nutzen von X, E u(X) identisch ist, also u(S) = E u(X) ,

        oder S = u−1 (E u(X) .

        ■ Im Beispiel wären dies für Alternative C ein Sicherheitsäquivalent von 1010,99 a und für Investition B ein Sicherheitsäquivalent von 1011,76 a. Alternative A führt selbstverständlich zu einem Sicherheitsäquivalent von 1007 a, da hier überhaupt kein Risiko vorliegt. Anders sieht dies für den Fall aus, dass das Vermögen unseres Investors nur 200 a beträgt: In diesem Fall stiftet Investitionsmöglichkeit B lediglich einen Nutzen von 2,31696, was einem Sicherheitsäquivalent von 207,47 a gleichkommt, während es Alternative C auf einen Nutzen von 2,32414 und damit einem Sicherheitsäquivalent von 210,93 a bringt. Man sieht also hierbei, dass der ärmere Investor den potenziellen Verlust von 100 a, der bei Alternative B mit einer Wahrscheinlichkeit von 10 % eintritt, stärker scheut, als ein Investor mit höherem Wohlstand.

        4.3.3

        Informationsbeschaffung als Entscheidungsproblem

        ▲ Die bisherigen Ausführungen haben vernachlässigt, dass in den meisten Entscheidungssituationen eine weitere Handlungsalternative besteht, die da lautet: „Beschaffung zusätzlicher Information.“ ● Informationsbeschaffung kann dazu dienen, neue Handlungsalternativen zu finden, die Ergebnisse bestehender Alternativen besser abschätzen zu können oder die Wahrscheinlichkeitsurteile über die maßgeblichen Umweltzustände zu verbessern. ▲ Da in den meisten Fällen die Einholung zusätzlicher Information mit Kosten verbunden ist, muss eine Möglichkeit gefunden werden, den durch die Informationsbeschaffung generierten erwarteten Nutzen (Informationswert) quantifizieren zu können, um ihn den Kosten gegenüberstellen zu können. ■ Ziehen wir erneut das Investitionsbeispiel heran und gehen davon aus, dass die angegebenen Wahrscheinlichkeiten für die vier möglichen Umweltzustände auf persönlichen Schätzungen beruhen. Zur Vereinfachung sei hier angenommen, dass der Nutzen des Entscheiders proportional zum erwarteten Gewinn ist. Der Anleger würde also sein Geld ohne zusätzliche Information auf Junk&Bonds setzen.

        4.4 Entscheidung bei Ungewissheit (Unsicherheit im engeren Sinne)

        163

        Wie groß ist nun der Wert einer vollständigen Information, also einer sicheren Prognose des wirklich eintretenden Umweltzustands? Hierzu muss der erwartete Gewinn der günstigsten Investition abzüglich der Informationsbeschaffung verglichen werden mit dem erwarteten Gewinn ohne Information (12,50 a). Bei sicherer Information würden für den Fall, dass z1 der wahre Umweltzustand sein würde, Bundesobligationen gewählt, in allen anderen Fällen die Anleihen der Junk&Bonds Inc., was einen erwarteten Gewinn in a von 0,1 · 7 + 0,9 · 25 = 23,20 in Aussicht stellen würde. ■ An dieser Stelle mag die Gewichtung der Umweltzustände mit den oben gegebenen A-priori-Wahrscheinlichkeiten nicht unmittelbar einsichtig sein: Wie kann man von Eintrittswahrscheinlichkeiten sprechen, wenn einer Person schon bekannt ist, welcher Umweltzustand eintreten wird, die Zukunft also nicht risikobehaftet sondern sicher ist? Es bleibt dem Entscheidungsträger leider nichts anderes übrig, als zur Bewertung der zu beschaffenden Information davon auszugehen, dass sie sich seiner Wahrscheinlichkeitsverteilung entsprechend verhält. So falsch diese auch sein mag, sie spiegelt das dem Entscheidungsträger verfügbare Wissen vor der Informationsbeschaffung wider und muss daher seine Bewertungsgrundlage sein. ■ Der rationale und risikoneutrale Entscheidungsträger wird also bereit sein, für die Information bis zu (23,20 a − 12,50 a =)10,70 a zu bezahlen, auch wenn sich ex post bei den Umweltzuständen z2 , z3 und z4 herausstellt, dass die Information wertlos ist, da der Entscheidungsträger auch ohne sie die Junk&Bonds-Anleihen erstanden hätte. ● Leider wird es keine Informationsquelle geben, die die zukünftige konjunkturelle Entwicklung mit absoluter Treffsicherheit voraussagt, weshalb in praktischen Entscheidungssituationen keine vollkommenen, sondern nur unvollkommene Informationen beschafft werden können. Für die in diesem Fall etwas aufwendigere Bestimmung des Informationswertes sei auf Laux oder Bamberg und Coenenberg verwiesen.

        4.4

        Entscheidung bei Ungewissheit (Unsicherheit im engeren Sinne)

        Entscheidung bei Ungewissheit liegt vor, wenn es dem Entscheidungsträger überhaupt nicht mehr möglich ist, subjektive, geschweige denn objektive Wahrscheinlichkeiten für den Eintritt der von ihm spezifizierten möglichen Umweltzustände anzugeben. ■ Angenommen, der Investor aus dem letzten Abschnitt sieht sich weiterhin den drei dort aufgeführten Investitionsmöglichkeiten gegenüber, ist jetzt allerdings nicht mehr in der Lage, eine Einschätzung der Eintrittswahrscheinlichkeiten einzelner Zustände vorzunehmen. Kann der Entscheidungsträger in dieser Situation dennoch eine rationale Wahl der günstigsten Handlungsalternative treffen?

        4.4.1

        Diskussion verschiedener Entscheidungsregeln

        Zunächst einmal kann hier eine Reduktion des Aktionenraums A auf die Menge der effizienten Aktionen vorgenommen werden. Die betriebswirtschaftliche Entscheidungstheorie hat eine Reihe von Entscheidungsregeln entwickelt, deren Auswahl jedoch als Glaubens- bzw. Präferenzfrage angesehen werden muss: • Die Maximin-Regel, auch Wald-Regel genannt, definiert das zu jeder Handlungsalternative gehörige Gütemaß Φ (ai ) als den minimalen Nutzen, der der Handlundsalternative ai bei Eintreten eines beliebigen Umweltzustandes beschert sein kann, das heißt Φ (ai ) = min j ui j .

        164

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        Der Entscheidungsträger wählt nun diejenige Handlungsalternative, die das höchste Gütemaß besitzt, er maximiert also den minimal eintretenden Nutzen. ■ Unterstellen wir wieder einen Investor mit Anfangsvermögen von 1000 a, so realisiert er bei Bundesobligationen im schlechtesten Fall einen Nutzen von log(1007), bei Anleihen von Junk&Bonds Inc. einen Nutzen von log(900) und bei Aktien von Treu&Glauben AG einen Nutzen von log(1000). Er wird daher Bundesobligationen präferieren. • Die Maximax-Regel geht von einem Gütemaß Φ (ai ) = max ui j j

        aus. ■ Der unverbesserliche Optimist wird also auf jeden Fall die Investitionsmöglichkeit B wählen, da er hier im günstigsten Fall einen Nutzen von log(1025) realisieren kann, während ihm die beiden übrigen Optionen lediglich log(1020) bzw. log(1007) versprechen. • Die Hurwicz-Regel stellt einen Kompromiss zwischen Maximin- und Maximax-Regel dar. Die Gütemaße der Maximin- und Maximax-Regeln werden mittels eines vom Entscheidungsträger festzulegenden Parameters λ gewichtet. Man erhält Φ (ai ) = λ · max ui j + (1 − λ ) · min j ui j . j

        ▲ Alle drei Entscheidungsregeln können recht schnell zu kontraintuitiven Empfehlungen führen. ■ Kontraintuitivität der Extremwertregeln: In dem nebenstehenden Fall (siehe Tabelle) würde der „gesunde Menschenverstand“ vermutlich Alternative A2 präferieren, während alle drei vorgenannten Entscheidungsregeln (unabhängig vom Gewichtungsfaktor λ ) eine Gleichwertigkeit der beiden Aktionen feststellen.

        z1 z2 z3 z4

        A1 A2 1000 0 0 1000 0 1000 0 1000

        • Die Laplace-Regel negiert (in gewisser Weise) die Existenz von Ungewissheit und geht davon aus, dass der Entscheidungsträger dadurch, dass er keinen Zustand mit einer höheren Eintrittswahrscheinlichkeit als einen anderen versieht, implizit davon ausgeht, dass alle möglichen Umweltzustände gleich wahrscheinlich sind. ■ In unserem Investitionsbeispiel würde folglich jedem Umweltzustand eine Eintrittswahrscheinlichkeit von 0,25 beigemessen werden. Nutzenerwartungswerte bzw. Sicherheitsäquivalente können nun wie oben beschrieben ermittelt werden. Die Bestimmung der optimalen Aktion bereitet keine Probleme. • Minimax-Regret-Prinzip oder Savage-Niehans-Regel: Wenn sich der Entscheidungsträger für eine Handlungsalternative ai entscheidet, jedoch der Umweltzustand j eintritt, ergibt sich eine mögliche Nutzendifferenz (quantifiziertes „Bedauern“) zwischen der von ihm gewählten Alternative und der sich für diesen Umweltzustand ex post als optimal herausstellenden Umweltalternative. ■ „Bedauern“ für jeden möglichen Umweltzustand: Wirtschaftswachstum z1 = −3% z2 = 1% z3 = 3% z4 = 5% maximales Bedauern A: Bundesobligationen 107 107 107 107 18 B: Junk&Bonds Inc. 0 125 125 125 107 C: Treu&Glauben AG 100 110 110 120 15 Das Gütemaß istin diesem Fall definiert als Φ (ai ) = max max uk j − ui j , j

        k

        wobei hier die Handlungsalternative mit dem geringsten Φ (ai ) zu wählen ist.

        4.5 Lösung mehrstufiger Entscheidungsprobleme

        165

        ■ Im obigen Investitionsbeispiel wären dies die Treu&Glauben-Aktien. ▲ Auch dieses Entscheidungskriterium führt bei der im Beispiel zur Kontraintuitivität der Extremwertregeln dargestellten Entscheidungssituation zu der bereits kritisierten Gleichwertigkeit von A1 und A2 . ▲ Ein völlig anderer Weg wird beschritten, wenn für jeden Entscheidungsträger nicht nur die Definition einer Nutzenfunktion, sondern auch die einer (ebenfalls konkaven) Unsicherheitspräferenzfunktion ω gefordert wird. Hierbei wird eine Scheu vor Ungewissheit unterstellt, die die Scheu des Entscheidungsträgers vor Risiko übersteigt. Diese Annahme wird durch die jüngere Literatur empirisch belegt.

        4.4.2

        Zusammenfassende Kritik

        Wenn auch die Vielfalt der in der Literatur angebotenen Entscheidungsregeln dem Entscheidungsträger die Auswahl nicht gerade erleichtert, so existiert doch ein bereits 1954 von Milnor aufgestellter Katalog von Anforderungen, denen eine Entscheidungsregel für Entscheidungssituationen bei Ungewissheit gerecht werden sollte: 1. Die Entscheidungsregel bringt die Aktionen in eine vollständige und transitive Rangordnung. 2. Die Nummerierung der Aktionen und Zustände hat keinen Einfluss auf diese Rangordnung. 3. Jede Aktion ak , die eine Aktion ai dominiert, wird gegenüber dieser präferiert. 4. Die Hinzufügung neuer Aktionen hat keinen Einfluss auf die Rangordnung zwischen den bisher berücksichtigten Aktionen. 5. Die Addition einer Konstante zu jedem Element einer beliebigen Spalte der Entscheidungsmatrix hat keinen Einfluss auf die Rangordnung der Aktionen. 6. Die Rangordnung wird ebenfalls nicht beeinflusst durch die mehrfache Hinzufügung einer Spalte der Entscheidungsmatrix. ▲ Milnor zeigte, dass keine Entscheidungsregel gleichzeitig alle Anforderungen 1 bis 6 erfüllt, jedoch zumindest die ersten fünf Anforderungen von der Laplace-Regel erfüllt werden können.

        4.5

        Lösung mehrstufiger Entscheidungsprobleme

        Bei den bisher betrachteten Verfahren handelt es sich um Ansätze, bei denen am Anfang einer Periode eine Entscheidung getroffen wurde, die dann zu einem Ergebnis am Ende der Periode führt. Mehrstufige Entscheidungen versuchen eine Abfolge von zeitlich aufeinander folgenden Einzelentscheidungen als Ganzes zu bewerten. ▲ Viele reale Entscheidungsprobleme bestehen aus mehreren Teilentscheidungen, bei denen das Ergebnis der zuerst zu treffenden Teilentscheidung die Handlungsalternativen oder Umweltzustände der nachfolgenden Teilentscheidungen beeinflusst. Im Folgenden werden zwei Ansätze zur Lösung mehrstufiger Entscheidungsprobleme diskutiert.

        4.5.1

        Starre Planung

        Beim Entscheidungsbaumverfahren werden alle möglichen Entscheidungen und alle möglichen Umweltzustände in Form eines Baumes abgetragen. Die Berechnung der Endergebnisse über alle Entscheidungsmöglichkeiten und alle Umweltzustände führt zu einer Folge von Entscheidungen. ▲ Als Ziel- und Entscheidungskriterium eignet sich eine Maximierung des Nutzens der Endergebnisse. ■ Bei einer Anwendung im Bereich der Investitionsrechnung kann der Nutzen durch eine Maximierung des Kapitalwerts des Endvermögens gemessen werden.

        166

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        Entscheidungsbaum Die möglichen Handlungsalternativen (HA) werden in der Periode 0 in Form von Rechtecken abgebildet, die möglichen Umweltzustände (UZ) der Folgeperiode in Form von Ovalen dargestellt. Die Eintrittswahrscheinlichkeiten (w) der UZ werden an den Verbindungskanten zwischen den Handlungsalternativen und den UZ abgetragen. Auf der untersten Ebene werden die jeweiligen Ergebnisse (e) der jeweiligen Kombination von Handlungsalternativen und Umweltzuständen abgetragen. ● Durch Gewichtung der Ergebnisse (e) mit den jeweiligen Wahrscheinlichkeiten (w) kann der für einen risikoneutralen Entscheider wichtige Erwartungswert der Handlungsalternativen berechnet werden. ▲ Bereits das hier gezeigte einfache Beispiel von zwei Handlungsalternativen, zwei Umweltzuständen und zwei Perioden zeigt die Grenzen dieses Verfahrens auf, da bereits 16 Ergebnisse in die Berechnung einfließen. Bei der starren Planung wird die endgültige Abfolge der Teilentscheidungen bereits zu Anfang der Periode 0 festgelegt. Ist es möglich, dass dem Entscheider in den auf die Periode 0 folgenden Perioden neue Informationen über die Umweltzustände und die Folgen seiner Entscheidungen zukommen, so ist eine starre Planung nur sinnvoll, wenn durch die Wahl einer Handlungsalternative in der ersten Periode alle Folgeentscheidungen mit festgelegt werden. Dann handelt es sich aber eigentlich nicht um eine mehrstufige Entscheidung, sondern um eine einstufige Entscheidung.

        4.5.2

        Flexible Planung

        Bei der flexiblen Planung werden zur Entscheidung in der Periode 0 zwar auch alle Folgeentscheidungen berücksichtigt. Im Gegensatz zur starren Planung ist hierdurch jedoch nicht ein vollständiges Entscheidungsprogramm festgelegt. Vielmehr werden in jeder Folgeperiode alle möglichen Entscheidungen neu bewertet. Hierdurch können alle dem Entscheider in den Folgeperioden zugehenden Informationen berücksichtigt werden. ● Flexible Planung bietet sich an, wenn die Entscheidung unter Unsicherheit getroffen werden muss. ▲ Als Entscheidungsverfahren bietet sich wieder der Entscheidungsbaum an. ▲ Als Entscheidungskriterium könnte ein risikoneutraler Entscheider den Erwartungswert des Nutzens am Ende des Planungszeitraums verwenden. ■ Bei Investitionsentscheidungen wäre dies der Erwartungswert des Endvermögens.

        ● Der Vorteil der flexiblen Planung liegt in der Berücksichtigung der Informationen, die nach der Periode 0 bei dem Entscheider eingehen. Der Aufwand zur Aufstellung und Berechnung des Entscheidungsbaums kann bei längeren Planungszeiträumen und einer Vielzahl von Handlungsalternativen in den einzelnen Perioden jedoch erheblich sein.

        4.5 Lösung mehrstufiger Entscheidungsprobleme

        4.5.3

        167

        Dynamische Programmierung

        In mehrstufigen Entscheidungsprozessen lässt sich die optimale Strategie von Aktionen mittels dynamischer Programmierung ermitteln, falls der Entscheidungsprozess die Markov-Eigenschaft erfüllt. ● Eine Strategie ist eine Sequenz von n Politiken. Jeder Stufe des Entscheidungsprozesses wird eine Politik zugeordnet. ● Als Politik wird die Abbildung des Zustandsraums S in den Aktionsraum A bezeichnet. Die Politik bestimmt folglich (für eine Stufe des Prozesses) für jeden Systemzustand die zu ergreifende Aktion. ● Ein Prozess, welcher sich auf Stufe k in Zustand si befindet, ist ein Markov-Prozess, wenn die Wahrscheinlichkeit Pm (si ,s j ), einen beliebigen Zustand s j auf einer beliebigen künftigen Stufe m zu erreichen, nur von si abhängt, nicht jedoch von der historischen Entwicklung des Prozesses (also früheren Zuständen). ● Das Bellmann’sche-Optimalitätsprinzip verlangt von einer optimalen Strategie die Eigenschaft, dass, gleichgültig, welcher Anfangszustand herrschte und welche Anfangsentscheidung auch gewählt wurde, die noch zu treffenden Entscheidungen eine optimale Strategie bzgl. des aus der Anfangsentscheidung resultierenden Zustands darstellen. ■ Die Vorgehensweise der (hier stochastischen) dynamischen Programmierung kann recht anschaulich mithilfe der im so genannten Yield-Management untersuchten Vergabe knapper verderblicher Ressourcen illustriert werden: Man stelle sich einen von seiner Gewichtskapazität auf sechs Tonnen beschränkten Frachtraum eines Verkehrsflugzeugs vor, das zu einem bestimmten zukünftigen Zeitpunkt von Ort A nach Ort B fliegen wird. Frachtkapazität soll nur tonnenweise verkauft werden, d. h. zu jedem Zeitpunkt vor Abflug kann der Zustand des Systems als Restkapazität und somit als Element von Z := {0,1,2,3,4,5,6} interpretiert werden. Wenn das Telefon klingelt, wird dem Entscheidungsträger ein Frachtstück angeboten, das er entweder akzeptieren oder ablehnen kann. Wir gehen hier davon aus, es gäbe nur drei verschiedene Typen von Frachtstücken (F1, F2 und F3). Deren Attribute und die Wahrscheinlichkeit, dass das klingelnde Telefon den entsprechenden Typ verspricht, sind in folgender Tabelle zusammengefasst: Typ Wahrscheinlichkeit Gewicht Deckungsbeitrag F1 0,5 1 Tonne 1 Geldeinheit F2 0,3 2 Tonnen 4 Geldeinheiten F3 0,2 3 Tonnen 9 Geldeinheiten Ferner sei agenommen, es gäbe keine Unsicherheit über die Anzahl der bis Abflug noch eingehenden Frachtanfragen. Es könnte somit jeder Anfrage ein (rückwärts zählender) Index k zugeordnet werden, der auch aussagen würde, dass nach Frachtanfrage k noch k − 1 Frachtstücke angefragt werden würden. Das grundlegende Problem besteht nun darin, den Gesamtertrag der angenommenen Frachtstücke zu maximieren. Dies bedeutet, dass der Entscheidungsträger bei Frachtanfragen mit geringem Deckungsbeitrag (F1) abwägen muss zwischen diesem und dem Aufsparen der knappen Kapazität für künftige Anfragen mit ggf. höherem Deckungsbeitrag. Um eine optimale Annahmeentscheidung zu treffen, müsste der Entscheidungsträger auf jeder Stufe k nicht nur den Typ seiner Anfrage und die zur Verfügung stehende Restkapazität i kennen sondern auch den Wert Vk−1 (i), der für die k − 1 verbleibenden Anfragen verfügbaren Restkapazität i im Falle der Ablehnung der Anfrage k steht, sowie den Wert Vk−1 (i − Gewichtk ), der um das Gewicht der angefragten Fracht reduzierten Restkapazität im Falle des Akzeptierens der zur Disposition stehenden Anfrage. Er würde eine Anfrage dann und nur dann annehmen, wenn Deckungsbeitragk + Vk−1 (i − Gewichtk ) ≥ Vk−1 (i) .

        168

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        Ausgehend von V0 (i), das ja null sein muss für alle möglichen Restkapazitäten i (wenn keine einzige Anfrage mehr eintrifft, kann auch kein Deckungsbeitrag mehr generiert werden), kann die optimale Annahmepolitik für Stufe k = 1 und damit der Wert V1 (i) für jedes i berechnet werden: Es soll eine Annahmevorschrift mit einer dreiziffrigen Binärzahl dargestellt werden, wobei das erste Bit für F3 steht (0 bedeutet Ablehnung, 1 Annahme), das letzte Bit für F1. Eine Annahmepolitik ak = 110 würde bspw. bedeuten, dass nur F3 und F2 angenommen werden. Für Stufe k = 1 kann die optimale Annahmepolitik nur lauten: Nehme jedes Frachtstück, das vom Gewicht noch passt, denn das Aufsparen von Kapazität macht keinen Sinn, wenn keine weiteren Anfragen mehr eingehen. Mittels oben angegebener Wahrscheinlichkeitsverteilung kann für jede übrig gebliebene Restkapazität i der erwartete Restwert V1 (i) bestimmt werden: i 0 1 2 3 4 5 6

        a(i) 000 001 011 111 111 111 111

        V1 (i) 0.00 0.50 1.70 3.50 3.50 3.50 3.50

        Berechnung 0.2 · 0 + 0.3 · 0 + 0.5 · 0 0.2 · 0 + 0.3 · 0 + 0.5 · 1 0.2 · 0 + 0.3 · 4 + 0.5 · 1 0.2 · 9 + 0.3 · 4 + 0.5 · 1 0.2 · 9 + 0.3 · 4 + 0.5 · 1 0.2 · 9 + 0.3 · 4 + 0.5 · 1 0.2 · 9 + 0.3 · 4 + 0.5 · 1

        Hierauf aufbauend kann nun die optimale Annahmepolitik für Stufe k = 2 berechnet werden. Auf Stufe k = 2 stellt sich erstmalig die Frage nach einem Aufsparen von Kapazität für Stufe k = 1: Der erwartete Deckungsbeitrag auf Stufe k = 2 setzt sich (je nach Annahmepolitik) zusammen aus dem auf dieser Stufe generierten erwarteten Deckungsbeitrag r(i,a) und dem Wert der für Stufe k = 1 übrig bleibenden Restkapazität V1 ( j), wobei j die neue (bei Annahme reduzierte) Restkapazität angibt: V2 (i) := max(r(i,a) + ∑ p(i,a, j) · V1 ( j)) a

        j

        Die Werte für V1 wurden zuvor berechnet. Indem für jeden möglichen Zustand i und jede mögliche Annahmevorschrift a der Wert der Kapazität verglichen wird, kann für jeden Zustand i die optimale Annahmevorschrift ermittelt werden. Die auf Stufe 1 optimale Politik („nehme alles, was passt“) ist hier für einige Zustände bereits definitiv subobtimal, wie folgender Vergleich für i = 3 zeigt: V2 (3,110) = (0.2 · 9 + 0.3 · 4 + 0.5 · 0) + 0.2V1 (0) + 0.3V1 (1) + 0.5V1 (3) = 4.90 aber V2 (3,111) = (0.2 · 9 + 0.3 · 4 + 0.5 · 1) + 0.2V1(0) + 0.3V1 (1) + 0.5V1(2) = 4.50. Man sieht, dass es besser ist, bei Restkapazität von i = 3 ein F1 abzulehnen, als sich die Chance zu verbauen, auf Stufe k = 1 noch ein eventuell angefragtes F3 mitnehmen zu können. Indem man diesen Iterationsprozess fortsetzt, lässt sich für jede beliebige Stufe k die optimale Annahmepolitik bestimmen. Die hierzu gewählte Vorgehensweise der Lösung des rekursiven Gleichungssystems VN (i)

        := max(r(i,a) + ∑ p(i,a, j) · VN−1 ( j)) a

        j

        VN−1 (i) := max(r(i,a) + ∑ p(i,a, j) · VN−2 ( j)) a

        j

        VN−2 (i) := max(r(i,a) + ∑ p(i,a, j) · VN−3 ( j)) a j .. . V0 (i) := 0 wird als stochastische dynamische Programmierung bezeichnet. Die folgende Abbildung vermittelt eine Vorstellung vom asymptotischen Verlauf des Wertes einer gegebenen Kapazität i bei unterschiedlicher Anzahl N verbleibender Frachtanfragen.

        4.6 Komplexitätsbewältigung durch Simulation

        169

        Wert einer gegebenen Restkapazität im Zeitablauf

        4.6

        Komplexitätsbewältigung durch Simulation

        Unter einer Simulation versteht man die Nachahmung von Prozessen eines wirklichen oder gedachten materiellen Systems mit Hilfe eines materiellen oder immateriellen (formalen) Modells. ● Man kann zwei grundsätzliche Simulationstechniken unterscheiden: • Simulation von Ergebnissen von Handlungsalternativen zur Abbildung unsicherer Erwartungen (Monte-Carlo-Simulation) • Simulation einer Abfolge von Ereignissen zur Darstellung mehrstufiger Entscheidungen (Ereignisfolge-Simulation)

        4.6.1

        Monte-Carlo-Simulation

        Die Monte-Carlo-Simulation beschreibt die Ergebnisse der Wahl einer Handlungsalternative mittels Wahrscheinlichkeitsverteilungen. ▲ Insbesondere bei einer großen Zahl von möglichen Umweltvariablen ist es meist zu aufwendig, jeden Zustand explizit in ein Entscheidungsmodell aufzunehmen und jede Alternative für jeden Zustand getrennt zu bewerten. Man greift darum auf Monte-Carlo-Modelle zurück, in der (anstatt einer analytischen Berechnung der Wahrscheinlichkeitsverteilung der Zielgröße aus den Verteilungen der Umweltvariablen) die Umweltvariablen als „Urnen“ mit vogegebener Verteilung interpretiert werden, aus denen jeweils ein konkreter Wert gezogen wird. In ihrer Gesamtheit stellen diese Werte einen konkreten Umweltzustand dar, für den die Zielfunktion berechnet werden kann. Indem dieses Experiment in großer Zahl wiederholt wird, gelangt man zu der gewünschten Verteilung der Zielfunktionswerte für die betrachtete Handlungsalternative.

        170

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        ▲ Ein Problem dieser Methode liegt allerdings darin, dass in fast allen entsprechenden Publikationen stillschweigend von unkorrelierten „Urnen“ und damit von unabhängigen Ereignissen ausgegangen wird, was der Realität oft nicht besonders nahe kommt. ■ So wird bei mehrperiodigen Investitionsprojekten die Höhe des Zinses in der Periode t1 z. B. die

        Wahrscheinlichkeitsverteilung des Zinses in der Periode t2 beeinflussen. Die Integration solcher ex ante bekannten Korrelationen in das Simulationsmodell ist recht aufwendig und wird daher von gängigen Simulationsumgebungen nicht unterstützt.

        4.6.2

        Ereignisfolge-Simulationen

        ● Eine Reihe von mehrstufigen Entscheidungsproblemen ist, bedingt durch die Anzahl der relevanten Umweltzustände oder Handlungsalternativen oder deren Relationen, zu komplex, um sich mittels dynamischer Programmierung lösen zu lassen. Simulationsstudien sollen das Experimentieren an Realsystemen ersetzen, indem sie den Ansatz der MonteCarlo-Simulation auf mehrperiodige Probleme anwenden. In den letzten Jahren haben rechnergestützte Systemsimulationen an Bedeutung gewonnen. Sie konnten sich neben den mathematischen Methodenbanken zu einem wertvollen Instrument der experimentellen Systemforschung entwickeln. ● Betrachtet man die analytischen Methoden der Systemforschung, die in der Simulation zugrunde gelegt werden, so lassen sich zwei wesentliche Aspekte unterscheiden: • Die Simulation entwickelt Prozesse (Zustandsfolgen im Zeitablauf) aufgrund der im Modell dargestellten Wirkungszusammenhänge und Zeitmechanismen. ▲ Analytische Methoden entwickeln i. d. R. keine Zustandsfolgen im Zeitablauf, sondern betrach-

        ten die Zustände als Zeitpunkt- oder Zeitraumwerte. • Die Simulation ist ein Probierverfahren, das keinen eigenen Lösungsalgorithmus hat in dem Sinne, dass es selbständig eine optimale Handlungsalternative fände. Vielmehr wird ein Simulationsproblem durch Experimentieren mit zulässigen Systemstrukturen und Ablaufregeln „gelöst“, wenn deren Manipulation zu einem befriedigenden Systemverhalten führt. ● Folgende Phasen im Systemgestaltungs- und -nutzungsprozess lassen sich mithilfe von Simulationen unterstützen: a) Das Systemstudium dient der Erkenntnisgewinnung über das Systemverhalten. Dabei stehen die Analyse und Synthese von Systemen im Vordergrund. Bei der Systemanalyse geht es um die Erforschung der inneren Systemstruktur, d. h. die Anzahl und Art der Wirkungszusammenhänge der Systemelemente. b) Die Systemsynthese baut auf der Systemstruktur auf und betrachtet das Verhalten von Systemkomponenten, die zusammengesetzt werden. c) Der Systementwurf hat die zweckgerichtete Gestaltung von Systemstrukturen und Prozessen zum Ziel. Dabei betrachtet der Konfigurationsentwurf die Suche nach einer Systemstruktur, die ein vorgegebenes Systemverhalten erfüllt. Dagegen hat der Ablaufentwurf die Suche nach Ablaufbedingungen für einen Prozessablauf im Rahmen einer festen Systemstruktur bei gegebenen Nebenbedingungen zum Gegenstand. d) Die Systemschulung dient der Einübung des Systementwurfs, der Systemkontrolle und der Systembedienung. ▲ Aus der Sicht der betrieblichen Entscheidungsunterstützungssysteme sind die Systemanalyse sowie der Systementwurf von besonderer Bedeutung.

        4.6 Komplexitätsbewältigung durch Simulation

        171

        a) Simulation versus Operations Research Zur experimentellen Systemanalyse und zum experiementellen Systementwurf werden häufig auch Verfahren des Operations Research angewendet. Um die Eigenschaften von Simulationssystemen besser verdeutlichen und abgrenzen zu können, soll ein Vergleich mit den Verfahren des Operations Research vorgenommen werden. • Berücksichtigung des Faktors Zeit: ■ Betrachtet man gängige Verfahren des Operations Research, wie z. B. die lineare Programmierung, so findet nur selten eine Berücksichtigung des Faktors Zeit statt. Die entworfenen Modelle sind meist statisch und gelten nur für eine Periode. ■ Eine Ausnahme bildet bspw. die Netzplantechnik, die bei der Systemanalyse und beim Ablaufentwurf von Nutzen sein kann. ● Im Rahmen der Simulation wird die Zeit explizit berücksichtigt, indem z. B. die Anzahl gefertigter Einheiten in einem bestimmten Zeitintervall oder die benötigte Zeitdauer für eine bestimmte Fertigungsmenge betrachtet wird. • Suche nach Optima: ▲ Die meisten Verfahren des Operations Research versuchen, globale oder lokale Optima zu bestimmen. Dabei können Anwendungsprobleme auftreten, sofern die Auffindung (z. B. wegen Ganzzahligkeitsbedingungen) zu lange dauert. ● Simulationsmodelle gehen demgegenüber von keinem Optimierungskalkül aus, sondern stellen das Systemverhalten in den Vordergrund. Anhand der gemessenen Zustands- oder Zeitraumwerte entscheidet sich der Anwender (Simulator) für eine bestimmte Modellstruktur, wobei er nur begrenzte Aussagen hinsichtlich der Optimalität seiner Lösung tätigen kann. Häufig gibt sich der Simulator bereits mit einer für ihn akzeptablen Lösung zufrieden (satisficing). • Berücksichtigung von Risiko bzw. Unsicherheit: ▲ Die meisten Verfahren des Operations Research besitzen deterministischen Charakter. Sie unterstellen sichere Erwartungen. ■ Die explizite Berücksichtigung von Risikoaspekten, d. h. das Eintreten von Ereignissen mit einer bestimmten Wahrscheinlichkeit, findet nur bei wenigen Verfahren, wie z. B. den Netzplantechniken PERT und GERT, statt. ● Simulationsmodelle haben dagegen meist stochastischen Charakter. Mithilfe angenommener Wahrscheinlichkeitsverteilungen können bestimmte Prozesse innerhalb bestimmter Intervalle als zufällig modelliert und die Konsequenzen für das Ergebnis betrachtet werden. • Änderungsflexibilität und Realitätsnähe: ▲ Gängige Optimierungsverfahren sind nicht immer änderungsflexibel. Gerade umfassende Ansätze zur linearen Programmierung bedürfen im Änderungsfall eines beachtlichen zeitlichen Anpassungsaufwands. Dafür verantwortlich ist auch der Aufwand zur Transformation eines beobachteten Realmodells in ein (mathematisches) Formalmodell. Hier greift oft die grundsätzliche Kritik an den Verfahren des Operations Research. ▲ Die Abbildung eines Realproblems stellt in einer Simulationssprache ebenfalls ein Formalmodell dar, jedoch ist dies, je nach verwendetem Sprachkonstrukt, in seiner Notation der menschlichen Denk- und Schreibweise näher als die mathematische Notation. Annahmen über die Wirklichkeit brauchen nicht in lineare Gleichungssysteme übersetzt werden, sondern können verhältnismäßig realitätstreu abgebildet werden.

        172

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        b) Simulationssprachen Eine Simulationssprache ist eine für die Abbildung (Programmierung) eines Simulationsproblems auf dem Rechner benötigte, problemspezifische Programmiersprache, die die problemspezifischen Konstrukte mit wenigen Befehlen übersichtlich abbilden kann. ▲ Die Entwicklung von Simulationssprachen für diskrete Ereignisse geht i. W. auf die Programmiersprachen FORTRAN (Formula Translation) und ALGOL (Algorithmic Language) zurück. Beide Sprachen entstammen primär dem technisch wissenschaftlichen Anwendungsgebiet und eignen sich zur Verarbeitung mathematischer Probleme. Die ersten Simulationsprobleme wurden noch mit diesen Sprachen programmiert, wobei sämtliche simulationsspezifischen Programmkonstrukte, wie z. B. Transaktionen, Bearbeitungsstationen usw. durch bedingte Anweisungen und Schleifen realisiert werden mussten. Diese Form der Problemabbildung war z. T. recht umständlich und keinesfalls der Erlernbarkeit und Transparenz förderlich. ■ Zu bedeutenden Sprachfamilien entwickelte sich die SIMSCRIPT- sowie die GPSS(General Purpose Simulation System)-Gruppe. SIMSCRIPT ist eine weit verbreitete, prozedurale Programmiersprache zur Simulation diskreter Ereignisse. GPSS ist eine dedizierte Sprache zur Abbildung von Warteschlangenproblemen, die ebenfalls für eine Reihe von Rechnertypen erhältlich ist. Um die Strukturen und Eigenschaften von Simulationsprogrammen besser verstehen zu können, soll nachfolgend kurz auf die elementaren Konzepte von Simulationssprachen für diskrete Ereignisse eingegangen werden. ● Grundlegende Konzepte für diskrete Ereignisse: • Transaktionen (transactions) sind temporäre Einheiten mit einem definierten Anfang und einem definierten Ende. Während der Simulation werden Transaktionen generiert (generate) und wieder beendet (terminate). Die Generierung einer Transaktion gehorcht einer Wahrscheinlichkeitsverteilung. Neben dem Generieren ist es notwendig, eine Transaktion eine bestimmte Zeit im System verweilen (advance) zu lassen. ■ Transaktionen ohne Verweildauer verhalten sich wie Personen, die das Drehkreuz eines Ge-

        schäfts einmal kurz durchlaufen und das Geschäft sofort wieder verlassen. • Bedienungsstationen (servers) sind im Gegensatz zu Transaktionen keine temporären, sondern dauerhafte Einheiten. Sie bleiben im System während des gesamten Simulationsvorgangs bestehen. Grundsätzlich lassen sich zwei Arten unterscheiden: 1. Einrichtungen (facilities) können in einer bestimmten Zeit nur eine Transaktion bedienen. Sie nehmen diese auf (seize) und geben sie nach erfolgter Abarbeitung wieder ab (release). Die Modellierung einer zweiten, parallelen Einrichtung wird zwecks Neukauf einer zweiten Bearbeitungsmaschine für Welle B notwendig. 2. Ein Speicher (storage) kann mehrere Transaktionen bedienen. Auch diese werden aufgenommen (enter) und anschließend wieder freigegeben (leave). Zur Simulation einer gemeinsamen Bearbeitungsstation ist der Gebrauch des Speicher-Konzepts notwendig.

        c) Aufbau und Nutzung von Simulationswerkzeugen ● Die Syntax von Simulationsprogrammen für diskrete Ereignisse folgt einem prozeduralen Sprachstil. Dieser Sprachstil erfordert beim Anwender einen hohen Lernaufwand, ein bestimmtes Maß an Erfahrung und viel Zeit, da – wie bei anderen problemorientierten Programmiersprachen auch – der

        4.6 Komplexitätsbewältigung durch Simulation

        173

        Testaufwand beträchtlich ist. Da diese Prämissen bei Endanwendern relativ selten gegeben sind, wurden Simulationssprachen für Probleme der Entscheidungsunterstützung bisher eher sporadisch eingesetzt. ▲ Verschiedene Softwarehäuser bieten, um dieses Defizit zu überwinden, mittlerweile Simulationswerkzeuge (simulation kits) an, die keine Programmierung erfordern. Der Anwender kann beim Umgang mit diesen Werkzeugen über eine benutzerfreundliche Schnittstelle sein Realitätsproblem relativ einfach modellieren. Der Nachteil der Simulationswerkzeuge liegt jedoch darin, dass sie nicht universell anwendbar sind. Sie können nur für ganz abgegrenzte Aufgabenstellungen, wie z. B. die Simulation von Fertigungsprozessen, eingesetzt werden. ■ Die wichtigsten am Markt erhältlichen Produkte sind SIMFACTORY und XCELL+ zur Simulation von Fertigungsabläufen. Ebenfalls anzutreffen sind Werkzeuge mit Modellgeneratoren, wie z. B. DRAFT oder CAPS und deklarative Systeme, wie z. B. SCERT oder SAM. Ein Teil der vorgenannten Werkzeuge bietet die Möglichkeit der Grafikanimation. ■ Zur Verdeutlichung der Arbeitsweise von Simulationswerkzeugen soll SIMFACTORY nachfolgend näher erörtert werden: SIMFACTORY ist ein benutzerfreundliches Werkzeug zur Entscheidungsunterstützung, das Abläufe und Leistungsprozesse im Produktionsbetrieb durch Simulation vorhersehbar und somit besser planbar macht. Das Werkzeug selbst ist in SIMSCRIPT programmiert und setzt somit auf den logischen Konzepten dieser Simulationssprache auf. Typische Problemstellungen, die mithilfe dieses Werkzeugs bearbeitet werden können, sind: • Welche Stückzahl kann meine Fertigungslinie am Tag produzieren? • Was passiert, wenn die Anordnung der Maschinen verändert wird? • Können Produktionstermine eingehalten werden? • Wie verhält sich die Produktion, wenn Arbeitskräfte eingespart oder hinzugefügt werden? • Wie beeinflussen Maschinenausfälle und Personalmangel das Produktionsergebnis? Um diese Fragen für einen Entscheider beantworten zu können, stellt das betrachtete Werkzeug eine Reihe von Modellelementen zur Verfügung, die mittels Fenstertechnik und Pull-Down-Menüs ausgewählt und spezifiziert werden müssen. Dabei werden grundsätzlich zwei Ebenen unterschieden: Das physische Layout (Konfigurationsentwurf) und die Prozessebene (Ablaufentwurf). • Physisches Layout (Konfigurationsentwurf): Es werden wiederum Arbeitsstationen (stations), Pufferspeicher (buffers), Transportmittel (transporters) sowie Förderanlagen (conveyors) als Konstruktionselemente unterschieden. – In den Stationen wird die Arbeit ausgeführt. – In den Puffern kommen Rohmaterialien an oder warten Zwischenprodukte auf eine weitere Verarbeitung. – Die Transportmittel bilden Einrichtungen ab, die Teile zwischen geographischen Orten nach dem Losgrößenprinzip bewegen. ■ Kräne oder Gabelstapler – Förderanlagen repräsentieren Einrichtungen, die Teile nach dem Fließprinzip bewegen. ■ Fließbänder, Flurförderer, etc. Jedes der vier genannten Konstruktionselemente besitzt eine Reihe von Optionen. Mithilfe der Optionen kann das Verhalten der Elemente beeinflusst werden. Beispielsweise können in Stationen und Puffern unterschiedliche Prinzipien des Materialflusses abgebildet werden. In den Puffern können Lagerhaltungsprinzipien und Kontrollstrategien angewählt werden, die auch in der Praxis auffindbar sind. Transportmittel und Förderer bieten unterschiedliche Ausprägungsformen der Warenaufnahme oder -abgabe.

        174

        4 Normative Methoden und Verfahren der Entscheidungsfindung • Die Prozessebene bietet ebenfalls eine Reihe von Konstruktionselementen an. Da diese vielfältiger sind, als die der physischen Layoutebene, ist sie komplexer. Die wichtigsten Prozesselemente sind: Abläufe (operations), Prozesspläne (process plans), Ressourcen (resources), Losgrößen (Lots), Rüstzeiten (setup and teardown time) und Ausfallzeiten (down time). – Die Abläufe repräsentieren die Aktivitäten, die im modellierten Produktionssystem stattfinden. – Die Prozesspläne beschreiben die Reihenfolge, in der die Abläufe stattfinden. Zudem stellen sie den Materialfluss zwischen den Elementen der physischen Ebene dar. ■ Arbeitsstationen, Puffer, etc.

        Für die Auswertung steht ein umfassendes, integriertes Grafikpaket zur Verfügung. Zudem erlauben Berichte eine direkte Betrachtung von Zahlenmaterial und Kennzahlen. Beispielsweise enthält der Teilebericht Daten über Materialverbräuche, Arbeitsfortschritt, Endprodukte und Produktdurchsätze. ▲ Genügen die von SIMFACTORY angebotenen Standardoptionen nicht den Erfordernissen des

        Anwenders, so hat dieser die Möglichkeit, mittels einer deskriptiven Hochsprache eigene ProgrammStatements zu schreiben und in das durch Parameterspezifikation erstellte Simulationsmodell einzufügen.

        d) Anwendungsschwerpunkte Anhand der vorgenannten Ausführungen und dem einfachen Anwendungsbeispiel wurde ein maßgeblicher Anwendungsschwerpunkt bereits angesprochen: die Fertigung. ● Im anglo-amerikanischen Sprachbereich sind bereits eine ganze Reihe von Fällen des Einsatzes von Simulationswerkzeugen bekannt. Sie unterscheiden sich i. W. durch die herzustellenden Produkte bzw. die Branche der anwendenden Unternehmen und die zugrunde liegende Fertigungsarten. ■ Es ist auffällig, dass eine Vielzahl der anwendenden Unternehmen im Rüstungsbereich tätig sind. Vermutlich rechtfertigt das hohe Auftragsvolumen einzelner Rüstungsvorhaben und die damit verbundene Planung und Durchführung den Einsatz von Simulationswerkzeugen besonders. ■ Es lassen sich aus dem anglo-amerikanischen Bereich folgende Anwendungsbeispiele anführen: • Ermittlung von Ausrüstungs- und Personalbedarfen zur Fertigung neuartiger Torpedosysteme, • Analyse des Kabelmontageprozesses in Raketensystemen, • Fabriklayout eines Schaumstoffherstellers als Zulieferteil für Automobilsitze (strenges Fließprinzip versus flexible Arbeitsstationen, 2-Schicht- versus 3-Schicht-Betrieb), • Personalbedarfsanalyse und Verkehrssteuerung eines Materialtransportsystems zwischen Endlager und Produktionsstätte bei einem Traktorenhersteller, • Arbeitsablaufs- und Personalbedarfsanalyse bei einem Hersteller von Messinstrumenten, • Modellierung eines Just-In-Time-Liefersystems für Automobilsitze von einem Zulieferer an eine Fertigungsstätte, • Analyse des Auslastungsgrades eines Hochgeschwindigkeitspalletiersystems in einem Elektronikkonzern und • Verbesserung der Arbeitsabläufe in einem Pool von Arbeitsstationen bei einem Computerhersteller. ● Neben diesen Kurzbeispielen aus dem Fertigungsbereich gibt es jedoch noch andere Fassetten des betrieblichen Einsatzes von Simulationswerkzeugen zur Entscheidungsunterstützung. ■ In einem großen Unternehmen der Telekommunikationsbranche wurde der Einsatz von Simulationswerkzeugen „entfremdet“, indem Teile der Unternehmensorganisation abgebildet wurden. Der betreffende Anbieter von Telekommunkationsdiensten erhielt aufschlussreiche Anhaltspunkte über Durchsatzraten, Arbeitszyklen, Engpässe und Synergieeffekte, die sonst nur mithilfe dynamischer Analysen identifizierbar gewesen wären. Die Analyse wurde möglich, indem Datenflüsse als Materialflüsse modelliert wurden.

        4.7 Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz

        175

        ▲ Die Bedeutung von Simulationswerkzeugen wird zudem dadurch bekräftigt, dass diese immer mehr als elementares Managementinstrument gelehrt werden. ■ Bei einem namhaften Hersteller von Halbleiterspeichern wurde ein Teil des Managements, insbesondere die Mitarbeiter in den Stäben, auf breiter Basis im Umgang mit Simulationswerkzeugen geschult, um zukünftig Arbeitslasten, Maschinennutzung und Änderungen der Wartungsstrategien besser vorhersagen zu können. ● Neben Werkzeugen zur Abbildung fertigungsspezifischer Fragestellungen werden Systeme zur Modellierung von computergestützten Fernnetzen (NETWORK), lokalen Netzen (LANNET) sowie Telekommunikationsnetzen (COMNET) angeboten. Die betreffenden Produkte basieren ebenfalls auf der Simulationssprache SIMSCRIPT, verfügen z. T. über Möglichkeiten der Grafikanimation und decken ebenfalls anwendungsproblemspezifische Aspekte ab.

        4.7

        Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz

        Die Forschung im Bereich Künstliche Intelligenz (KI) versucht, menschliche Problemlösungsverfahren auf einem Rechnersystem nachzuempfinden (Wissensbanken, Unscharfe (Fuzzy-) Logik und Neuronale Netze).

        4.7.1

        Wissensrepräsentation und Inferenz

        ▲ Die in den vorangegangenen Abschnitten dargestellten Verfahren zur Entscheidungsunterstützung verlangen vom Entscheidungsträger die Aufbereitung des Entscheidungsfeldes im Kontext des konkreten Entscheidungsproblems. ● Anstelle einer problemspezifischen Aufbereitung des Wissens erfolgt in der KI eine domänenspezifische Aufbereitung, d. h. idealtypisch wird sämtliches, für einen modellierten Ausschnitt der Realwelt relevantes Methodenwissen zusammen mit dem entprechenden Faktenwissen abgebildet. ● Die in diesem Zusammenhang zu lösende Frage lautet: „Lässt sich eine problemunabhängige Beschreibungssprache finden, die neben der Repräsentation von Faktenwissen auch die Repräsentation von Methodenwissen gestattet?“ ▲ Der wohl am häufigsten gewählte Ansatz besteht in der Verkürzung des Methodenbegriffs auf Methodenwissen, welches sich in formaler Logik erster Ordnung abbilden lässt. Eine Inferenzmaschine ist des logischen Schlussfolgerns mächtig. ■ Eine Inferenzmaschine kann aus der Kombination des Faktums „Alle Menschen sind sterblich“ mit

        dem Faktum „Sokrates ist ein Mensch“ künstlich intelligent schließen: „Sokrates ist sterblich“. ● Nutzen für den Entscheidungsträger:

        a) Der unwissende Entscheidungsträger: Er muss entscheiden, ob Sokrates sterblich ist oder nicht. Sofern er weder über Faktenwissen bzgl. der Klasse der Menschen noch bzgl. der Zugehörigkeit von Sokrates zu dieser Klasse verfügt, kann das Unterstützungssystem Dienste leisten, indem es das nötige Faktenwissen bereitstellt und sofort sinnvoll verknüpft. b) Der „eilige“ Entscheidungsträger: Er verfügt zwar über den gleichen Wissenshorizont wie das Unterstützungssystem aber über eine langsamere „Inferenzmaschine“.

        176

        4 Normative Methoden und Verfahren der Entscheidungsfindung ■

        4.7.2

        Ein klassisches Beispiel stellt in diesem Zusammenhang die Bewertung des nächsten Zuges beim Schachspiel dar: Ein schlechter Schachspieler kennt zwar (meist) alle Regeln und alle aktuellen Positionen auf dem Brett, die Deduktion des Wissens, ob ein Zug zur Klasse der zum Sieg führenden Züge gehört, kann aber erst nach einer Vielzahl von Inferenzen beantwortet werden, zu deren vollständigen Durchführung auch der Schachcomputer nicht fähig ist. Die Anzahl der in einem begrenzten Zeitraum durchführbaren Inferenzen (= Schlussfolgerungen) liegt jedoch beim Schachcomputer weit höher.

        Monotone versus nichtmonotone Logik

        Für den Fall, dass Schlussfolgern allein auf sicherem Wissen über die Realwelt basiert, kommt der Entscheidungsträger nicht in die Verlegenheit, seine Deduktionen jemals überdenken zu müssen. ■ Die einmal gefolgerte Konklusion bzgl. der Sterblichkeit von Sokrates bleibt als abgeleitetes Faktenwissen von Bestand. ● Oftmals bleibt jedoch die 1:1-Abbildung der zu modellierenden Welt verwehrt: Vereinfachende, oft unbegründete aber unverzichtbare Annahmen sind zu treffen und einmal getroffene Annahmen im Zeitablauf zu revidieren. Monotones Schließen bedeutet, dass das Hinzufügen eines neuen Datums zu einer bestehenden Theorie die Anzahl der Inferenzen, die aus den gegebenen Annahmen zu ziehen sind, nur erhöhen, aber niemals vermindern kann. ■ Sollten wir allerdings die durchaus sinnvolle Annahme getroffen haben, alle Vögel könnten fliegen, so wäre es sinnvoll, die Deduktion, Vogel Hansi könne fliegen, dann zurückzunehmen, wenn wir in Erfahrung bringen, dass es sich bei Hansi um einen Pinguin handelt. ● Erweiterungen der monotonen Logik: • Die Default-Logik (Reiter) wird implizit von vielen Systemen zur Wissensrepräsentation unterstützt: Durch die Zusammenfassung gleichartiger Objekte (z. B. Hansi, Susi und Lora) zu einer Klasse (Vögel), wird es möglich, bestimmten Attributen auf Klassenebene Defaultwerte zuzuweisen. ■ Reiter’sche Lösung des Problems nicht fliegender Vögel: „Wenn nichts Gegenteiliges bekannt,

        so ist anzunehmen, dass Vögel fliegen.“ Der Teil „nichts Gegenteiliges bekannt“ wird von Reiter ausgelegt als „es ist mit bisher Bekanntem vereinbar, anzunehmen.“. ■ So würde man dem Prädikat „Flugtüchtigkeit“ für die Klasse der Vögel den Defaultwert TRUE

        zuweisen, diesen jedoch für Hansi respektive die Unterklasse der Pinguine mit FALSE überschreiben. ▲ Die Konsistenzprüfung des Defaults im Inferenzprozess ist jedoch äußerst zeitaufwending,

        weshalb den im Folgenden genannten Verfahren meist der Vorzug gegeben wird. • Die Annahme der geschlossenen Welt (Closed World Assumption) geht im Vergleich zur DefaultLogik den umgekehrten Weg: ● Wahrheitswerte, die nicht explizit TRUE gesetzt worden sind, werden als FALSE angenommen,

        sofern die FALSE-Annahme mit dem restlichen Wissen konsistent ist. ▲ Identische Aussagen können allerdings, je nach Formulierung, zu unterschiedlichen Annahmen

        führen: ■ (1) ledig(x) == not(verheiratet(x))

        (2) verheiratet(x) == not(ledig(x))

        4.7 Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz

        177

        Sofern wir über den Familienstand eines Individuums x nicht informiert sind, führt die Annahme der geschlossenen Welt in Fall (1) zur Annahme, x sei ledig, in Fall (2) dagegen zur Annahme, x sei verheiratet. • Truth Maintenance Systeme (TMS) gewährleisten die Konsistenz der Wissensbasis zu jedem Zeitpunkt des Inferenzprozesses. Die Problemlösungskomponente wird mit Informationen bzgl. der Abhängigkeiten zwischen dem zu berechnenden Datum (Konsequenz) und den zu seiner Berechnung erforderlichen Daten (Antezedenten) versorgt. ■ DeKleer führt in seinem ATMS (assumption-based TMS) folgende Begriffe ein:

        – Knoten repräsentieren jeweils ein Datum. – Justification beschreibt, aus welcher Konjunktion von Antezedenten ein Knoten abgeleitet werden kann (womit sie einer Horn-Klausel gleichkommt). Die Negierung von Literalen ist hierbei nicht statthaft. – Assumptions sind terminale Knoten im Netzwerk der Justifications, d. h. sie besitzen selbst keine Rechtfertigungen und werden von der Problemlösungskomponenente anlässlich einer zu treffenden Entscheidung eingeführt. – Environment ist eine Menge von Assumptions. Ein Environment wird als NOGOOD bezeichnet, wenn sich der FALSE-Knoten aus ihm ableiten lässt, d. h. die getroffenen Assumptions inkonsistent sind. Mithilfe von NOGOODs lässt sich bspw. ausschließen, dass ein das Faktum „es regnet“ repräsentierender Knoten gleichzeitig mit einem „es regnet nicht“- Knoten zu TRUE evaluieren kann. – Kontext besteht aus einem konsistenten Environment zuzüglich der aus ihm ableitbaren Knoten. – Label des Knotens ist die Menge aller Kontexte, in denen ein Knoten gilt. ▲ Das ATMS weist also nicht dem Kontext Daten zu, sondern assoziiert zu jedem Datum gültige Kontexte. ▲ Wenn die Inferenzmaschine eine neue Justification übergibt, wird durch Kombination der Label

        der Antezedenten und Vergleich mit dem bereits existierenden Label des Konsequenz-Knotens dessen neues Label berechnet. Zunächst wird hierzu die Schnittmenge der Kontexte bestimmt, in denen alle Antezedenten gelten. Diese Menge wird mit der Menge der Kontexte vereinigt, in denen der Konsequenz-Knoten aufgrund anderer Justifications schon gilt. ● Die Hauptvorteile einer solchen Vorgehensweise liegen in der Konsistenz von Labels (inkonsis-

        tente Environments treten in Labels nicht auf und haben folglich auch keine Kontexte), in der Vollständigkeit von Labels (nur Knoten, die in keinem Kontext gelten, haben leere Labels. Der Problem Solver verbringt keine Zeit mit irrelevanten Knoten) und der Minimalität von Labels (jeder Label enthält die kleinstmögliche Zahl disjunkter Environments, die wiederum auf der kleinstmöglichen Zahl nötiger Assumptions basieren). ▲ Alle drei Punkte tragen zum Effizienzvorteil bei, der ein ATMS gegenüber konventionellen

        Verfahren (z. B. backtracking) auszeichnet. ■ Dressler zeigt, dass sich das Basis-ATMS unter Einführung eines neuen Knotentyps, den OUT-

        Assumptions (ein Datum sei OUT, wenn es als FALSE bekannt oder weder als TRUE noch FALSE bekannt, d. h. UNKNOWN ist), auf nichtmonotone Justifications erweitern lässt. Die Liste der Antezedenten nichtmonotoner Justifications besteht aus zwei Teilen, der IN-Liste und der OUT-Liste. Eine Justification hält nur dann, wenn jeder Knoten der IN-Liste TRUE und jeder Knoten der OUT-Liste OUT, d. h. FALSE oder UNKNOWN ist.

        178

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        4.7.3

        Repräsentation unsicheren Wissens

        ▲ Die bisherige Darstellung von Methoden der Künstlichen Intelligenz konzentrierte sich ausschließlich auf deterministische Problemstellungen, d. h. ein in den Schlussfolgerungsprozess eingehendes Datum A war ex ante entweder als wahr oder als falsch bekannt. Auch im Bereich der Künstlichen Intelligenz wurden Methoden entwickelt, die es gestatten, vages Wissen in ein Modell miteinzubeziehen. ● Ansätze zur Verarbeitung von Unsicherheit lassen sich nach Pearl in die zwei grundsätzlichen Kategorien der extensionalen und intensionalen Ansätze unterscheiden. ■ Das bereits Anfang der siebziger Jahre in Stanford entwickelte und den extensionalen Systemen zuzurechnende Expertensystem MYCIN zur medizinischen Diagnose und Behandlung von Blutkrankheiten erlaubt die Einbeziehung so genannter Certainty Factors (Sicherheitsfaktoren) in den Diagnoseprozess: Wenn der Patient über die Symptome s1 . . . sk klagt und gewisse Nebenbedingungen n1 . . . nm eingehalten werden, so ist davon auszugehen, dass Infektion di mit einem Certainty Factor cfi von z. B. 0,37 vorliegt. Die verwendeten Sicherheitsfaktoren liegen im Intervall [-1,1], wobei die Werte 1 bzw. -1 für eine sichere Annahme der gefolgerten Infektion bzw. einen sicheren Ausschluss derselben repräsentiert. So vielversprechend dieser Ansatz auf den ersten Blick aussehen mag, so unüberbrückbar sind doch seine Mängel: Da sich nach den Regeln von MYCIN cf für die Annahme des gleichzeitigen Vorliegens von d1 und d2 als min[cf(d1 ),cf(d2 )] berechnet, können im Falle nicht vorhandener Unabhängigkeit von d1 und d2 (z. B. bei sich gegenseitig ausschließenden Krankheiten) ungerechtfertigte Certainty Factors errechnet werden. ▲ Dem Effizienz-Vorteil einer einheitlichen Certainty-Funktion für alle Regeln des Systems stehen entscheidende Nachteile gegenüber: a) Inkohärentes Updating verbunden mit Schwierigkeiten bei der Rücknahme von Folgerungen b) Unsaubere Verarbeitung korrelierter Evidenzquellen ■ Hierfür wird oft auf das Tschernobyl-Beispiel verwiesen: Nach dem Reaktorunfall berichteten

        drei (scheinbar) unabhängige Quellen von Tausenden von Toten (Radio, TV, Zeitungen), was den Certainty Factor einer solchen Aussage drastisch in die Höhe trieb. Verborgen blieb jedoch der Umstand, dass alle drei Nachrichtenmedien ihre Information aus einem Telefoninterview mit ein und demselben (!) Korrespondenten in Moskau bezogen und daher eine positive Korrelation von eins aufwiesen. c) Unsauberer Umgang mit bidirektionalen Inferenzen Man könnte als Abhilfe hierfür nur noch diagnostische, nicht jedoch vorhersagende Inferenzen zulassen, womit jedoch die Möglichkeit des „explaining away“ entfällt. ■ Die Wahrscheinlichkeit, dass ein Verdächtiger den Mord begangen hat, sinkt, wenn er eine andere

        Begründung für seinen Aufenthalt am Tatort geben kann. ▲ Belief-Netzwerke weisen als intensionales System viele der eben besprochenen Nachteile nicht auf. Ein Bayes’sches Belief-Netz ist ein azyklischer Graph, dessen Knoten Zufallsvariablen (z. B. bestimmte Zustände der Umwelt) repräsentieren, die zwei oder mehr mögliche Werte annehmen können. Für jedes Element der Menge direkter Gründe Si eines Knotens Xi wird eine Kante zu diesem Knoten Xi gezogen. Die Stärke dieser direkten Einflüsse wird mithilfe einer Matrix bedingter Wahrscheinlichkeiten P(xi |si ) beschrieben, die für jede Wertekombination si der Menge direkter Gründe angibt, wie wahrscheinlich es ist, dass der Knoten Xi einen bestimmten Wert annimmt. Die Revision von Beliefs erfolgt verteilt, d. h. jeder Knoten „verschickt“ autonom Nachrichten an seine Vorgänger bzw. Nachfolger.

        4.7 Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz

        179

        ● Hierbei ist die Unterscheidung zweier Typen von Nachrichten von Bedeutung: • λ -Nachrichten (evidential support) werden an Vorgängerknoten verschickt, d. h. sie sind Maß für die Wahrscheinlichkeit, die einer Ursache durch die aufgetretenen Symptome, d. h. die Evidenz, zukommt. • ϕ -Nachrichten (causal support) dagegen werden in Kantenrichtung verschickt und stehen für die ursächliche Absicherung, die ein Symptom erhält. ▲ Auf diese Weise werden bidirektionale Inferenzen ermöglicht, ohne Gefahr zu laufen, zirkuläre Inferenzen zu erzeugen. ■ Bayes’sche Belief-Netze werden seit Mitte der 90er-Jahre zunehmend auch kommerziell eingesetzt. So bestimmt z. B. nach Angaben von Microsoft die Office-Hilfe-Funktion von Office97 mögliche Fehlerursachen mithilfe eines Bayes’schen Belief-Netzes.

        4.7.4

        Entscheidungen bei Unschärfe

        In den Abschnitten über Entscheidungen bei Risiko (4.3) und Ungewissheit (4.4) wurde dargelegt, wie ein Entscheidungsträger rational mit Entscheidungssituationen umgeht, die durch ein Fehlen von Information geprägt sind. Diese fehlende Information beschränkte sich allerdings auf die Frage, mit welcher Wahrscheinlichkeit einer der vorgegebenen Umweltzustände eintreten werde. ▲ In einer Vielzahl von Entscheidungssituationen ist allerdings das Problem des Entscheidungsträgers darin zu sehen, dass durchaus Informationen verfügbar sind, die in ihnen vorkommende Unschärfe es allerdings nicht erlaubt, sie in ein probabilistisches Entscheidungsmodell zu integrieren. ■ Investitionsproblem: (s. Abschnitt 4.3) Dem Entscheidungsträger sei eine Unternehmensrichtlinie bekannt, die aussagt, dass eine Investitionsmöglichkeit dann als gut zu bewerten ist, wenn sie eine mittlere Verzinsung bei geringem Risiko oder eine hohe Verzinsung bei mittlerem Risiko verspricht. Eine Investitionsmöglichkeit ist dann abzulehnen, wenn sie entweder eine zu niedrige Verzinsung aufweist oder ein zu hohes Risiko mit sich bringt. Der Entscheidungsträger steht nun vor der unangenehmen Aufgabe, diese Leitlinien geeignet zu operationalisieren. Das bislang vorgestellte Instrumentarium zur Entscheidungsfindung ist offenbar nicht in der Lage, eine auf solch unscharfen Definitionen basierende Information adäquat abzubilden. Allerdings operieren wir im täglichen Leben ständig mit so genannten linguistischen Variablen, durch die wir den Attributwert eines bestimmten charakterisierten Objekts zu beschreiben versuchen. ● Die Frage ist, wie sich linguistische Quantoren (wie bspw. „groß“, „zu groß“, „angemessen“)

        geeignet auf die durch sie beschriebenen quantifizierbaren Phänomene abbilden lassen. Im konkreten Fall bedeutet dies also, dass der Entscheidungsträger herausfinden muss, ob es sich bei einem Zinssatz von 7 %, wie er durch die Bundesobligation generiert wird, um einen niedrigen oder gar einen sehr niedrigen Zinssatz handelt. Mengentheoretisch gesprochen geht es also um die Frage, welche Elemente der Menge der möglichen Zinssätze ebenfalls der Menge der niedrigen Zinssätze angehören bzw. zur Menge der sehr niedrigen Zinssätze zu rechnen sind. Die klassische Mengenlehre im Cantor’schen Sinne kennt nur die Zugehörigkeit bzw. die Nichtzugehörigkeit eines gegebenen Elements zu einer Menge. Wenn der Entscheidungsträger sich also dazu durchringt zu spezifizieren, dass Zinssätze von 0 % - 6,5 % als zu niedrig gelten, Zinssätze von 6,5 % - 9 % dagegen als niedrig, so wird er sich zu Recht fragen lassen müssen, warum für ein Wertpapier mit einer Verzinsung von 6,50001 % eine grundlegend andere Bewertung gelten soll als für ein Wertpapier mit einer Verzinsung von 6,5 %. ▲ Im Folgenden werden die Grundzüge der Fuzzy-Logik anhand eines Beispiels kurz dargestellt. Für eine detailliertere Darstellung siehe Kapitel 28.

        180

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        Erweiterung der Cantor’schen Mengendefinition (Zadeh) zur Repräsentation unscharfer Mengen: Für jedes Element x einer Grundmenge X (in unserem Fall die Menge aller möglichen Zinssätze) wird hierzu eine Membership-Funktion definiert, die jedem x eine reelle Zahl fA (x) ∈ [0,1] zuweist, die seinen Zugehörigkeitsgrad zur unscharf beschriebenen Teilmenge A definiert. ■ Die Abbildung zeigt für jeden möglichen Zinssatz Z seine Zugehörigkeit zu den unscharf definierten Mengen „zu geringe Verzinsung“, „geringe Verzinsung“, „mittlere Verzinsung“ sowie „hohe Verzinsung“.

        A

        C

        B

        Definition linguistischer Variablen für Zinssatz ▲ Die hier dargestellten Membership-Funktionen sind vom Entscheidungsträger willkürlich festgelegt,

        tragen aber der Tatsache Rechnung, dass sich die Definitionsbereiche der angesprochenen linguistischen Variablen teilweise überlappen. Es ist erkennbar, dass eine Verzinsung von 3 % auf jeden Fall als zu gering eingestuft werden kann, eine Zugehörigkeit zur Menge der geringen bzw. mittleren Verzinsungen kommt hier überhaupt nicht in Betracht. Eine Verzinsung von 9 % kann dagegen zu einem gewissen Grade sowohl den niedrigen als auch den mittleren Verzinsungen zugerechnet werden. Es wird deutlich, dass eine Verzinsung von 12,5 % (Fall B) vom Entscheidungsträger zu einem gewissen Grad (nämlich 0,25) als hoch eingeschätzt wird, zu einem Grad von 0,5 allerdings auch als mittlere Verzinsung gelten kann. Analoge Definition unscharfer Teilmengen für die linguistische Bewertung des Risikos der Investitionsalternativen:

        Definition linguistischer Variablen für Risiko Der Entscheidungsträger wird jetzt in die Lage versetzt, die in den Unternehmensleitsätzen auftretenden linguistischen Variablen zu quantifizieren. Er steht nun allerdings noch vor der Aufgabe, die in

        4.7 Komplexitätsbewältigung durch Methoden der Künstlichen Intelligenz

        181

        ihnen auftretenden Operatoren UND und ODER in der einen oder anderen Weise als mathematische Operatoren zu spezifizieren. Die Frage lautet also, inwieweit eine Handlungsalternative (wie hier Handlungsalternative B), die mit einem Grad von 0,25 zur Menge der Investitionsmöglichkeiten mit hoher Verzinsung gehört, allerdings mit einem Grad von 0 zur Menge der Investitionsmöglichkeiten mit mittlerem Risiko, zur Schnittmenge der Investitionsmöglichkeiten mit hoher Verzinsung und mittlerem Risiko gehört. In diesem Fall wird man sich wohl recht schnell auf eine Zugehörigkeit von 0 einigen, da von einem mittleren Risiko überhaupt nicht gesprochen werden kann. Inwiefern gehört nun aber bspw. Investitionsmöglichkeit C zur Menge der Investitionsmöglichkeiten mit mittlerer Verzinsung und geringem Risiko, wenn der Grad der Zugehörigkeit zur Menge der Investitionsmöglichkeiten mit mittlerer Verzinsung 1 beträgt und der Zugehörigkeitsgrad zur Menge der Investitionsmöglichkeiten mit geringem Risiko 0,461? Definition von Operatoren zur Abbildung logischer Verknüpfungen (Zadeh): UND-Verknüpfung: Zugehörigkeitsgrad des Elements zur Schnittmenge zweier unscharfer Mengen entspricht dem Minimum aller Zugehörigkeitsgrade der verknüpften Mengen. fA∩B (x) = min ( fA (x), fB (x)) ODER-Verknüpfung: Für die Vereinigung unscharfer Mengen wird analog das Maximum der partiellen Zugehörigkeitsfunktionen verwendet. fA∪B (x) = max ( fA (x), fB (x)) . ▲ Neben den Minimum- und Maximumoperatoren werden aber auch das algebraische Produkt bzw. die algebraische Summe diskutiert, sowie die Anwendung kompensatorischer Operatoren, die es dem Anwender gestatten, zu spezifizieren, ob und wenn ja, in welchem Umfang die mittels UND- bzw. ODER-Operatoren verknüpften Mengenzugehörigkeiten in einer Substitutionsbeziehung stehen. ▲ Eine einheitliche Verwendungsempfehlung für den bzw. die „richtigen“ Verknüpfungsoperatoren kann nicht gegeben werden, da empirische Untersuchungen zu ihren Einsatzmöglichkeiten großteils zu widersprüchlichen Ergebnissen geführt haben. ■ Investitionsbeispiel: Für die klassischen Minimum-Maximum-Operatoren ergibt sich für den Zugehörigkeitsgrad der einzelnen Investitionsmöglichkeiten zu der Menge der guten Investitionen ((Verzinsung hoch UND Risiko mittel) ODER (Verzinsung mittel UND Risiko gering)): fgut = max (min( fZ hoch ; fR mittel ) ) ; min( fZ mittel ; fR gering ) . oder in Zahlen: fgut (A) = max(min(0; 0); min(0; 1)) = 0 fgut (B) = max(min(0,25; 0); min(0,5; 0)) = 0 fgut (C) = max(min(0; 0,39); min(1; 0,461)) = 0,461 Für die Zugehörigkeit zur Menge der abzulehnenden Investitionsmöglichkeiten (zu geringe Verzinsung oder zu hohes Risiko) ergeben sich folgende Werte: fabzulehnen (A) = max(0,33; 0) = 0,33 fabzulehnen (B) = max(0; 0,75) = 0,75 fabzulehnen (C) = max(0; 0) = 0

        182

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        Der Entscheidungsträger erkennt, dass weder die Bundesobligationen noch die Anleihen der Junk& Bonds Inc. den Unternehmensleitlinien genügen (siehe Abschnitt 4.4.1). Allenfalls die Aktien der Treu&Glauben AG können (mit gewissen Einschränkungen) als gutes Projekt klassifiziert werden. Man kann sich leicht vorstellen, dass die im Abschnitt über Künstliche Intelligenz diskutierte Verwendung von Regelwerken nicht auf der Basis zweiwertiger Logik aufgebaut wird, sondern eine Erweiterung um Elemente der Fuzzy-Logik erfährt. ● Neben eine unscharfe Wissensrepräsentation muss dann allerdings auch eine Fuzzy-Inferenz-Maschine treten. Sie hat insbesondere auch Inkonsistenzen zu beseitigen, die durch den Ablauf teilweise widersprüchlicher Schlussfolgerungsketten verursacht werden. Neben diesen Ansätzen hat aber auch das klassische Modell der Darstellung von Entscheidungsfeldern zahlreiche „Fuzzyfizierungen“ erfahren: ▲ Watson, Weiss und Bonnell sowie auch Dubois und Prade stellen bspw. die Fähigkeit des Entscheidungsträgers infrage, für unsichere Ereignisse wohldefiniert subjektive Wahrscheinlichkeiten spezifizieren zu können. Ihrer Meinung nach sollte es ihm ermöglicht werden, den einzelnen Umweltzuständen anstelle der Zuweisung einer fest spezifizierten Wahrscheinlichkeit unscharfe A-priori-Wahrscheinlichkeiten zuzuordnen. Anhand dieser Wahrscheinlichkeiten kann dann für jede Handlungsalternative ein unscharfer Erwartungsnutzen errechnet werden. Bei einer großen Anzahl von wählbaren Handlungsalternativen kann sich auch die Frage stellen, ob anstatt der Lösung eines äußerst umfangreichen Entscheidungsproblems das Problem zunächst auf einer höheren Aggregationsebene gelöst werden sollte. Tanaka, Okoda und Asai entwickeln ein Verfahren zur Auswahl der durch Aggregation gewonnenen Fuzzy-Alternativen. ■ Ein ähnliches Vorgehen kann sich natürlich auch für die Auswahl der möglichen Umweltzustände anbieten. In unserem Investitionsbeispiel wurde idealtypisch davon ausgegangen, dass die konjunkturelle Entwicklung im nächsten Jahr nur einen von vier möglichen Wegen einschlagen kann. Um mit Laux zu sprechen, haben wir uns durch eine solche Darstellung implizit dafür entschieden, die einzelnen Umweltzustände zu bündeln und jedes dieser Bündel durch seinen „mittleren“ Umweltzustand zu repräsentieren. ▲ Eine Erweiterung des oben dargestellten Punktbewertungsverfahrens für den Fall, dass es dem Entscheidungsträger weder möglich ist, • den zu aggregierenden Einzelbewertungen eindeutige Gewichte zuzuordnen, • noch zu eindeutigen Nutzenbewertungen Φ ik für die einzelnen Alternativen zu gelangen, ist durch die Anwendung „fuzzyfizierter“ Nutzenwerte Φ ik sowie die „fuzzyfizierte“ gewichtete Addition dieser Partialnutzen möglich (Baas und Kwakernaak). ▲ Darüber hinaus sind auch Optimierungsmodelle des Operations Research in den letzten Jahren um Darstellungsformen unscharfer Zusammenhänge erweitert worden. Insbesondere die „Aufweichung“ der Nebenbedingungen linearer Programmierungsmodelle spielte hierbei eine herausragende Rolle.

        4.7.5

        Neuronale Netze

        Neuronale Netze beschreiten einen anderen Weg zur Bewältigung komplexer Problemstellungen, insbesondere im Bereich der Mustererkennung. ■ Sprach-, Bild- und Schrifterkennung

        4.8 Heuristische Suchverfahren

        183

        Es wird versucht, gewisse Funktionsweisen des menschlichen Gehirns auf einem Computer zu imitieren. Neuronen bilden als kleinste Schalt- und Speichereinheiten des Gehirns ein kommunizierendes Netzwerk, das in der Lage ist, die Signale externer Rezeptoren (z. B. Augen und Ohren) zu verarbeiten. ▲ Im Laufe der Entwicklung eines Menschen bilden sich Verbindungen zwischen den einzelnen Neuronen aus, die dem menschlichen Gehirn ermöglichen, die Signale zu erkennen und bestimmte Reaktionen auszuführen. Diese Reaktionen sind Ergebnis eines Lernprozesses. ● Die Lernfähigkeit stellt den wesentlichen Unterschied zwischen Neuronalen Netzen und konventionellen Informationssystemen einschließlich anderer KI-Ansätze dar. ▲ Während bei konventionellen Systemen ein Fachkonzept (Lösungsansatz) auf dem Computer umgesetzt wird, stellt ein Neuronales Netzwerk keine Lösungsansätze zu Verfügung, sondern einen allgemeinen Mustererkennungsalgorithmus, der seine Fähigkeit zur Lösung von Problemen durch Lernen erhält. Dies ist zugleich die Stärke und die Schwäche dieses Ansatzes. Vorteile: • Ein solches System kann für verschiedene Einsatzgebiete verwendet werden. • Der Lernprozess kann im Prinzip im Einsatz fortgesetzt werden, weswegen eine Anpassung an graduelle Veränderungen der Problemstellung (quasi-)automatisch erfolgen kann. Nachteile: • Die intelligente Lernstrategie ist ein kritischer Erfolgsfaktor. • Eine direkte Überprüfung der Ergebnisse durch „Nachrechnen“ ist nicht möglich, da kein Fachkonzept zugrunde liegt. • Die Anwendbarkeit ist fragwürdig in Bereichen, in denen der Mensch, als ein System mit einem um viele Ordnungen leistungsfähigeren Neuronalen Netz, bereits Schwierigkeiten bei der Problemlösung hat. ■ z. B. komplexe Zuordnungs- und Reihenfolgeprobleme wie Tourenplanung ▲ Eine umfassende Darstellung Neuronaler Netze findet sich in Kapitel 28.

        4.8

        Heuristische Suchverfahren

        Man unterscheidet zwei grundlegende Paradigmen der Suche nach einer (möglichst guten) Lösung: Verfahren der Problemraumsuche zerlegen komplexe Probleme sukzessive in einfachere, bis schließlich auf der „Blattebene“ dieser Zerlegungshierarchie eine zufrieden stellende Lösung gefunden wird (vgl. BestFirst-Search-Verfahren der Künstlichen Intelligenz). Verfahren der Lösungsraumsuche (auch lokale Suche genannt) versuchen dagegen, eine (meist schlechte zufällige) Ausgangslösung si im Lösungsraum S in eine bessere zu transformieren, um ausgehend von dieser abermals eine Verbesserung durchzuführen. Ein Nachbarschaftsgraph mit NX ⊆ S×S als Kantenmenge definiert hierbei, welche Nachbarn s j in einem Suchschritt von Lösung s j erreichbar sind. Die Zielfunktion f : S → R definiert bildlich gesprochen zusammen mit diesem Nachbarschaftsgraphen N ein Zielfunktionsgebirge. Klassische Verbesserungsverfahren wählen den ersten Nachbarn s j von si , der einen kleineren Zielfunktionswert (bei Minimierungsziel) aufweist, um die Suche in dessen Nachbarschaft fortzusetzen. Existiert kein besserer Nachbar, so gilt si als lokales Optimum (Minimum) und das Verbesserungsverfahren terminiert. Exakte Nachbarschaft: Eine Nachbarschaft N heißt dann exakt, wenn jedes lokale Optimum auf Grund der Nachbarschaftsstruktur mit dem globalen Optimum s∗ zusammenfällt, das Gebirge also keine „Nebentäler“ aufweist. Leider sind für viele Problemstellungen nur sehr große Nachbarschaften exakt, für die dann bereits die enumerative Bewertung aller Nachbarn einer einzigen Lösung nicht mehr praktikabel ist.

        184

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        4.8.1

        Simulated Annealing

        Um auch bei nicht exakter Nachbarschaft die Wahrscheinlichkeit des Verfehlens der global optimalen Lösung zu reduzieren, entwickelte Kirkpatrick in Analogie zur Thermodynamik das so genannte Simulated Annealing (SA, zu deutsch simuliertes „Ausglühen“). Unterschiede zu reinen Verbesserungsverfahren: ● Die Nachbarn der augenblicklichen Konfiguration si werden nicht systematisch auf ihren Zielfunktionswert untersucht. Aus allen Nachbarn in N(si ) wird vielmehr mittels einer gleichverteilten Wahrscheinlichkeit PiGj ein Nachbar s j ausgewählt. ● Lösung si wird auch zugunsten eines schlechteren Nachbarn s j verworfen, allerdings nur mit der Annahmewahrscheinlichkeit PiAj (so genannte Metropoliswahrscheinlichkeit).   1, f (s j ) < f (si ) PiAj (T ) = f (si )  e− f (s j )− T , f (s j ) ≥ f (si ) Diese hängt außer vom Ausmaß der Zielfunktionsverschlechterung von einer exogenen Variable T ab, die gemäß der physikalischen Analogie als Temperatur bezeichnet wird. Ist sie sehr groß, gleicht die Suche einem „random walk“ durch den Lösungsraum S. Wird andererseits T auf einen Wert nahe null gesetzt, gleicht SA einem reinen Verbesserungsverfahren. ● Die Überlegung des SA besteht nun darin, die Suche mit hohem T zu beginnen und danach T im Laufe der Suchschritte, die insgesamt durchgeführt werden, langsam abzusenken. ● SA-Verfahren können grundsätzlich als Markov-Kette modelliert werden, wobei die folgenden Übergangswahrscheinlichkeiten von Zustand si zu Zustand s j gelten:  PiGj (T ) · PiAj (T ) , ∀ j = i    |S| Pi j (T ) =  1 − PilG (T ) · PilA (T ) , j = i ∑   =1  =i

        ▲ Die Konvergenz einer Suche mit SA gegen das globale Optimum in S kann sichergestellt werden, sofern die Abkühlung der Temperatur T hinreichend langsam vonstatten geht und so die Ergodizität der Markov-Kette gewährleistet ist. ■ In empirischen Tests zeigte sich aber, dass eine Abkühlung, für die eine Kovergenz garantiert werden kann, meist zu unvertretbar langen Rechenzeiten führt. Allerdings lassen sich auch mit zu schneller Abkühlung fast immer bessere Ergebnisse erzielen als mit der Anwendung klassischer Verbesserungsverfahren.

        4.8.2

        Tabu Search

        In der Tabu-Suche wird ein anderer Ansatz gewählt, um lokalen Minima zu entkommen: Sind alle Nachbarn einer Lösung schlechter als die augenblickliche Lösung si , wird die Suche mit dem s j fortgesetzt, welches die kleinste Verschlechterung bewirkt. Mithilfe einer so genannten Tabu-Liste der letzten n Lösungen, deren erneutes Aufsuchen untersagt ist, wird das Oszillieren der Suche zwischen dem lokalen Minimum und nur wenigen benachbarten Lösungen vermieden.

        4.8 Heuristische Suchverfahren

        4.8.3

        185

        Genetische Algorithmen

        Genetische Algorithmen (GA) unterscheiden sich insofern von SA und reinen lokalen Verbesserungsverfahren, als nicht ein Punkt si den jeweils aktuellen Zustand der Suche im Lösungsraum S widerspiegelt, sondern eine Population POP = I1 ∈ S, I2 ∈ S, . . . ,I|POP| ∈ S ∈ S|POP| von mehreren „Individuen“ sich auf die Suche begibt. Für jedes einzelne Individuum der Population besteht nun durch Mutationsoperatoren die Möglichkeit, sich wie bei den oben beschriebenen Verfahren in die lokale Nachbarschaft NM(Ik ) zu bewegen, d. h. die Variable Ik ändert ihren Wert von der augenblicklichen Lösung si zu einer Lösung s j ∈ NM(si ) in deren unmittelbarer Nachbarschaft. ● Zusätzlich zu dieser Mutationsnachbarschaft NM⊆ S × S, also den mittels einer einzigen Mutation erreichbaren Punkten im Lösungsraum, existiert bei GA allerdings noch die Crossover-Nachbarschaft NX ⊆ S × S × S . Diese ternäre Relation definiert, welche Konfigurationen sk des Lösungsraums mittels eines einzigen Crossovers ausgehend von zwei Konfigurationen si und s j erreicht werden können. Die Menge der Crossover-Nachbarn für zwei spezifische Konfigurationen wird mit NX(si ,s j ) = {sk |(si ,s j ,sk ) ∈ NX} bezeichnet. ▲ Unter einem Crossover hat man sich analog zur belebten Natur die Rekombination von „genetischem Material“ zweier Individuen vorzustellen. Das gezeugte „Kind“ erbt strukturelle Eigenschaften von „Mutter“ und „Vater“. ● Die Menge der von einer gegebenen Population POP insgesamt in einem Generationsschritt erreichbaren Nachbarkonfigurationen setzt sich also zusammen aus • den Mutationsnachbarn für alle in der augenblicklichen Population enthaltenen Individuen • den Crossover-Nachbarn aller möglichen Crossover von je zwei Individuen der Population: NGA(POP) = {s j |s j ∈ NM(Ii ) ∧ Ii ∈ POP} ∪ {sk |sk ∈ NM(Ii ,I j ) ∧ Ii ,I j ∈ POP} . ▲ Diese direkte Nachbarschaft einer gegebenen Population wird also nicht nur von jedem Individuum einzeln bestimmt, sondern ist vielmehr abhängig von der „relativen Position“ der Individuen zueinander. ■ Besteht in der Population z. B. keine Diversifikation mehr, d. h. repräsentieren alle Individuen I1 bis I|POP| den gleichen Punkt si im Lösungsraum, so hat die Menge der über Crossover erreichbaren Nachbarn nur ein Element, da keine andere Lösung als si durch Crossover erreicht werden kann. Ist die Diversifikation der Population dagegen groß, so ist die Menge der potenziellen Crossover-Nachbarn sehr groß: Eine Vielzahl von neuen Konfigurationen, die irgendwo „zwischen“ zwei Individuen liegen, kann per Crossover erreicht werden. ▲ Für Genetische Algorithmen existieren keine allgemein anerkannten Vorschriften über die Gestaltung der Wahrscheinlichkeitsverteilungen für die Generierung und Akzeptanz von neuen Lösungen basierend auf dieser recht komplexen Nachbarschaftsstruktur. ● Über den Selektionsdruck wird zunächst die Fertilität der einzelnen Individuen gesteuert. Die Auswirkung des Selektionsdrucks besteht darin, dass die Wahrscheinlichkeit der Generierung neuer Lösungen aus der Crossover-Nachbarschaft zweier „guter“ Individuen deutlich höher ist als die Generierung aus der Nachbarschaft zweier schlechter Lösungen. ▲ Der Mutation kommt nur die Rolle eines Hintergrundoperators zu (Goldberg), d. h. auf mehrere hundert Crossover folgt meist nur eine Mutation, wie dies auch in der natürlichen Evolution üblich ist.

        186

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        ● Die so generierten Nachfahren POPnew einer Population POP konkurrieren anschließend nicht nur mit ihren beiden Elternteilen, sondern mit allen Individuen in POP um ihre weitere „Existenz“. Durchführung der Auswahl: In den meisten Fällen wird entweder POP vollständig durch POPnew ersetzt, oder aber die besten |POP| Individuen aus der Vereinigungsmenge von POP ∪ POPnew formen die Individuen der nächsten Generation. ▲ Theoretisch gibt es keine Hindernisse, auch das Verhalten eines GA mittels eines Markov-KettenModells zu beschreiben. Praktisch scheitert ein solches Vorhaben aber schon bei kleinsten Problemen daran, dass nun nicht mehr die Größe |S| des Lösungsraums S die Anzahl möglicher Zustände der

        |POP|

        Markov-Kette determiniert, sondern die Größe S des „Populationenraums“, also die Anzahl aller möglichen Kombinationen von |POP| Konfigurationen aus S. Bereits bei einem Problem mit 12 verschiedenen Lösungen kann eine Population von lediglich 10 Individuen somit bereits 1210 , also über 61 Milliarden verschiedene „Zustände“ einnehmen, die in einer Markov-Kette explizit modelliert werden müssten. Ferner ist es kaum möglich, die Generierungs- und Akzeptanzwahrscheinlichkeiten analytisch auszudrücken. ▲ Die in den letzten Jahren für verschiedenste Problemstellungen durchgeführten empirischen Tests erlaubten folgende Beobachtungen: • Crossover-Operatoren konnten die in sie gesetzten Erwartungen für Reihenfolgeprobleme und Zuordnungsprobleme mit komplexen Nebenbedingungen nicht erfüllen, da sie entweder in der überwiegenden Zahl von Fällen „Kinder“ zeugten, die Nebenbedingungen verletzten oder aber, wenn diese Verletzung vermieden werden sollte, meist unvertretbar hohen Rechenaufwand benötigten. Mutationsoperatoren sollten bei diesen Problemen also nicht als Hintergrundoperatoren, sondern als primäre Suchoperatoren eingesetzt werden. • Die theoretische Grundlage Genetischer Algorithmen, das so gennante Schema-Theorem (Holland), ist offensichtlich nur für unimodale Suchräume (in denen jedes lokale Optimum zugleich ein globales Optimum darstellt) haltbar, weshalb die Anwendung von Crossover-Operatoren auf nichttriviale kombinatorische Optimierungsprobleme auch theoretisch auf keinem festen Boden steht. • Bei einem Verzicht auf Crossover besteht der einzig wirkliche Trade-off zwischen der Länge der Evolution, also der Anzahl der Generationszyklen, und der Breite, nämlich |POPnew | pro Generation generierter Nachkommen, aus deren Vereinigungsmenge mit der Elterngeneration die besten Individuen für die nächste Generation gewählt werden.

        4.8.4

        COSA: COoperative Simulated Annealing

        Da die Gestaltung effektiver wie effizienter Crossover-Operatoren für viele Problemstellungen deutlich mehr Probleme aufwirft als die Festlegung eines einfachen Nachbarschaftsgraphen, wurde in jüngster Zeit die Möglichkeit untersucht, die Populationsidee auch im Rahmen des Simulated Annealing zu nutzen, ohne hierbei die bewährten Nachbarschaftsgraphen aufzugeben. Das so genannte Cooperative Simulated Annealing (COSA) realisiert hierfür ein paralleles SA, wobei sich die Individuen häufiger auf andere Individuen zubewegen, als von diesen entfernen. Zum Beispiel für Rundreiseprobleme zeigte sich COSA sowohl GA wie auch SA und klassischen Heuristiken überlegen. ▲ Die Überlebenswahrscheinlichkeit der Mutanten wird nicht, wie bei GA üblich, durch das Survival-ofthe-fittest-Prinzip bestimmt, sondern vielmehr wie beim SA anhand der Metropoliswahrscheinlichkeit. ● COSA realisiert also den parallelen, aber synchronen Ablauf von mehreren SA-Prozessen, die eine Kopplung über die kooperativen Transitionen erfahren. Diese ersetzen die Gleichverteilung der Generierungswahrscheinlichkeit PiGj durch eine Verteilung, welche (analog einer „Gravitationskraft“) die

        4.8 Heuristische Suchverfahren

        187

        Richtung der Transitionsversuche abhängig macht von der augenblicklichen Position anderer Individuen (SA-Prozesse). ▲ Über den Erfolg des Transitionsversuchs, also darüber, ob Konfiguration Ii als Ersatz für Ii angenommen wird, wird wie auch beim klassischen SA allein anhand der Wahrscheinlichkeit PiAj entschieden. Ist der Versuch erfolgreich, so ist Ii der Konfiguration I j ein wenig ähnlicher geworden. Obwohl sich bei jedem Transitionsversuch jedes der Individuen Ii lediglich innerhalb der minimal möglichen Nachbarschaft N(Ii ) bewegt, bewegen sich im Laufe der Zeit die Individuen sukzessive aufeinander zu. ▲ COSA-Minimierungsalgorithmus: procedure COSA bestimme Nachbarschaftsrelation N ⊆ S × S bestimme Populationsgröße |POP| bestimme Anfangspopulation POP0 = I1 ∈ S, . . . ,I|POP| ∈ S ∈ S|POP| bestimme Transitionenzahl K = n · |POP| mit n ∈ N bestimme Anfangstemp. T1 ∈ R+ und Abkühlungsfaktor α ∈]0,1[⊂ R+ |POP|

        bestimme Gesamtenergie E0 = ∑ f (Ii ) i=1 K for k:=1 to |POP| do for i:=1 to |POP| do bestimme zufälligen Informationsspender I j ∈ POPk−1 generiere Inew :=  cotrans(Ii ,I j ,N)  wenn f (Inew ) < f (Ii ) 1, f (I j )− f (Ii ) if random(0,1) ≤  e− Tk , wenn f (Inew ) ≥ f (Ii ) then Ii := Inew next i |POP| bestimme Gesamtenergie Ek = ∑ f (Ii ) ∆E :=Ek − Ek−1 T , wenn ∆E < 0 T := α T , wenn ∆E ≥ 0 next k end.

        i=1

        ▲ COSA: Funktion „cotrans“ zur Generierung kooperativer Transitionsversuche function cotrans: Ii ∈ S, I j ∈ S, N ⊆ S × S → Inew ∈ S bestimme alle Nachbarn von Ii , die bzgl. N näher an I j liegen als Ii : CLOSER := {sk ∈ N(Ii ) |d(sk ,I j ) < d(Ii ,I j )} if |CLOSER| ≥ 1 then wähle zufälliges Inew ∈ CLOSER else wähle zufälliges Inew ∈ N(Ii ) return Inew . ▲ Die Funktion „cotrans“ realisiert hierbei die oben dargestellte kooperative Generierung des Nachbarn von Ii . Hierfür wird die zufällige Generierung auf jene Nachbarn von Ii beschränkt, die näher beim Informationsspender I j liegen als Ii selbst und somit eine Annäherung der Individuen der Population bewirken. Die Funktion d : S × S → N0 misst hierbei die Distanz zweier Lösungen si und s j bzgl. der Nachbarschaft N (minimale Zahl von Suchschritten, um s j von si zu erreichen).

        188

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        ▲ Anstelle eines vollständigen Übergangs auf kooperative Transitionen ist auch die Verwendung einer Kooperationsrate möglich, die nur in einer gewissen Prozentzahl von Fällen kooperative und in den restlichen Fällen zufällige Standard-Transitionen verwendet. Die optimale Kooperationsrate hängt von der Topologie des Zielfunktionsgebirges ab: Liegt das globale Optimum inmitten einer „Gebirgsregion lokaler Optima“, empfiehlt sich ein starkes gegenseitiges „Lernen“ der Individuen durch hohe Kooperationsrate, da so die Suchintensität innerhalb dieser vielversprechenden Region verstärkt wird. Da diese Verstärkung zu Lasten der Suchintensität in anderen Regionen geht, kann dies zu Problemen führen, wenn sich das globale Optimum fernab der Region lokaler Optima befindet, die lokalen Optima also bzgl. seiner Lage irreführend sind.

        4.9

        Bekräftigungslernen

        ● Viele der bisher aufgeführten Entscheidungsprobleme (z. B. im Yield-Management) weisen eine erhebliche Komplexität für eine größere Anzahl von Variablen auf. Bellmann charakterisiert im Rahmen der dynamischen Programmierung das exponentielle Wachstum der Problemgröße als Fluch der Dimension (Curse of Dimensionality). ▲ Im Rahmen der Künstlichen Intelligenz wurde daher ein Verfahren mit reduzierter Komplexität entwickelt, das eine Mischung aus Dynamischer Programmierung und Monte-Carlo-Methode darstellt. ● Der Grundgedanke des so genannten Bekräftigungslernens (Reinforcement Learning) orientiert sich an der Methodik menschlichen Lernens durch positive Rückkopplung (Bekräftigung, engl. Reinforcement). ▲ Durch die Reduktion der zu evaluierenden Entscheidungen auf häufig bzw. aktuell benötigte Fälle

        wird die Problemgröße drastisch reduziert. ▲ Vorteile des Bekräftigungslernens sind seine Flexibilität (Anpassung an eine sich nicht allzu schnell

        ändernde dynamische Umgebung) und die Fähigkeit, während des Entscheidungsprozesses Erfahrungen für den nächsten Problemdurchlauf zu gewinnen.

        4.9.1

        Markov-Prozess in Entscheidungsbäumen

        ● Entscheidungsprobleme sind grundsätzlich darstellbar als Baumstruktur: • Die Kanten des Baums repräsentieren die einzelnen Entscheidungen (Aktionen) der Agenten (a1 ,a2 , . . . an ∈ A= Aktionsraum) • Die Knoten symbolisieren die Systemzustände (s  , s  , s  ∈ S = Zustandsraum) • Im Rahmen der Optimierung ist ein weiterer Parameter notwendig, der die Belohnung (Reward) bzw. Bekräftigung (r1 ,r2 , . . . rn ∈ R = Bekräftigungsfunktion) der getroffen Entscheidungen beschreibt. • Der Erwartungswert für die Belohnung bei der nächsten Entscheidung lässt sich schreiben als: Rssa = E {rt+1 |at = a ,st = s,st+1 = s  } ′

        ′′ a3, r3

        a1, r1 a4, r4 a5, r5 a2, r2 a6, r6

        Ein Entscheidungsbaum mit Zuständen, Aktionen und Bekräftigungen

        4.9 Bekräftigungslernen

        189

        ● Der Entscheidungsbaum soll bei einer Optimierung so durchlaufen werden, dass die Summe aller Bekräftigungen ri maximal wird. An jedem Knoten wird dazu eine Entscheidung über die zu wählende Kante getroffen. ● Der Auswahl einzelnen Aktionen (Kanten) wird a priori eine bestimmte Wahrscheinlichkeit zugeordnet: Pssa  = Pr {st+1 = s  |st = s,at = a } ● Die Politik π i bestimmt die Wahrscheinlichkeit mit der ein Pfad im Entscheidungsbaum durchlaufen wird. ▲ Für die Entscheidungsoptimierung ist von Bedeutung, ob die bereits zurückgelegte Route eine Auswirkung für das Auftreten der folgenden Zustände hat oder nicht (siehe Markov-Eigenschaft). Die Annahme der Markov-Eigenschaft für den Entscheidungsbaum erleichtert das Lösen des Optimierungsproblems durch Bekräftigungslernen.

        4.9.2

        Grundgedanke des Bekräftigungslernens

        ● Betrachtet man die Kernelemente der Entscheidungsoptimierung – Zustände, Aktionen und Bekräftigungen – unter einem systemtheoretischen Aspekt, so lassen sie neben der Interpretation als Entscheidungsbaum folgende Deutung zu: • Ein bekräftigungslernender Agent (RL-Agent) ist mit seiner Umgebung durch eine Sensorik verbunden. • In jedem Interaktionsschritt erhält der Agent als Input eine Rückmeldung über den Umweltzustand st+1 und den Bekräftigungswert (Reward) rt+1 seiner letzten Aktion at . • Der Agent wählt eine Aktion at+1 als Output, die den Umweltzustand st+2 ändert. • Der Agent bekommt den Wert der Aktion erneut durch ein Bekräftigungssignal rt+2 mitgeteilt. • Ziel des Agenten ist es, längerfristig die Summe der erhaltenen Bekräftigungssignale zu optimieren. RL-Agent Zustand st

        Reward

        Aktion at

        rt+1 s t+1

        Umgebung

        Der bekräftigungslernende Agent in Interaktion mit seiner Umgebung

        4.9.3

        Stochastische dynamische Programmierung

        ● Um den optimalen Pfad durch einen Entscheidungsbaum zu ermitteln, muss man gewöhnlich alle Kanten des Baums durchlaufen. ▲ Bei einer gierigen myopischen (kurzsichtigen) Entscheidungsstrategie, also der Auswahl der

        jeweils nächsten Kante mit der größten Belohnung ri – diese Strategie wird als Greedy-Strategie bezeichnet – besteht die Gefahr, durch eine zunächst günstige Verzweigung von Knoten s  zu Knoten s  einen im weiteren Verlauf ungünstigen Teilbaum auszuwählen. ▲ Dieses durch die sequenzielle Struktur und Irreversibilität der Entscheidungen bedingte Problem,

        führt dazu, dass es sich hier um ein komplexes Optimierungsproblem handelt, dessen Lösungsaufwand mit zunehmender Dimension des Zustandsraums exponentiell wächst.

        190

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        ● Bellmann löst das Problem der falschen Verzweigungen, indem er rekursiv in jeder Zustandsebene s für alle Knoten eine optimale Entscheidung ermittelt. • Die Bellmann’sche-Gleichung:   V π (s) = Eπ { Rt | st = s } = Eπ



        ∑ γ k rt+k+1 |st

        = s

        k=0

        Der Zustandswert V π (s) einer Politik π ist definiert als der Erwartungswert, welcher sich aus dem diskontierten Zustandswert V π (s  ) des nächsten Zustandes s  addiert zum erwarteten Bekräftigungswert r in t + 1 ergibt. ▲ In der folgenden Abbildung sind drei mögliche Aktionen a von Zustand s aus zu erkennen, die ihrerseits jeweils zwei unterschiedliche Bekräftigungssignale r(t + 1) der Umwelt hervorrufen können und in einen der Zustände s  übergehen. ▲ Die Definition der Zustandswertfunktion als Erwartungswert resultiert aus der Zuordnung von Wahrscheinlichkeiten π i zu den einzelnen Entscheidungen a im Zusammenhang mit der verwendeten Politik. Bei der Ermittlung der Zustandswerte nach der Bellmann’schen-Gleichung gehen die Zustandswerte V π (s  ) aller möglichen Entscheidungen a, gewichtet mit π i , in die rekursive Berechnung von V π (s) ein. ▲ Die Rekursion durch den Entscheidungsbaum kann sowohl von den Blättern beginnend rückwärts, als auch ausgehend von der Wurzel vorwärts erfolgen. π

        π

        π

        Das Zustandsübergangsdiagramm für V π (s) ▲ Der Diskontfaktor γ ist nicht unbedingt notwendig, erweist sich jedoch als nützlich für das Konvergenzverhalten des Bekräftigungslernens. ● Der Aktionswert:  Qπ (s,a) = Eπ

        



        ∑ γ k rt+k+1| st

        = s, at = a

        k=0

        Der Aktionswert Qπ (s,a) einer Politik π ist zusätzlich von der in s gewählten Aktion a abhängig. ● Wie aus der Darstellung ersichtlich, ist für den Zustandsübergang s nach s  die Auswahl eines Entscheidungspfades durch a festgelegt, die nicht gewählten Pfade gehen nicht in die Berechnung von Qπ (s,a) ein. Auf der Entscheidungsebene s  wird die Bellmann’sche-Gleichung zur Ermittlung des Zustandswerts des in s  verbleibenden Entscheidungsbaums verwendet.

        π

        π

        π

        Das Zustandsübergangsdiagramm für Q π (s,a) ● Ziel des Bekräftigungslernens ist es, den Pfad durch den Entscheidungsbaum zu finden, auf dem die Summe der Bekräftigungssignale maximal wird. Dazu benötigen wir jeweils eine Definition für den optimalen Zustandswert sowie für den optimalen Aktionswert.

        4.9 Bekräftigungslernen

        191

        ▲ Der optimale Zustandswert:

        V ∗ (s) = max {r(s,a) + γ V ∗ (s  )} a

        Der optimale Zustandswert ermittelt sich rekursiv auf der Basis der Bellmann’schen-Gleichung mit dem Unterschied, dass nicht alle Entscheidungsalternativen gewichtet mit den durch die Politik π vorgegebenen Wahrscheinlichkeiten in die Berechnung eingehen, sondern nur diejenige Alternative, bei der der diskontierte Zustandwert der unteren Entscheidungsschicht zusammen mit dem Bekräftigungssignal r(a,s) der Aktion a den höchsten Zustandswert V ∗ (s) ergibt. ▲ Der optimale Aktionswert:

        Q∗ (s,a) = E { rt+1 + γ V ∗ (st+1 )| st = s, at = a} Der optimale Aktionswert Q∗ (s,a) einer Politik π ist der diskontierte optimale Zustandswert einer durch a gewählten Aktion zuzüglich des Bekräftigungssignals r(a,s). ● Die Wertiteration:

          Vk+1 (s) = max ∑ Pssa  Rssa + γ V π (s  ) a

        s

        Eine alternative Schreibweise für den optimalen Zustandswert ist bekannt als Wertiteration (Value Iteration). Hier erfolgt die Ermittlung von V*(s) als Näherungswert durch die wiederholte Berechnung von Vk+1 (s). ● Bisher wurde davon ausgegangen, dass die Entscheidungspolitik zu Beginn vorgegeben ist und bis zum Ende der Auswertung beibehalten wird. Die Auswertung erfolgt durch iterative Approximation der Zustandswerte nach der umgeformten Bellmann’schen-Gleichung:   V π (s) = ∑ π (s, a) ∑ Pssa  Rssa + γ V π (s  ) a

        s

        ▲ Die Iteration erfolgt solange, bis die Differenz vom neu berechneten Zustandswert zum vorhergehenden Wert kleiner als ein Schwellwert σ wird.

        maxs∈S | Vk+1(s) − Vk (s)| ≤ σ ▲ Alternativ kann eine Anpassung der Politik während der Auswertung erfolgen, um nicht den ge-

        samten Entscheidungsbaum zur Bewertung der Politik evaluieren zu müssen. Ein solches Verfahren trägt die Bezeichnung Politikiteration. Zunächst muss im Rahmen der Politikiteration festgestellt werden, ob eine Änderung der Politik π zu π ’ im Zustand s zu einer Verbesserung von V π (s) führt. ● Das Politikverbesserungstheorem sagt hierzu: Wenn für zwei deterministische Politiken π und π ’ gilt: Qπ s,π  (s) ≥ V π (s) dann gilt auch 

        V π (s) ≥ V π (s) ▲ Eine Änderung der Politik π für alle im Zustand s möglichen Aktionen a ist daher leicht auf eine Verbesserung hin überprüfbar, sofern die Wertfunktion V π (s)der Politik π im Knoten s bekannt ist. ▲ Wählt man in jedem besuchten Zustand s die im Hinblick auf den nächsten Entscheidungsschritt optimale Politik, so ergibt sich eine Greedy-Strategie, die eine ständige Politikverbesserung bewirkt:   π a a π  V (s) = ∑ Pss  Rss  + γ V (s ) s

        192

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        ▲ Sobald man eine Politik π unter Verwendung von V π (s) zu π ’ optimiert hat (Verbesserung), kann man  eine neue Wertfunktion V π (s) ermitteln (Evaluation), um damit π ’ weiter zu π ” verbessern usw. Dieser wiederholte Wechsel von Evaluation und Verbesserung in Richtung einer Greedy-Strategie wird als Politikiteration bezeichnet. Evaluation V

        V

        π

        π π

        greedy(V)

        Verbesserung

        π

        V

        Wechsel von Evaluation und Verbesserung bei der Politikiteration ▲ In dem zur Politikiteration gehörigen Algorithmus ist deutlich die Zweiteilung in Evaluation und Verbesserung zu erkennen: 1. Initialisierung V (s) ∈ R und π (s) ∈ A(s) beliebig für alle s ∈ S 2. Politikevaluation Wiederhole ∆←0 Für jedes s ∈ S: v ← V (s)   π (s) V (s) ← ∑s  Pssπ (s) Rss  + γ V (s  )  ∆ ← max ∆; |v − V (s)| bis ∆ < Θ (eine kleine positive Zahl) 3. Politikverbesserung Politik-stabil ← wahr Für jedes s ∈ S: b ← π (s)   π (s) = arg maxa ∑s  Pssa  Rssa + γ V (s  ) Wenn b = π (s), dann Politik-stabil ← f alsch Wenn Politik-stabil, dann beenden; sonst gehe zu 2. ● Ein Nachteil der Politikiteration ist, dass in jeder Evaluationsphase alle Zustände z. T. mehrfach durchlaufen werden müssen, bis V π (s) hinreichend genau ermittelt ist. Man kann zeigen, dass das Politikverbesserungsverfahren auch dann konvergiert, wenn in der Evaluationsphase der Zustandsraum nur genau einmal durchlaufen wird. Damit fallen Schritt 2 und 3 der Politikiteration zur Wertiteration zusammen:     V π (s) = max ∑ Pssa  Rssa + γ V π (s  ) a

        s

        ▲ Der Wertiterationsalgorithmus stellt sich wie folgt dar: Initialisiere v beliebig, z. B. V (s) = 0, für alle s ∈ S+ Wiederhole

        4.9 Bekräftigungslernen

        193

        ∆←0 Für jedes s ∈ S: v ← V (s)  a  a  V (s) ← max a ∑s  Pss  Rss  + γ V (s ) ∆ ← max ∆; |v − V (s)| bis ∆ < Θ (eine kleine positive Zahl) Ausgabe: eine deterministische Politik π , sodass:  π (s) = arg maxa ∑s  Pssa  Rssa + γ V (s  )

        4.9.4

        Monte-Carlo-Methode

        ● Ein Nachteil der Schätzverfahren für V (s) mittels der Bellmann’schen-Programmierung ist, dass alle Zustände eines Entscheidungsbaums durchlaufen werden müssen, um die Wertfunktion eines Zustands s zu ermitteln (full-backup). ▲ Da es meist ausreichend ist, V (s) nur grob zu schätzen, kann man eine Monte-Carlo(MC)-Methode anwenden. Dazu wird nicht der komplette Entscheidungsbaum durchlaufen, sondern nur einzelne Pfade, so genannte Episoden. ▲ In der vorstehenden Abbildung sind die Kantentupel (r1 , r3 , r7 ) und (r1 , r4 , r8 ) Episoden. Beim Durchschreiten der Episoden werden die Mittel der Bekräftigungswerte auf den durchlaufenen Kanten als Schätzer für die Zustandswerte benutzt. ● Zwei grundsätzliche Vorgehensweisen haben sich etabliert: ▲ Die first-visit MC-Methode: V π (s'') V

        V π (s)

        4 , 34 r1 = 2

        π

        (s ' )

        r7 = 6

        5 ,5

        r3 = 5 r4 = 4

        6

        V

        π

        (s'')

        9

        r8 = 9

        Beispiel für den Durchlauf zweier Episoden in der first-visit MC-Methode • Ausgehend von den Blättern des Entscheidungsbaums werden die bereits ausgewählten Episoden durchlaufen und jeweils der Mittelwert der vohergehenden Bekräftigungswerte eingetragen. • Wird beim Durchlaufen einer Episode ein bereits aufgesuchter Zustand s erreicht, so bleibt der beim ersten Besuch für V (s) eingetragene Mittelwert bestehen (first-visit). • In der folgenden Darstellung bildet der Pfad (r7 , r3 , r1 ) mit den Werten (6; 5,5; 4,34) die erste Episode. In der zweiten Episode (r8 , r4 , r1 ) bleiben die Zustandswerte V π (s  ) = 5,5 und V π (s) = 4,34 nach der first-visit Regel erhalten. • Der Algorithmus zur first-visit Methode lautet: Initialisiere π ←zu evaluierende Politik V ←beliebige Zustandswertfunktion returns(s) ←leere Liste, für alle s ∈ S Wiederhole endlos: (a)Generiere eine Episode unter Verwendung von π

        194

        4 Normative Methoden und Verfahren der Entscheidungsfindung (b)Für jeden Zustand s, der auf der Episode liegt: R ← Bekräftigungswert bei erstem Durchlaufen von s Füge R in returns(s) ein V (s) ← gemittelte (returns(s))

        ▲ Die every-visit MC-Methode: • Im Gegensatz zur first-visit MC-Methode wird ein bereits besuchter Zustand s bei der every-visit MC-Methode nach einer Update-Regel verbessert, z. B. bei der konstant-α Monte-Carlo-Methode: π Vneu (st ) = V (st ) + α [Rt − V (st )] • Für α = 0,2 ergibt sich für das oben beschriebene Beispiel folgende Zuordnung von Zustandswerten: V altπ ( s ) π (s) V neu

        4 ,34 4 , 47

        V altπ ( s ' ) π V neu (s')

        V altπ ( s ' ' )

        5 ,5

        π V neu (s'')

        5,7

        6

        9 r7 = 6

        r3 = 5

        r4 = 4

        r1 = 2

        r8 = 9

        Beispiel für den Durchlauf zweier Episoden in der every-visit MC-Methode ● Die Auswahlstrategie für Episoden bei der Monte-Carlo-Methode ist entscheidend für eine mög-

        lichst genaue Schätzung der Zustandswerte, da nur exemplarisch Pfade aus dem Entscheidungsbaum ausgewählt und auswertet werden (sample-backup). ▲

        Bei der Auswahl der Episoden gilt die gleiche Vorgehensweise, wie bei der Politikiteration: Evaluation Q

        π

        π

        Q

        π

        greedy(Q)

        Verbesserung

        Wechsel von Evaluation und Verbesserung bei der Monte-Carlo-Methode • Ausgehend von einer beliebigen Entscheidungspolitik wird im Rahmen der Evaluationsphase eine Episode im Entscheidungsbaum generiert. • Entlang dieser Episode werden mit der first- bzw. every-visit Methode die Aktionswerte der Zustände errechnet. • In der Verbesserungsphase erfolgt eine Optimierung der gewählten Politik durch die Anpassung des Entscheidungsfindungsprozesses in Richtung der jeweils maximalen Aktionswerte. Dieser Vorgang wird zyklisch durchlaufen. ▲

        Die Art der Politikgestaltung ist wichtig für ein erfolgreiches Generieren von Episoden. Verwendet man deterministische Entscheidungspolitiken, so wird der erzeugte Pfad immer gleich sein. Dies führt zum Ausbleiben eines Lerneffektes beim Bekräftigungslernen. Daher muss der Algorithmus noch mit einem stochastischen Element ausgestattet werden.

        4.9 Bekräftigungslernen

        195

        ● Zwei Arten der Monte-Carlo-Methode sind zu unterscheiden:

        a) On-Policy MC-Methode ● Bei der On-Policy MC-Methode wird in einem Zustand s mit einer geringen Wahrscheinlichkeit ε / |A(s)| (mit |A(s)| = Anzahl der in Zustand s möglichen Aktionen) nicht die Entscheidungsvariante mit dem größten Aktionswert Q(s,a) ausgewählt, sondern eine der verbleibenden suboptimalen Entscheidungen (ε -greedy-Politik). ▲ Da bei der ε -greedy-Politik keine Episode gänzlich ausgeschlossen ist, ist das Durchlaufen aller Pfade im Grenzfall garantiert (ε -soft-Politik). ▲ Die nächste Abbildung zeigt den zugehörigen ε -soft On-Policy-Algorithmus. Die Politik zur Er-

        mittlung der Aktionswerte bei dem hier gezeigten Algorithmus ist identisch mit der Politik, die verbessert werden soll (On-Policy-Methode). Der ε -soft On-Policy Monte-Carlo-Algorithmus: Initialisiere für alle s ∈ S,a ∈ A(s) = 0: Q(s,a) ←beliebig returns(s,a) ←leere Liste π ←eine beliebige ε -soft-Politik Wiederhole endlos: (a) Generiere eine Episode unter Verwendung von π (b) Für jedes Paar (s,a), das in dieser Episode auftritt: R ←Bekräftigungswert bei erstem Durchlaufen von s,a Füge R in returns(s,a) ein Q(s,a) ← gemittelte (returns(s,a)) (c) Für jedes s in dieser Episode: a∗ ← arg maxaQ(s,a) Für alle a ∈ A(s) :  1 − ε + ε /|A(s)| if a = a∗ π (s,a) ← ε /|A(s)| if a = a∗

        b) Off-Policy MC-Methode ● Die Off-Policy MC-Methode unterscheidet sich von der On-Policy-Methode dadurch, dass die zur Ermittlung der Q-Werte benutzte Politik (Schätzpolitik) und die zu verbessernde Zielpolitik (Verhaltenspolitik) unterschiedlich sind. ▲ Der Vorteil der Off-Policy-Methode liegt in der Möglichkeit, anhand eines bereits mit der Schätzpolitik π hinreichend evaluierten Entscheidungsbaums eine andere Verhaltenspolitik π ’ erkunden und

        verbessern zu können, ohne alle Q−Werte neu berechnen zu müssen. ▲ Trotz der Trennung von Schätzpolitik und Verhaltenspolitik können Rückschlüsse von den Aktions-

        werten der einen Politik auf die Q−Werte der anderen gezogen werden. Ordnet man den Koten s des Entscheidungsbaums Wahrscheinlichkeiten pi (s) bzw. pi (s) zu, mit denen sie den jeweiligen Zustand unter der Schätzpolitik π bzw. der Verhaltenspolitik π ’ aufsuchen, so kann man den Schätzer für V(s) aus beiden ε -soft-Politiken mit dem Verhältnis ihrer Besuchswahrscheinlichkeiten beschreiben: ns pi (s) ∑ p  (s) Ri (s) i V (s) = i=1 ns pi (s) ∑ p  (s) i=1 i

        196

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        ▲ Die Besuchswahrscheinlichkeiten für beide Politiken sind i. d. R. nicht bekannt. Hier wird jedoch

        nur ihr Verhältnis benötigt. Die Besuchswahrscheinlichkeit von Knoten s zum Zeitpunkt Ti (s), dargestellt als Produkt aus den Übergangswahrscheinlichkeiten Psakksk+1 und der Entscheidungspolitik π (sk ,ak ) der bisher durchlaufenen Zustände ist: Ti (s)−1

        pi (st ) =



        π (sk ,ak )Psakksk+1

        k=t

        ▲ Das Verhältnis der Übergangswahrscheinlichkeiten ist unabhängig von den Zustandsübergangs-

        wahrscheinlichkeiten des Entscheidungsbaums und damit von der Dynamik des beobachteten Systems: pi (st ) Ti (s)−1 π (sk ,ak ) = ∏  pi (st ) k=t π (sk ,ak ) ▲ Der Off-Policy MC-Algorithmus, bei dem die Schätzpolitik π über das Verhältnis ω mit π (sk ,ak ) = 1 die Verhaltenspolitik π ’ schätzt, kann folgendermaßen formuliert werden:

        Initialisiere für alle s ∈ S,a ∈ A(s): Q(s,a) ←beliebig Z(s,a) ← 0, Zähler D(s,a) ← 0, Nenner von Q(s,a) π ←eine beliebige, deterministische Politik Wiederhole endlos: (a) Wähle eine Politik π  , um eine Episode zu generieren: s0 ; a0 ; r1; s1 ; a1; . . . .sT −1 ; aT −1 ; rT ; sT (b) τ ←letzter Zeitpunkt, zu dem aτ = π (sτ ) (c) Setzte für jedes Paar s,a, das in dieser Episode zum Zeitpunkt τ oder später auftritt: t ←Zeitpunkt des ersten Auftretens von s,a, sodass gilt t ≥ τ 1 T −1 ω ← ∏k=t+1  π (sk ,ak ) Z(s,a) ← Z(s,a) + ω Rt D(s,a) ← D(s,a) + ω Z(s,a) Q(s,a) ← D(s,a) (d) Für jedes s ∈ S : π (s) ← arg maxa Q(s,a)

        c) Temporal-Difference-Learning ▲ Bei der stochastischen dynamischen Programmierung kann die optimale Aktion a für den nächsten Zustand s auf einer Entscheidungsebene k ausgewählt werden, sofern alle Aktionen im Baum bis zu diesem Zeitpunkt t ausgewertet wurden (full-backup). ▲ Die Monte-Carlo-Methode ist darauf angewiesen, zumindest eine Episode, auf der der Zustand s liegt, exemplarisch (sample-backup) bis zum Ende hin zu durchlaufen, um die neuen Q-Werte zu bestimmen und eine optimale Entscheidung zu treffen. ● Temporal-Difference-Learning versucht, die Nachteile der beiden Verfahren zu meiden und ihre Vorteile zu kombinieren: ▲ Ausgehend von der konstant-α Monte-Carlo-Methode kann man den Horizont einer Episode auf

        einen Entscheidungsschritt verkürzen und darauf vertrauen, dass das Verfahren dennoch Konvergenz zeigt, was für hinreichend kleine α auch der Fall ist.

        4.9 Bekräftigungslernen

        197

        Temporal-Difference-Learning: V π (st ) ← V (st ) + α [rt+1 + γ V (st+1 ) − V (st )] ▲ Die nächste Abbildung zeigt den Algorithmus für ein TD-Verfahren 0-ter Ordnung. Das TD(0)Verfahren arbeitet, im Gegensatz zum allgemeineren TD(λ )-Verfahren, mit nur einer Episode

        Vorausschau: Initialisiere V (s) und die zu evaluierende Politik π beliebig Wiederhole für jede Episode Initialisiere s Wiederhole (für jeden Schritt der Episode): Führe Aktion a aus, beobachte den Bestätigungswert r und den nächsten s   Zustand V (s) ← V (s) + α r + γ V (s  ) − V (s) s ← s bis s Endwert ist ▲ Schreibt man die Gleichung für das Temporal-Difference-Learning mit Aktionswerten, so erhält man

        die Ausgangsgleichung für einen TD(0)-Algorithmus zur Politikverbesserung: Q(st ,at ) ← Q(st ,at ) + α [rt+1 + γ Q(st+1,at+1 ) − Q(st ,at )] ● Für das TD-Verfahren gilt ebenso wie für die MC-Methoden: Ein ständiger Wechsel aus Politikevaluation und Verbesserung im Raum der Aktionswerte ist das geeignete Verfahren. ▲ Im Folgenden ist ein Politikiterationsalgorithmus für die TD(0)-Methode dargestellt. Schätzpolitik und Verhaltenspolitik sind in diesem Fall gleich (ε -greedy), sodass das Verfahren zur Klasse der On-Policy Verfahren gezählt werden kann: On-Policy Temporal-Difference Algorithmus: Initialisiere Q(s,a) beliebig Wiederhole für jede Episode Initialisiere s Wähle a aus s unter Verwendung einer aus Q abgeleiteten Politik (z. B. ε -greedy) Wiederhole (für jeden Schritt der Episode): Führe Aktion a aus und beobachte r,s  Wähle a  aus s  unter Verwendung einer aus Q abgeleiteten Politik (z. B. ε -greedy)   Q(s,a) ← Q(s,a) + α r + γ Q(s  ,a  ) − Q(s,a) s ← s; a ← a; bis s Endwert ist

        4.9.5

        Q-Learning

        ● Die Off-Policy-Variante der oben beschriebenen TD(0)-Politikiteration ist das wohl bedeutendste Verfahren für das Bekräftigungslernen. Es wurde 1989 von Watkins formuliert und trägt den Namen QLearning. ▲ Hierbei findet eine Annäherung an die optimale Aktionswertfunktion direkt und unabhängig von der

        Evaluationspolitik statt, indem nur der Pfad mit dem größten Aktionswert in die Berechnung der einperiodigen Differenz eingeht.

        198

        4 Normative Methoden und Verfahren der Entscheidungsfindung

        ● Das Q-Learning Q(st ,at ) ← Q(st ,at ) + α [r + γ maxa Q(st+1 ,a) − Q(st ,at )] ▲ Der Beweis der Konvergenz des Verfahrens fällt hier besonders leicht, was auch ein Grund für seine

        große Popularität ist. ▲ Für den hier dargestellten Algorithmus wurde wieder die ε -greedy-Politik als Schätzpolitik gewählt:

        Der Q-Learning-Algorithmus: Initialisiere Q(s,a) beliebig Wiederhole für jede Episode Initialisiere s Wiederhole (für jeden Schritt de Episode): Wähle a aus s unter Verwendung einer aus Q abgeleiteten Politik (z. B. ε -greedy) Führe Aktion a aus und beobachte r,s   Q(s,a) ← Q(s,a) + α r + γ Q(s  ,a  ) − Q(s,a) s ← s; a ← a; bis s Endwert ist

        5

        Daten und Information

        ● Daten und Informationen als Grundlage betrieblicher Entscheidungen haben eine besondere Bedeutung.

        5.1

        Klassifizierung der Daten

        ● Unter Daten werden in der Informationsverarbeitung maschinell verarbeitbare Zeichen (Grundelemente der Datendarstellung) verstanden. Sie beschreiben Objekte und Objektbeziehungen der Realwelt. ▲ Es werden allerdings nur die für den jeweiligen Anwendungsfall relevanten Eigenschaften und Beziehungen abgebildet: ■ Das Objekt „Artikel“ hat die Eigenschaften Preis, Artikelbezeichnung etc. und Beziehungen zu

        anderen Objekten, etwa Kunden und Lieferanten. ● Klassifikation von Daten: • nach Zeichenart bzw. dem Datentyp: numerische (rechnerisch verarbeitbare Zahlen), alphabetische (Buchstaben des Alphabets), alphanumerische (Zahlen, Buchstaben, Sonderzeichen), Datum, Zeit • nach Erscheinungsform: sprachliche Daten (z. B. menschliche Lautsprache), bildliche Daten (z. B. Grafiken) und textuale Daten (z. B. Texte). • nach Formatierung: formatierte Daten (z. B. formgebundene Tabellen) und unformatierte Daten (z. B. formfreie Texte) • nach der Stellung im Verarbeitungsprozess: Eingabedaten und Ausgabedaten • nach Verwendungszweck: – selten zu verändernde Stammdaten ■ Personalstammdaten wie Namen und Adressen – stammverändernde Änderungsdaten ■ Wechsel der Adresse – Archivdaten (Daten, die in der Vergangenheit gesammelt wurden) – bestandsverändernde Bewegungsdaten ■ Lagerzu- und -abgänge, Aufträge – Transferdaten (Daten, die von einem Programm erzeugt und an ein anderes Programm transferiert werden) – Vormerkdaten (Daten, die solange existieren, bis ein genau definiertes Ereignis eintritt; oft als Offene Posten bezeichnet)

        5.1.1

        Organisation formatierter Daten

        ● Bei der Datenorganisation unterscheidet man • die systematisch-logische Strukturierung von Daten und Datenbeziehungen und • die physische Speicherung der Daten auf externen Medien.

        200

        5 Daten und Information

        ▲ Es wird eine möglichst weitgehende Unabhängigkeit zwischen der logischen und der physischen Ebene angestrebt, damit Änderungen der einen Ebene keine Veränderungen der anderen Ebene hervorrufen. ● Hierarchische Strukturierung für formatierte Daten: • Ein Datenfeld (Datenelement) besteht aus einem oder mehreren Zeichen und ist die kleinste adressierbare sowie auswertungsfähige Dateneinheit. • Ein Datensatz ist eine logische Verknüpfung inhaltlich zusammengehöriger Felder, welche meist ein selbständiges Objekt bzw. eine Objektbeziehung darstellt. Die dazugehörigen Felder sind beschreibende Eigenschaften der Objekte. • Eine Datei besteht aus einer geordneten Menge zusammengehöriger, gleichartiger Datensätze. Sie repräsentieren die Menge aller gleichartigen relevanten Objekte der realen Welt. • Eine Datenbank ist eine Sammlung von zusammengehörigen Daten, die von einem Datenbankverwaltungsprogramm verwaltet werden. Sie besteht meist aus mehreren Dateien mit logisch zusammengehörigen Objekttypen.

        Hierarchie der Datenbegriffe ▲ Die in der historischen Entwicklung frühen Informationssysteme waren durch eine enge Verflechtung zwischen dem Programmentwurf und der physischen Datenorganisation auf dem Speichermedium geprägt: Die Information, wie auf die einzelnen Daten zugegriffen wird, war in dem Programm selbst enthalten. Dies führte dazu, dass die Daten auf unterschiedliche Art abgespeichert wurden und dass, wenn ein anderes Programm die gleichen Daten verwenden wollte, das genaue Zugriffsverfahren bekannt sein musste. Die Daten wurden in einzelnen Dateien abgespeichert und jedes Programm musste „wissen“, wie es auf die einzelnen Dateien zugreifen konnte. Der Dateiaufbau war auf die jeweilige Anwendung zugeschnitten. Dies wiederum führte zu einer geringeren Flexibilität bezüglich neuer Anwendungen, z. B., wenn eine andere Sortierreihenfolge der Daten notwendig war. Teile der Daten mussten mehrfach gespeichert werden (redundante Datenhaltung). ● Neben dem erhöhten Speicherbedarf durch redundante Datenhaltung kommt es zu einem erhöhten Aufwand bei der Aktualisierung von Daten und evtl. widersprüchlichen Daten (mangelnde Datenintegrität, inkonsistente Datenhaltung). Die Beziehungen zwischen den einzelnen Daten können sehr komplex sein. Da in der traditionellen Datenverarbeitung diese Beziehungen ebenfalls Teil des Programms sind, werden sie nicht explizit erfasst und formal dargestellt. Man versuchte, diesem Problem mit der Einführung von Datenbanken entgegenzuwirken, indem man eine Unterscheidung zwischen physikalischer und logischer Struktur der Daten einführte.

        5.1 Klassifizierung der Daten

        201

        a) Datenbanksysteme ● Ein Datenbanksystem ist die Verbindung eines Datenbankverwaltungssystems (einer Menge von Programmen zur Speicherung und Wiederauffindung von Daten) und der hiermit organisierten Datenbestände. Datenbanken trennen die logische und die physikalische Struktur der Datenbestände. Ein Datenbankverwaltungssystem ist für die physikalische Speicherung der Daten zuständig. Es erlaubt den Informationssystemen verschiedene logische Sichten auf die gleichen Daten, unabhängig von der tatsächlichen physikalischen Speicherung. ● Ziele des Einsatzes von Datenbanksystemen: • Datenunabhängigkeit: Es besteht Unabhängigkeit zwischen den Anwendungsprogrammen, der Datenspeicherung und der Datenorganisation. • Benutzerorientierte Sicht der Daten: Die Daten werden entsprechend den Bedürfnissen der Benutzer dargestellt und sortiert. • Datenintegrität verhindert fehlerhafte und unvollständige Daten durch Plausibilitätsprüfungen (Datenkonsistenz). • dauerhafte Speicherung der Daten durch Datensicherung. • Der Datenschutz sichert die Daten vor unberechtigter Einsicht oder Änderung. • Vermeidung von Redundanz: Daten eines Objektes sollten in einer Datenbank nur einmal gespeichert werden, um die Eindeutigkeit zu gewährleisten. ▲ Zur Gewährleistung der Datensicherung ist jedoch Redundanz notwendig. • Unterstützung der Datenmanipulation: Das Datenbanksystem sollte das Einfügen, Ändern, Löschen und Auffinden von Daten und deren Verarbeitung und Darstellung unterstützen. • Koordinierung des Mehrbenutzerbetriebs (Synchronisation): Der koordinierte Zugriff durch mehrere Benutzer auf die Datenbank soll möglich sein. ▲ Besondere Schwierigkeit bereitet hierbei die Koordination von Änderungen. • Datenneutralität: Alle Daten werden für alle Anwendungen in einer Datenbank zur Verfügung gestellt.

        Drei-Ebenen-Konzept von Datenbanksystemen

        202

        5 Daten und Information

        ● Moderne Datenbanksysteme bieten zur Unterstützung dieser Anforderungen drei Ebenen der Datenverwaltung (Drei-Ebenen-Konzept von Datenbanksystemen) an: • Die externe Ebene beschreibt die Sicht eines Anwenders bzw. einer Anwendung auf die Daten, wobei die verwendeten Daten eine Teilmenge der Daten der konzeptuellen Ebene sind. • Die konzeptuelle Ebene beschreibt alle Daten einer Unternehmung (Datenbank) sowie deren Beziehungen aus Unternehmensgesamtsicht, unabhängig von einer Anwendung, der physischen Speicherung und dem verwendeten Datenbanksystem. • Die interne Ebene beschreibt, wie die Daten auf dem physischen Speichermedium gespeichert werden. ● Datenbanksprachen dienen der Unterstützung der Datenmanipulation. Man unterscheidet drei Funktionen: • Datendefinitionssprachen (Data Definition Language, DDL) dienen der formellen Beschreibung aller Ebenen der Datenbank. • Datenmanipulationssprachen (Data Manipulation Language, DML) ermöglichen die Formulierung von Operationen auf den Daten. Hierunter sind insbesondere die Grundfunktionen des Auffindens, Einfügens, Änderns und Löschens von Daten zu verstehen. • Datenkontrollsprachen (Data Control Language, DCL) unterstützen z. B. Datenintegrität, Konsistenzprüfung, sowie den Datenzugriff im Mehrbenutzerbetrieb. ▲ Konkrete Datenbanksprachen enthalten in verschiedenem Ausmaß Elemente aller drei Sprachgattungen.

        b) Entwurf von Datenbanken ● Der logische Entwurf von Datenbanken dient dem logischen Strukturieren von Daten und ihren Beziehungen sowie der Dokumentation. Zum Beschreiben des logischen Entwurfs von Datenbanken ist insbesondere das →Entity Relationship Modell (ERM) geeignet. ▲ Die hier dargestellte Notation entspricht der ursprünglichen von P.P.S. Chen (1976).

        Objekttypen (entity sets) sind modellhafte Beschreibungen von Elementen der realen Welt oder der Vorstellungswelt (d. h. Dinge bzw. Begriffe). ■ Mitarbeiter/innen, Unternehmen Objekte (entities) sind konkrete Ausprägungen (Instanzen) eines Objekttyps. ■ eine bestimmte Person, eine bestimmte Firma Attribute sind Eigenschaften oder Merkmale eines Objektes. ■ Name, Wohnort usw. ▲ Objekttypen werden in Form von Rechtecken dargestellt, die zugehörigen Attribute mit Ovalen unten angehängt.

        Darstellung von Objekttypen ● Die einzelnen Objekte eines Objekttyps werden über einen Schlüssel eindeutig identifiziert. ▲ Die Darstellung im ERM erfolgt durch Unterstreichung des Schlüsselattributs.

        5.1 Klassifizierung der Daten

        203

        ● Man unterscheidet verschiedene Arten von Schlüsseln: • Primärschlüssel (Primary Key): Attribut mit eindeutig identifizierender Eigenschaft. Er kann sich aus einem oder mehreren Attributen zusammensetzen, da in der Realität einzelne Attribute ein Objekt nicht immer eindeutig identifizieren. • Sekundärschlüssel (Secondary Key): Jedes beliebige Attribut, das nicht Primärschlüssel ist (und damit klassifizierende Eigenschaften aufweist). • Schlüsselkandidat (Candidate Key): Attribut(-kombination), das (die) die Funktion „Primärschlüssel“ aber übernehmen kann. • Fremdschlüssel (Foreign Key): Attribut(-kombination), das (die) nicht Primärschlüssel des Objektes, aber Primärschlüssel in einem anderen Objekt ist. ▲ Auch wenn Primärschlüssel aus mehreren Attributen bestehen, kann die Eindeutigkeit eines Objekts nicht immer garantiert werden. ■ Man denke nur an die alte Tradition, den Sohn nach dem Vater zu benennen, die dann im gleichen

        Ort in der gleichen Straße wohnen. Um diese Problematik zu umgehen, werden oftmals künstliche Primärschlüssel, nämlich systemfreie Aufzählungen, eingeführt. ■ Kundennummern, Matrikelnummern

        ● Neben den eigentlichen Objekten müssen in einer Datenbank auch die Beziehungen zwischen den Objekten abgebildet werden. Bei Konzeption mittels ERM erfolgt die Abbildung mittels so genannter Beziehungstypen (in der hier verwendeten Notation durch Rauten dargestellt), die durch ihren Namen identifiziert werden. Die Kardinalität stellt die Struktur und Komplexität von mengenmäßigen Beziehungen zwischen Objekttypen dar. ● Man unterscheidet eineindeutige (wechselseitig eindeutige 1 : 1), eindeutige (1 : n) und mehrdeutige (n : m) Beziehungen:

        Student

        Objektbeziehungen und Kardinalitäten

        c) Datenbankmodelle ● Im Laufe der historischen Entwicklung der Informationssysteme wurden verschiedene Datenbankmodelle entwickelt: • Hierarchisches Modell • Netzwerkmodell • Relationales Modell • Objektorientiertes Modell

        204

        5 Daten und Information

        Hierarchische Datenbanken ● In hierarchischen Datenbanken werden Daten in baumförmigen Beziehungen dargestellt. Kennzeichnend für Hierarchien sind 1 : 1- bzw. 1 : n-Beziehungen. ▲ Ein Knoten des Baumes kann n Nachfolger haben, aber nur einen Vorgänger.

        Intern werden die Beziehungen über Zeiger (Pointer) auf den Speicherbereich des Nachfolgers abgebildet. ● Hierarchische Datenbanken eignen sich insbesondere für repetitive Massenverarbeitungen, in der die Daten in einer gegebenen Sortierfolge gebraucht werden. Ein direkter Zugriff auf einzelne Blätter des Baumes unter Umgehung der Wurzel ist nur durch zusätzliche Maßnahmen (z. B. über einen Index) möglich. Da n : m-Beziehungen nicht direkt abbildbar sind, ist eine redundanzfreie Speicherung nicht möglich. ▲ Wenn Änderungen an der Struktur der Datenbank durchgeführt werden müssen, muss die Datenbank komplett „heruntergefahren, geändert und wieder hochgefahren“ werden. ▲ Obwohl hierarchische Datenbanksysteme „veraltete Technik“ darstellen, findet man sie aufgrund der weiten Verbreitung des Datenbanksystems IMS (Information Management System) von IBM noch häufig auf Großrechnern. ■ Beispiel: Autovermietung

        Hierarchische Datenbankstruktur

        5.1 Klassifizierung der Daten

        205

        Netzwerkdatenbanken ● Strukturelemente der Netzwerkdatenbanken sind, wie beim hierarchischen Modell, Objekttypen und 1 : n-Beziehungen. Hinzu kommen n : m-Beziehungen, wodurch eine redundanzfreie Speicherung möglich ist. ▲ Im Gegensatz zum hierarchischen Modell kann ein Knoten mehrere Vorgänger besitzen. ▲ Auch hier müssen alle Verknüpfungsstrukturen und -möglichkeiten explizit festgelegt werden. Eine bei der Definition nicht vorgesehene Ad-hoc-Abfrage führt zu einem kompletten Durchsuchen der Datenbank, da alle „bedienbaren“ Verknüpfungen in der Datenbank abgelegt werden müssen. Wenn Änderungen in der Struktur der Datenbank ausgeführt werden, muss auch hier die Datenbank komplett „heruntergefahren, geändert und wieder hochgefahren“ werden. ■ Beispiele für Implementierungen von Netzwerkdatenbanken sind IDS von BULL, IMAGE von HP und UDS/V2 von Siemens. Relationale Datenbanken Das Relationales Datenmodell wurde von E. F. Codd (1970) entwickelt und basiert auf der mathematischen Mengen- und Relationentheorie (→ Mengentheorie). Relationen sind Teilmengen des kartesischen Produkts von Mengen. ● Objekte werden in Objekttypen zusammengefasst, die jeweils die gleichen Eigenschaften besitzen. Diese Objekttypen und ihre Beziehungen werden im Relationenmodell in Form von zweidimensionalen Tabellen dargestellt. ▲ Die Zeilen der Tabellen werden als Tupel bezeichnet und stellen einzelne Ausprägungen des Objekttyps (eigentliche reale Objekte) dar. Jedes Tupel wird durch einen Primärschlüssel eindeutig identifiziert und muss deshalb einmalig sein. Die Spalten der Tabellen sind die Attribute (Eigenschaften) der Objekttypen. Die möglichen Ausprägungen (Wertebereiche) der Attribute werden als Domäne bezeichnet. ■ Artikel Artikel_Nr 15003 37111 34590 23676

        Artikel_Name Zentraleinheit Tastatur Bildschirm Maus

        Warengruppe Artikel_Preis Grundgerät 999,00 Grundgerät 29,00 Grundgerät 499,00 Zubehör 19,00

        ● Relationen müssen folgende Eigenschaften erfüllen: • Einmaligkeit: Es gibt keine zwei Tupel, die in allen Attributen die gleichen Attributwerte besitzen. • Irrelevanz der Ordnung der Tupel: Die Sortierreihenfolge der Relation ist irrelevant für die Eigenschaft der Relation (keine Sortierungshierarchie). • Irrelevanz der Ordnung der Attribute: Auch die Reihenfolge der Attribute verändert nicht die Eigenschaften der Relation. • Atomisierung der Attributwerte: Attribute enthalten nur einen Wert. • Homogenität der Attribute: Alle Werte in einer Spalte sind vom gleichen Datentyp (Domäne). ● Die Beziehungen zwischen den Objekttypen werden – je nach Art der Beziehungstypen – unterschiedlich repräsentiert: • 1 : 1 Beziehungen werden z. B. durch die Einfügung der Primärschlüssel als Fremdschlüssel in beiden Objekttabellen dargestellt. • 1 : n Beziehungen werden z. B. durch Einfügung des Primärschlüssel der ersten („1“) Relation als Fremdschlüssel in die zweite („n“) Relation dargestellt (bei n : 1 Beziehungen erfolgt die Darstellung entsprechend).

        206

        5 Daten und Information • n : m Beziehungen werden mittels einer eigenen Relation („Beziehungstabelle“) abgebildet, wobei diese zunächst nur aus den Primärschlüsseln der ursprünglichen Relationen besteht, ggf. zuzüglich weiterer Attribute, die die Beziehung charakterisieren.

        ▲ Die Stärke des Relationenmodells liegt darin, dass nur die logischen Beziehungen in der Datenbank abgebildet werden und nicht die Zugriffspfade auf die Daten. Dadurch sind unterschiedliche Sichten auf die Datenbank möglich, die auch kurzfristig geändert werden können, ohne dass wie bei dem hierarchischen und dem Netzwerkmodell die Datenbank neu aufgebaut werden muss. Dies führt aber auch zu Performancenachteilen, da die Zugriffspfade bei jeder Datenabfrage neu berechnet werden. Objektorientierte Datenbanken ● Objektorientierte Datenbanken heben die konventionelle Trennung in der Systementwicklung zwischen der Datenperspektive und der Verarbeitungsperspektive auf. Neben der im relationalen Datenmodell üblichen Abspeicherung der Eigenschaften (Struktur) und der Beziehungen zwischen den Objekten wird auch das Verhalten der Objekte (Funktionen) abgebildet. Objekte werden beschrieben durch: • einen eindeutigen Objektnamen (Identifikator) • Informationen über ihre Verknüpfungen zu anderen Objekten • ihr Verhalten (Methoden) • ihre Struktur (Attribute)

        Integration von Daten und Funktionen Unter Slots versteht man die Gesamtmenge aller Strukturen und Methoden eines Objektes. ● Gleiche Objekte werden zu Objekttypen (Klassen) zusammengefasst, deren Eigenschaften und Beziehungen zu anderen Objekttypen in einer Klassendefinition beschrieben werden. Ein konkretes Objekt einer Objektklasse wird als eine Instanz dieser Klasse bezeichnet. ■ Beispielobjekt „Investition“, ohne Methoden: float Auszahlung: float Einzahlungen[10]; float Zinssatz: ■ Beispielobjekt „Investition“, erweitert um Methoden: float Auszahlung: float Einzahlungen[10]; float Zinssatz: methodBerechne_Kapitalwert: methodBerechne_Internen_Zins: methodBerechne_Annuität; ● Zwischen Objekten und Klassen können wesentlich komplexere Beziehungen dargestellt werden als im relationalen Modell:

        5.1 Klassifizierung der Daten

        207

        • Klasse-Komponentenklasse-Beziehung: Eine Klasse von Objekten ist Bestandteil eines Objektes. ■ Alle Aufträge eines Kunden können als Teil des Objekts „Kunden“ realisiert werden.

        Man unterscheidet Reference-Beziehungen und Part-of-Beziehungen. – Reference-Beziehung: Einzelne Komponentenobjekte existieren gemeinsam, unabhängig und nicht eingekapselt. Sie entspricht den Beziehungen im relationalen Modell und wird mit Hilfe von Zeigern realisiert. – Part-of-Beziehung: Die Komponentenklasse wird zu einem festen Bestandteil des Hauptobjektes und ist abhängig von dessen Existenz. Die Objekte der Komponentenklasse werden mit dem Hauptobjekt gespeichert. Die Möglichkeiten des Zugriffs auf Objekte der Komponentenklasse ist abhängig von den Eigenschaften der Hauptklasse (Kapselung). • Vererbung: Objektklassen können hierarchisch angeordnet werden. Dabei werden die Slots einer übergeordneten Objektklasse auf die Sub-Objektklassen weitergegeben. ▲ Man spricht von einfacher Vererbung, wenn jede Subklasse genau eine Oberklasse besitzt und

        von multipler Vererbung, wenn eine Subklasse mehr als eine Oberklasse besitzt. ▲ Da Subklassen sich (im Wesentlichen) verhalten wie ihre Oberklassen, sagt man: Die Subklasse

        „ist“ (im Wesentlichen) ein Objekt wie die Oberklasse („is-a“-Beziehung) ■ Beispiel für Vererbung:

        Polymorphie (Vielgestaltigkeit): Eine Subklasse erbt zwar die Eigenschaften der Oberklasse, kann diese jedoch ändern. ■ Eine Oberklasse „Vögel“ vererbt an ihre Subklassen u. a. die Eigenschaft „kann fliegen“. Wird die Unterklasse „Pinguin“ oder „Strauß“ gebildet, so kann innerhalb der Unterklassen diese Eigenschaft auf „kann nicht fliegen“ geändert werden, während die Unterklasse Amsel die Eigenschaft der Oberklasse übernimmt.

        208

        5 Daten und Information

        Datenkapselung: Die tatsächliche Struktur einer Klasse kann vor anderen Klassen versteckt werden. Dadurch kann man den Zugriff auf die Daten durch spezielle Methoden erzwingen, insbesondere durch im Objekt selbst zur Verfügung gestellte Methoden. ▲ Eine wichtige Rolle innerhalb von objektorientierten Datenbanken spielt die Frage der Steuerung des gesamten Systems. Da nicht nur die eigentlichen Daten innerhalb der Datenbank abgelegt werden, sondern auch das Verhalten der Objekte, stellt sich die Frage, wie die Ablaufsteuerung realisiert wird. In konventionellen Systemen wird dies durch das Programm erreicht. ● Bei objektorientierten Datenbanken sind ereignisgesteuerte Kontrollstrukturen üblich. Die einzelnen Objekte reagieren entsprechend den vorher definierten Verhaltensregeln auf die Eingaben der Benutzer bzw. auf Veränderungen innerhalb der Datenbank.

        d) Normalisieren von Daten Die Normalisierung von Daten ist eine Technik der Datenmodellierung im Rahmen des relationalen Datenmodells. Einige grundsätzliche Überlegungen können auch bei der Modellierung von objektorientierten Datenbanken verwendet werden. ■ Als Beispiel für den Sinn der Normalisierung mögen die folgenden, hier noch nicht normalisierten studentischen Prüfungsdaten dienen: PRÜFUNGSDATEN PNR FACH PRÜFER PRÜFLINGSDATEN MATRNR NAME FBNR FBNAME 560 ABWL Keller 895642 Maier 2 Wirtschaft 26578 Schmidt 2 Wirtschaft 580 AVWL Ulman 25634 Kurz 2 Wirtschaft 794567 Karl 20 Informatik 723 KI Hammer 895642 Maier 2 Wirtschaft 794567 Karl 20 Informatik

        DEKAN NOTE Mutz 3 Mutz 3 Mutz 2 Moritz 1 Mutz 5 Moritz 4

        (PNR: Prüfungsnummer, FBNR: Fachbereichsnummer, FBNAME: Fachbereichsname) Die oben dargestellte Relation fällt durch Redundanz auf, d. h. bestimmte Daten sind mehrfach gespeichert. Die Datenpflege ist dadurch erschwert. Außerdem ist die Tabelle so angelegt, dass die Prüflingsdaten eine untergeordnete Tabelle darstellen, die in eine übergeordnete Tabelle eingeschachtelt ist. Dadurch wird die Tabelle unnötig kompliziert.

        5.1 Klassifizierung der Daten

        209

        Es lassen sich folgende Ziele für die Normalisierung von Relationen (Tabellen) formulieren: ● Relationen sollten so entworfen werden, dass • sie keine untergeordneten Relationen enthalten, • so wenig wie möglich Redundanz vorhanden ist und • keine Probleme bei der Datenpflege auftreten. Man definiert deshalb Stufen der Normalisierung (Normalformen). ● Erste Normalform (1. NF): Eine Relation befindet sich in 1. NF, wenn keines ihrer Attribute eine untergeordnete Relation darstellt, bzw. wenn alle Attributwerte atomar sind. ▲ Prinzipiell wird Normalisierung durch Zerlegung von Relationen erreicht. ■ PRÜFUNGEN: PNR FACH 560 ABWL 580 AVWL 723 KI

        PRÜFER Keller Ulman Hammer

        PRÜFUNGSKANDIDATEN: PNR MATRNR NAME FBNR FBNAME 560 895642 Maier 2 Wirtschaft 560 26578 Schmidt 2 Wirtschaft 580 25634 Kurz 2 Wirtschaft 580 794567 Karl 20 Informatik 723 895642 Maier 2 Wirtschaft 723 794567 Karl 20 Informatik

        DEKAN NOTE Mutz 3 Mutz 3 Mutz 2 Moritz 1 Mutz 5 Moritz 4

        ▲ Durch die Erreichung der ersten Normalform ist zwar die Schachtelung der Tabellen aufgelöst, es sind aber immer noch redundante Daten vorhanden. ● Zweite Normalform (2. NF): Eine Relation befindet sich in der 2. NF, wenn sie sich in der 1. NF befindet und wenn jedes NichtSchlüsselattribut voll funktional von jedem Schlüsselkandidaten der Relation abhängig ist. ■ Die 2. NF wird durch Zerlegung der Relation PRÜFUNGSKANDIDATEN erreicht:

        PRÜFUNGEN: PNR FACH 560 ABWL 580 AVWL 723 KI

        BENOTUNGEN: PNR MATRNR NOTE 560 895642 3 560 26578 3 580 25634 2 580 794567 1 723 895642 5 723 794567 4

        PRÜFER Keller Ulman Hammer

        STAMMDATEN MATRNR NAME FBNR 895642 Maier 2 26578 Schmidt 2 25634 Kurz 2 794567 Karl 20

        FBNAME Wirtschaft Wirtschaft Wirtschaft Informatik

        DEKAN Mutz Mutz Mutz Moritz

        210

        5 Daten und Information

        In der Relation STAMMDATEN sind immer noch Redundanzen vorhanden, da FBNAME und DEKAN nicht von dem Primärschlüssel MATRNR direkt, sondern nur transitiv (indirekt) über die FBNR abhängig sind. ● Dritte Normalform (3. NF): Eine Relation befindet sich in der 3. NF, wenn sie sich in der 2. NF befindet und kein Nicht-Schlüsselattribut von einem Schlüsselkandidaten transitiv abhängig ist. ■ Relationen in 3. Normalform: PRÜFUNGEN: PNR FACH 560 ABWL 580 AVWL 723 KI

        PRÜFER Keller Ulman Hammer

        STUDENTEN: MATRNR NAME FBNR 895642 Maier 2 26578 Schmidt 2 25634 Kurz 2 794567 Karl 20

        BENOTUNGEN: PNR MATRNR NOTE 560 895642 3 560 26578 3 580 25634 2 580 794567 1 723 895642 5 723 794567 4 FACHBEREICHE: FBNR FBNAME DEKAN 2 Wirtschaft Mutz 20 Informatik Moritz

        ▲ Neben diesen drei Normalformen existieren noch drei weitere Stufen der Normalisierung, auf die jedoch meist in der betrieblichen Praxis verzichtet wird. ● Boyce-Codd-Normalform (BCNF): Eine Relation befindet sich in BCNF, wenn sie in der 3. NF ist und darüber hinaus jede Determinante ein Schlüsselkandidat ist. ● Vierte Normalform (4. NF): Eine Relation befindet sich in der 4. NF, wenn sie sich in der BCNF bzw. 3. NF befindet und alle mehrwertigen Abhängigkeiten funktionale Abhängigkeiten darstellen. ■ Die Bedeutung der 4. Normalform soll am Beispiel einer Relation dargestellt werden, bei der eine Fach→Lehrer- und eine Fach→Text-Beziehung die für Schüler relevante Zuordnung abbildet. FACH→LEHRER/TEXT FACH LEHRER Physik Maier Physik Maier Physik Müller Physik Müller Mathematik Maier Mathematik Maier Mathematik Maier

        TEXT Grundlagen der Mechanik Grundlagen der Optik Grundlagen der Mechanik Grundlagen der Optik Zahlentheorie Vektoranalysis Trigonometria

        Ein Problem taucht bei der Einführung von Schmidt als neuem Mathematiklehrer auf: Man müsste 3 neue Tupel einführen. Man umgeht dies durch die Zerlegung der Relation:

        5.1 Klassifizierung der Daten FACH→LEHRER FACH LEHRER Physik Maier Physik Müller Mathematik Maier Mathematik Schmidt

        211

        FACH→TEXT FACH TEXT Physik Grundlagen der Mechanik Physik Grundlagen der Optik Mathematik Zahlentheorie Mathematik Vektoranalysis Mathematik Trigonometrie

        ● Fünfte Normalform (5. NF): Eine Relation befindet sich in der 5. NF, wenn sie sich in 4. NF befindet und unter keinen Umständen aufgrund einer Verschmelzung von nur zwei einfacheren Relationen mit unterschiedlichen Schlüsseln rekonstruiert werden kann. ■ Beispiel für 5. NF: Anbieter S liefert Produkt P für Projekt J. Alle drei Attribute sind Schlüssel. Aus der originalen Relation, die nicht in 5. NF ist, werden durch Projektion drei einfachere Relationen gebildet: SP, PJ und JS. SP S# S1 S1 S2 SPJ S# S1 S1 S2 S1

        P# P1 P2 P2 P1

        J# J2 J1 J1 J1

        P# P1 P2 P2

        PJ P# P1 P2 P1

        H HH H H H

        J# J2 J1 J1

        JS J# J2 J1 J1

        S# S1 S1 S2

            

        Join über P# =⇒ ?

        S# S1 S1 S1 S2 S1

        P# P1 P1 P2 P2 P1

        J# J2 J1 J1 J1 J1

        ? -

        Join über (J#,S#) ?

        Original SPJ

        Die Relation SPJ kann nur durch eine Verknüpfung von allen drei einzelnen Relationen SP, PJ und JS erstellt werden. Die einfacheren Relationen SP, PJ und JS sind in 5. Normalform. ● Vorteile der Normalisierung: • Redundanzfreie Speicherung (oder redundanzarme Speicherung, wenn man die Mehrfachspeicherung eines Schlüssels bereits als Redundanz auffasst) ▲ Jedes Faktum ist nur einmal in der Datenbank gespeichert.

        Faktum: Zuordnung eines Wertes zu einem Attribut eines Tupels ■ Attribut Studienfach des Studenten X hat die Ausprägung BWL • Sicherung der Integrität: Keine sich widersprechenden Fakten sind in der Datenbank gespeichert. ■ Beispiel für fehlende Integrität: Der Bankleitzahl 50060000 sind verschiedene Banknamen

        zugeordnet • Integritätssichernde Maßnahme: Einführung der 3. NF.

        212

        5 Daten und Information

        ● Nachteile der Normalisierung: • Normalisierungsaufwand • Schlechteres Laufzeitverhalten bei der Zusammenfügung (Join) mehrerer Relationen. Beim Datenbankentwurf sind somit die „Kosten“ und „Nutzen“ der Normalisierung abzuwägen. • Normalisierung bis 3. NF (oder weniger!) ist in der Regel ausreichend.

        5.1.2

        Organisation unformatierter Daten

        ● Datenbanksysteme für unformatierte Daten dienen der Repräsentation, Speicherung und Wiederauffindung unformatierter Datenbestände. Unformatierte Daten sind einer Kategorienbildung von Datentypen nur schwer oder überhaupt nicht zugängliche Daten. ■ Im Allgemeinen handelt es sich dabei um Dokumente oder Dokumentstellvertreter wie z. B. Texte oder Memos, sowie Multimediadokumente wie Grafiken, Videosequenzen, Töne und Sprache. ▲ Man gebraucht für diese Kategorie von Datenbanksystemen auch die Bezeichnungen Document-Retrieval- bzw. Information-Retrieval-Systeme. ● Damit ein Datenbanksystem bei unformatierten Daten für Aufgaben der Entscheidungsunterstützung herangezogen werden kann, sind neben der Datenerfassung zwei wesentliche Teilschritte notwendig: 1. Dokumentendeskribierung: Erstellung von sinngemäßen Beschreibungen (Schlüsselworte oder Deskriptoren) für die Dokumente. ▲ Die Deskriptoren sollen die wesentlichen inhaltlichen Merkmale eines Dokuments mithilfe eines

        verkürzten Wortschatzes ausdrücken. Die Dokumentendeskribierung erfolgt während oder nach der Erfassung der unformatierten Daten. 2. Recherche: Formulierung einer Suchanfrage (Anfragedeskriptor) durch den Anwender (Anfragedeskribierung) und Behandlung der Anfrage durch das System. Bei der Formulierung der Suchanfrage wird der Anwender angehalten, bestimmte Merkmale einzugeben, die den Merkmalen der Dokumentendeskriptoren möglichst ähnlich sind. Bei dem darauf folgenden Prozess des Wiederauffindens, dem so genannten Retrieval, vergleicht das System die Anfragedeskriptoren mit den Dokumentendeskriptoren. Im Falle der Übereinstimmung oder Ähnlichkeit gelangt der Anwender über die betreffenden Dokumentendeskriptoren zu den dazugehörigen Dokumenten. Dokumenterfassung ↓ Dokumentdeskribierung ↓ Dokumentrecherche ↓ Dokumentpräsentation Die elementaren Teilprozesse in Datenbanken für unformatierte Daten ▲ Betrachtet man die Architektur von Datenbanksystemen für unformatierte Daten, so kann man zunächst ein Dialogsystem von einem Basissystem unterscheiden. Mithilfe des Dialogsystems kann der Anwender seine Anfrage zur Entscheidungsunterstützung deskribieren. Bei korrekter Anfragedeskribierung bekommt er eine Trefferliste angezeigt. Im Falle einer syntaktisch unkorrekten Anfrage wird er vom Dialogsystem auf den Fehler hingewiesen.

        5.1 Klassifizierung der Daten

        213

        ● Das Basissystem besteht aus drei Komponenten: • dem Erfassungssystem, • dem Deskribierungssystem und • dem Recherchesystem. ● Das Erfassungssystem dient der Eingabe und Speicherung der Dokumente. Die Eingabe erfolgt i. d. R. Off-Line über einen Bildschirm und ein Band oder eine Platte. Durch die Entwicklung der Scannertechnologien findet zudem die Erfassung von gedruckten Vorlagen immer größere Verbreitung. ● Das Deskribierungssystem unterstützt die Erstellung der Dokumentendeskriptoren. Dabei werden Begriffe, so genannte Deskriptoren vergeben, die den Inhalt eines Dokuments repräsentieren. Der Vorgang der Begriffsvergabe, die Deskribierung, kann dabei von Hand durch einen Indexierer oder automatisch durch das System vorgenommen werden. Am Ende der Dokumentendeskribierung werden die erstellten Deskriptoren den Dokumenten zugeordnet und in einer eigenen Datei gespeichert. ● Das Recherchesystem gleicht Anfragedeskriptoren mit den Dokumentendeskriptoren zwecks (Wieder-)Auffindung der gewünschten Dokumente ab. Basissystem Dokumenterfassung Dokumentdeskribierung Dialogsystem Dokumentrecherche ←→ Dokumentanfrage Dokumentpräsentation Architektur von Datenbanksystemen für unformatierte Daten ▲ Analog zum Datenbankadministrator bei Datenbanksystemen für formatierte Daten ist bei den Document-Retrieval-Systemen ebenfalls ein Systempfleger notwendig. Seine Hauptaufgaben sind neben der Unterstützung der Anwender vor allem der Bereich der Kontrolle der Datenversorgung, der Benutzerverwaltung und der physischen Datenorganisation. ▲ Besitzt das Deskribierungssystem kein automatisches Verfahren zur Erstellung der Dokumentendeskriptoren, so kann neben dem Systempfleger zusätzlich ein so genannter Indexierer notwendig sein. Dieser bedient sich manueller Verfahren zur Deskribierung der Dokumente. Dabei handelt es sich häufig um eine Person, die bezüglich der Dokumenteninhalte sachkundig ist. ● Bei Datenbanksystemen für unformatierte Daten lassen sich Anforderungen definieren, die als Beurteilungskriterien hinsichtlich einer konkreten Systembewertung herangezogen werden können: • Identität: Dokumente gleichen Inhalts müssen bei zeitlich verschiedener Deskribierung oder bei Deskribierung durch verschiedene Indexierer zu einer Zuweisung identischer Deskriptoren führen. • Selektionsgüte: Die Fähigkeit eines Systems, die für den Anwender relevanten Dokumente nachzuweisen. • Ergonomie: Lernaufwand, der intellektuell oder physisch getrieben werden muss, um Suchanfragen zu formulieren, die Suche durchzuführen und das Suchergebnis durchzusehen. • Effizienz: Die Zeit, die zwischen der Eingabe einer Suchanfrage und der Ausgabe der Suchergebnisse vergeht. • Ergebnispräsentation: Die Form der Darstellung der Ausgabedaten, welche die weitere Verwertung der Suchergebnisse beeinflusst. • Abdeckung: Das Ausmaß, in dem alle relevanten Dokumente eines Sachgebiets in der Datenbank vorhanden sind.

        214

        5 Daten und Information

        a) Typologien von Datenbanksystemen für unformatierte Daten ● Datenbanksysteme für unformatierte Daten lassen sich u. a. nach ihrer Nutzungsart, Datenherkunft und nach ihrem Datenumfang klassifizieren. ● Nutzungsart: Im Hinblick auf die Nutzungsart ist der Begriff der Online-Datenbank zu nennen. ▲ Der Ursprung dieser Typisierung kommt aus der konventionellen Dokumentations- und Ordnungslehre. Dort ließ der Anwender die Recherche durch einen Dokumentator durchführen, dessen Einsatz sich durch seine spezialisierten Fachkenntnisse und seine Zuständigkeit bei der Deskriptorvergabe rechtfertigte. Später, als dialoggestützte Rechnersysteme aufkamen, die auch vom Anwender bedienbar waren, trat der Dokumentator in den Hintergrund. Der manuellen Dokumentation folgten elektronische Datenbestände, die interaktiv durchsucht werden konnten bzw. können, somit entstanden OnlineDatenbanken. ▲ Auch Datenbanksysteme für formatierte Daten werden als Online-Datenbanken bezeichnet, sofern sie interaktiv zugängliche Daten (z. B. Daten über Börsenkurse) umfassen. ● Datenherkunft: Bezüglich der Datenherkunft unterscheidet man interne und externe Datenbanken. Interne Datenbanken beziehen ihre Daten aus dem eigenen Unternehmen. ■ Archivierungssysteme in großen Anwaltskanzleien oder Know-How-Datenbanken in Fertigungsbetrieben ▲ Im Vergleich zu externen Datenbanken sind sie jedoch eher seltener anzutreffen. Externe Datenbanken helfen beim Wiederauffinden unternehmensexterner Daten. ■ Die wichtigsten Vertreter sind Literatur-, Rechts- oder Patentdatenbanken. ▲ Auch formatierte Daten können Bestandteil externer Datenbanken sein. ● Originalität der Daten: Typisiert man Datenbanksysteme für unformatierte Daten hinsichtlich ihrer Originalität, so lassen sich Faktendatenbanken und Referenzdatenbanken unterscheiden. Eine Faktendatenbank enthält Primärdaten in der Form von Volltexten (z. B. Zeitschriftenartikel oder Gerichtsurteile) oder Zahlenmaterial (z. B. Börsenkurse oder andere Statistiken). Eine Referenzdatenbank enthält aus z. B. Platz- und Kostengründen nur Textauszüge (z. B. Zusammenfassungen oder Hinweise von bzw. auf Primärdaten, z. B. bei Patenten oder Monografien).

        b) Dokumentendeskribierung ● Die Deskribierung von Dokumenten kann von Hand oder automatisch erfolgen. Bei den manuellen Verfahren zur Dokumentendeskribierung erfolgt die Auswahl und Festlegung der Deskriptoren durch den Indexierer. Bei den automatischen Verfahren werden die Deskriptoren vom System festgelegt. ● Manuelle Verfahren zur Dokumentendeskribierung:

        Bei den manuellen Verfahren zur Deskribierung von Dokumenten können die manuelle Klassifikation und die manuelle Indexierung unterschieden werden. Manuelle Klassifikation: Die Dokumente werden einer oder mehreren Klassen zugeordnet. Die Zuordnung erfolgt durch den Indexierer unter Einbeziehung eines fest vorgegebenen Klassifikationsschemas. Der Klassenname dient dann als Deskriptor. Die Klassifikation kann hierarchisch (baumförmig) oder in Fassetten erfolgen.

        5.1 Klassifizierung der Daten

        215

        Hierarchische Klassifikation: Das zu dokumentierende Gesamtgebiet wird zunächst in n Klassen eingeteilt. Jede dieser Klassen wird wiederum in weitere m Unterklassen aufgespalten, usw. Dabei erhält jede Klasse eine Klassennummer. Eine konkrete Klassenbenennung ergibt sich durch Aneinanderreihen der Klassennummern, die auf dem Weg von der Wurzel des Baums bis zur betreffenden Klasse durchlaufen werden. Werden die Ziffern 0 bis 9 zur Identifikation der Klassen verwendet, spricht man auch von Dezimalklassifikation. ▲ Der Einfachheit und Übersichtlichkeit dieses Verfahrens steht jedoch der Nachteil mangelnder Flexibilität bei Sachgebietserweiterungen gegenüber. Dieser Nachteil kann durch manuelle Indexierung vermieden werden. Fassettenklassifikation: Aus einer Reihe fest vorgegebener, gleichberechtigt nebeneinanderstehender Deskriptoren wird je ein Begriff herausgesucht und mit anderen Begriffen kombiniert. Manuelle Indexierung: Der Indexierer kann den Dokumenten frei wählbare Deskriptoren zuordnen. Zu unterscheiden sind das Stichwort- und das Schlagwortverfahren. Stichwortverfahren: Es werden jene Begriffe als Deskriptoren verwendet, die auch tatsächlich im Text vorkommen (Stichworte) und die den Inhalt des Dokuments besonders gut wiedergeben. Schlagwortverfahren: Es werden auch nicht vorkommende Begriffe (Schlagworte) als Deskriptoren zugelassen. ▲ Dem Gewinn an Flexibilität stehen jedoch eine erhebliche Zunahme des Erfassungsaufwands durch den Indexierer und vermeintliche Verstöße gegen die Identitätsforderung gegenüber. Das Stichwortund insbesondere das Schlagwortverfahren bietet dem Indexierer einen hohen Freiheitsgrad bei der Deskribierung der Dokumente. Bei einer späteren Deskribierung oder bei einer Deskribierung durch eine andere Person können andere Deskriptoren verwendet werden. Als wichtiger und relativ weit verbreiteter Ansatz empfiehlt sich die Einführung eines kontrollierten Wortschatzes. Kontrollierter Wortschatz: Begrenzung der Vielfalt der Terminologie, indem als Deskriptoren nur bestimmte Worte oder Wortfolgen zugelassen werden. ▲ Sie sind nur dann verwertbar, wenn die Inhalte der Dokumente sachlichen Beschränkungen unterworfen werden. Kontrollierte Wortschätze sind daher stets sachgebietsspezifisch. Da der Indexierer nicht alle Begriffe und alle impliziten Bezüge zur Vergabe der Schlagworte beherrscht, kann es sinnvoll sein, ein Schlagwortverzeichnis zur Verfügung zu stellen. Dieses wird auch als Thesaurus bezeichnet und liegt in Form eines im Datenbanksystem gespeicherten Katalogs vor. ● Automatische Verfahren zur Dokumentendeskribierung In der Praxis hat sich gezeigt, dass es schwierig ist, die manuelle Deskribierung über längere Zeit präzise und konsistent durchzuführen. Vom Indexierer wird eine gute Ausbildung und viel Erfahrung erwartet. Häufig ist aber die Zahl der pro Dokument vergebenen Deskriptoren nicht ausreichend. Relevante Einträge werden ausgelassen oder den Einträgen fehlt die Spezifität. Beides führt zu Abstrichen bei der Selektionsgüte. Aus diesem Grund kann es empfehlenswert sein, auf Retrieval-Systeme mit automatischen Verfahren zur Dokumentendeskribierung zurückzugreifen. ▲ Theoretisch wäre es denkbar, alle im Dokument enthaltenen Begriffe zu Deskriptoren zu machen. Damit würde man jedoch auch jene Begriffe miteinbeziehen, die den Inhalt des Dokuments nicht aussagekräftig beschreiben (z. B. Artikel, Präpositionen, Konjunktionen oder Hilfsverben). Derartige Begriffe sind schlechte Diskriminatoren und eignen sich deshalb nicht zur Indexierung. Es ist relativ einfach, diese Begriffe in einem Wörterbuch zu sammeln, um sie von der Deskribierung auszuschließen. Dieses Wörterbuch bezeichnet man als Stoppwortliste oder Negativliste.

        216

        5 Daten und Information

        1. Analyse des gesamten Dokuments oder der Zusammenfassung eines Dokuments durch das System: Unbedeutende Stoppworte werden als Deskriptoren ausgeschlossen und die verbleibenden Begriffe werden als potenzielle Deskriptoren vorgemerkt. ▲ Beim Erstellen einer Stoppwortliste kann es zu Verletzungen der Identitätsforderung kommen, da die Reihenfolge einzelner Deskriptoren für den Dokumenteninhalt ausschlaggebend sein kann. ■ So führen beispielsweise die Terme „Kleider machen Leute“ und „Leute machen Kleider“ zu

        derselben Deskriptormenge. Dieses Problem kann durch die Festlegung so genannter Konkordanzen vermindert werden. Konkordanzen repräsentieren Folgen von Worten und verweisen explizit auf die entsprechenden Stellen im Text. Es wird vermerkt, an welchen Stellen im Text (z. B. Kapitel, Abschnitt, Satz, Wort im Satz) der betreffende Deskriptor vorkommt. 2. Automatische Reduktion morphologischer Formen: Es wird versucht, die verbliebenen Begriffe auf ihren Wortstamm zu reduzieren. ▲ Morphologie befasst sich mit Formveränderungen (Flexionen) von Begriffen durch Konjugation und Deklination. Das Verfahren versucht, jene sprachlichen Eigenschaften zu berücksichtigen, die keine Sinnveränderung darstellen. Man lässt nur die Grundform der Textwörter als Deskriptor zu. Jeder Begriff wird dabei in einen bedeutungstragenden Bestandteil (Lexem) und seine Flexion (gebundenes Morphem) aufgespalten. Die Flexionsformen können dabei dem bedeutungstragenden Teil vorangestellt (Präfix) oder nachgelagert (Suffix) sein. Aus den Lexemen werden dann die zugehörigen Grundformen erzeugt und als Deskriptoren weitergeführt. Die Deskriptormenge wird auf diese Art und Weise nochmals begrenzt. 3. Häufigkeitsanalyse: Bei diesem Verfahren wird von der Gesetzmäßigkeit ausgegangen, dass nur jene Begriffe als Deskriptoren bedeutsam sind, die zwar diskriminierend wirken, gleichwohl aber eine mittlere Vorkommenshäufigkeit im gesamten Dokumentenbestand besitzen. Zu diesem Zweck werden sämtliche Begriffe nach abnehmender Häufigkeit geordnet. Dann werden aus der Deskriptormenge zunächst die Begriffe niedriger Häufigkeit entfernt. Dabei handelt es sich um Begriffe, die nur sehr selten in der Datenbasis vorkommen. Anschließend werden wiederum die häufig vorkommenden Begriffe als Deskriptoren ausgeschlossen. ▲ Problematisch ist dabei die Bestimmung des unteren und oberen Schwellenwertes, der zum Ausschluss führt. Um negativen Einflüssen bei der Selektionsgüte entgegenwirken zu können, formuliert das System die Schwellenwerte relativ vorsichtig. Im unteren Bereich beschränkt es sich auf Begriffe, die nur ein- oder zweimal vorkommen. Die obere Grenze kann sich am Reduktionsumfang orientieren. ▲ Die Häufigkeitsanalyse gestattet eine weitere Verbesserung der dokumentenspezifischen Beschreibung. 4. Automatische Generierung von Deskriptorgewichten: Hier können ebenfalls mehrere Ansätze herangezogen werden, von denen die Gewichtungsmethode erwähnt werden soll, in der sich das Gewicht des Deskriptors aus dem Produkt der Häufigkeit eines Begriffs k in einem Dokument i und dem Diskriminanzwert von k errechnet. Als komplexes Ähnlichkeitsmaß bringt der Diskriminanzwert zum Ausdruck, inwieweit ein Begriff ein Dokument von einem anderen Dokument unterscheiden hilft. ▲ Als Deskriptor sollten nur jene Begriffe verwendet werden, deren Diskriminanzwerte die Ähnlichkeit zwischen Dokumenten vermindern. Negative Diskriminanzwerte liefern dagegen keinen wesentlichen Beitrag zur Charakterisierung von

        5.1 Klassifizierung der Daten

        217

        Dokumenten, da sie die Ähnlichkeit der Dokumente untereinander vergrößern. Die dazugehörigen Begriffe sollten als Deskriptoren ebenfalls ausgeschlossen werden.

        c) Dokumentenrecherche ● Damit der Anwender für Aufgaben der Entscheidungsunterstützung zu den relevanten Daten finden kann, ist neben der inhaltlichen Erschließung der Dokumente ein Suchprozess notwendig. Dieser besteht aus zwei Teilen: 1. Anfragedeskribierung: Der Anwender muss seinen Informationsbedarf über eine Anfrage dem System mitteilen, indem er die gewünschten Suchbegriffe eingibt. 2. Suchprozess oder Dokumentenauswahl: Das System muss die Anfrage mit den Deskriptoren der Dokumente abgleichen und die relevanten Dokumente dem Anwender ausgeben. Anfragedeskribierung Bei der Deskribierung der Anfrage gibt der Anwender die gewünschten Suchbegriffe ein. ● Im Hinblick auf die anschließende Zuordnung von Anfragedeskriptoren zu Dokumentendeskriptoren ergeben sich dabei die beiden folgenden Varianten: • Identische Abbildung: Das System sucht nur nach genau jenen Begriffen, die der Anwender auch eingegeben hat. Dokumenten- und Anfragedeskriptoren müssen identisch sein. Der Anwender kann sich eines freien oder kontrollierten Wortschatzes bedienen. • Erweiterung der Deskriptormenge: Der Vorrat der Anfragedeskriptoren kann größer sein als die gespeicherten Dokumentendeskriptoren. Das System setzt die Erweiterung durch den Einbezug aller zu einem Deskriptor denkbaren Synonyma in den Thesaurus um. ▲ Da bei der identischen Abbildung die Wahrscheinlichkeit einer Übereinstimmung der vom Anwender eingegebenen Deskriptoren mit den vom Indexierer oder vom System erstellten Deskriptoren gering ist, trifft man diese Form allenfalls bei gut abgegrenzten Sachgebieten oder überschaubaren Datenbeständen an. Die Erweiterung der Deskriptormenge ist trotz der höheren Rechenzeiten der häufiger anzutreffende Fall. Es bleibt die Frage, in welcher Form der Anwender seine Suchbegriffe eingeben muss, um zu den gewünschten Dokumenten zu gelangen. Am weitesten verbreitet ist hierfür die Verküpfung der Suchbegriffe mit Boole’schen Operatoren. Daneben soll auf so genannte Freitextverfahren hingewiesen werden, bei denen der Anwender sein Suchproblem in natürlicher Sprache formuliert. ● Bei der Boole’schen Suche werden die Suchbegriffe über die Mengenoperatoren AND, OR und NOT verknüpft. • A AND B: weist alle Dokumente nach, in denen zwei Suchbegriffe A und B beide vorkommen. • A OR B: weist alle Dokumente nach, die den Begriff A, den Begriff B oder beide Begriffe enthalten. • NOT A: weist jene Dokumente nach, in denen der Begriff A nicht enthalten ist. ● Die Prioritätenfolge ist NOT vor AND und OR. ▲ Soll die Prioritätenfolge verändert werden, sind Klammerausdrücke zu verwenden. Neben den o. g. Basisoperatoren bieten verschiedene Systeme weitere Verknüpfungsmöglichkeiten an: • A ADJ B (Adjacency): legt die Reihenfolge und Lokation von Suchbegriffen fest. Ein Suchbegriff A muss direkt vom Begriff B gefolgt werden, d. h. B muss unmittelbar nach A kommen. • A WITH B: Die Begriffe A und B müssen im selben grammatischen Satz des Dokuments vorkommen. • A SAME B: Die Begriffe A und B müssen im gleichen Absatz vorkommen. • A XOR B: Entweder Begriff A oder Begriff B (aber nicht beide gleichzeitig) sind im Dokument enthalten.

        218

        5 Daten und Information

        ▲ Bei der Formulierung der Suchanfrage können so genannten Abkürzungs- oder Trunkierungssymbole verwendet werden. Diese erlauben eine Verkürzung der Anfrage auf einzelne Begriffsbestandteile. Viele Datenbanken lassen zudem eine nachträgliche Verknüpfung von Suchanfragen zu. Zu diesem Zweck wird der COMBINE – Operator eingesetzt, der teilweise sogar nicht explizit eingegeben werden muss. ● Eine weitere prinzipielle Vorgehensweise zur Formulierung einer Suchanfrage ist die natürlich sprachliche Eingabe des gewünschten Suchergebnisses. Der Anwender gibt dies in das Datenbanksystem in freier Form ein. Daher werden die mit dieser Form der Anfragedeskribierung verbundenen Techniken auch unter dem Begriff der Freitextverfahren zusammengefasst. Derartige Systeme erfordern den Einsatz linguistischer Verfahren. Diese befinden sich zwar z. T. noch im Entwicklungsstadium, können aber bereits zur punktuellen Verbesserung der deskriptororientierten Verfahren eingesetzt werden. ● Betrachtung der Funktionsweise linguistischer Verfahren: • Morphologische Ebene: Analog zu den Ausführungen über die → automatische Reduktion morphologischer Formen müssen die eingegebenen Satzteile auf ihre bedeutungstragenden Wortbestandteile überführt werden. • Lexikalische Ebene: Mithilfe von Thesauri werden identische Begriffe bei den Wortbestandteilen entfernt und jedem Textwort linguistische Merkmale zugewiesen (z. B. ob es sich um Substantiv, Adjektiv, Präposition usw. handelt). • Syntaktische Ebene: Dabei werden die einzelnen Worte in strukturelle Einheiten (z. B. SubjektVerb-Objekt- oder Präpositionalphrasen) gruppiert, um die grammatikalische Struktur eines eingegebenen Satzes formal abzubilden. • Semantische Ebene: Zusätzlich zu der rein syntaktischen Ebene wird hierbei kontextuelles Wissen verarbeitet, um einen Satz in bedeutungstragende Einheiten zerlegen zu können. Hierzu werden immer häufiger verschiedene Formen der Wissensrepräsentation (vor allem Semantische Netze) eingesetzt, die auch in wissensbasierten Systemen Verwendung finden. • Pragmatische Ebene: Es werden zusätzliche Querbeziehungen zu anderen Sprachelementen im Sinne einer Kontextbeschreibung hergestellt. ■ Beispielsweise lässt sich aus dem Wissen über die Größe von Schlüsseln und Schlössern und

        aus der üblichen Verwendung von Schlüsseln eine eindeutige Interpretation aus dem Satz „Der Schlüssel steckt im Schloss“ ableiten. ▲ Linguistische Systeme können bisher nur bei stark abgegrenzten Fachgebieten eingesetzt werden. Sie erlauben, inhaltliche Interpretationprobleme, bestehende Kontextschwierigkeiten und auftretende Mehrdeutigkeiten im Voraus zu vermeiden. Dies geschieht zumeist über einen Rückkopplungsprozess mit dem Anwender im Rahmen so genannter Frage-Antwort-Systeme. ● Eine weitere Einsatzmöglichkeit bieten sprachanalytische Verfahren. Syntaktische Analysesysteme helfen, die Selektionsgüte von Datenbanksystemen für unformatierte Daten zu verbessern. ▲ Durch die Generierung von Mehrwortbegriffen (Konkordanzen) kann die Dokumentendeskribierung vereinfacht werden. Es deutet einiges darauf hin, dass in der Zukunft die Informationssuche (Information Retrieval) von der Entwicklung sprachverarbeitender Verfahren profitieren wird. Dokumentenauswahl ● Die Verfahren zur Dokumentenauswahl können nach der zugrunde liegenden Auswahlfunktion unterschieden werden. Eine Auswahlfunktion ordnet jedem Deskriptor aus einer Anfrage einen Deskriptor in einem Dokument zu. Aus einer Menge von Anfragedeskriptoren kann mittelbar auf die Dokumente geschlossen werden. Sollen derartige Auswahlfunktionen einbezogen werden, so bieten sich ebenfalls die →Boole’sche Suche und Freitextverfahren an.

        5.1 Klassifizierung der Daten

        219

        Freitextverfahren: Der Anwender muss sich nicht auf die vorgegebenen Deskriptoren beschränken, sondern er kann nach Dokumenten suchen, die einen vorgegebenen Wortlaut enthalten. Freitextverfahren werden realisiert, indem neben den reduzierten Wortstämmen die Konkordanzen in der Deskriptordatei geführt werden. ● Fehlen Auswahlfunktionen wie im oben genannten Sinne, muss aus einer Menge von Anfragedeskriptoren unmittelbar auf eine Menge von Dokumenten geschlossen werden. Hierfür wird mit Ähnlichkeitsmaßen operiert. ■ Beispiel der Dokumentenauswahl bei fehlender Auswahlfunktion: • Ein Dokument DOKi wird durch die Deskriptoren TERMi1 , TERMi2 , . . ., TERMit beschrieben, wobei TERMi j das Gewicht oder die Bedeutsamkeit eine Begriffes j ist, der als Deskriptor des Dokuments i dient. Eine Dokumentensammlung lässt sich dann als Matrix repräsentieren, wobei jede Zeile ein Dokument und jede Spalte die an das Dokument vergebenen Deskriptoren darstellen. TERMi j > 0, wenn der Deskriptor j dem Dokument i zugeordnet wurde. TERMi j = 0, wenn der Begriff j nicht als Deskriptor für das Dokument i vergeben wurde. Analog zum Dokument kann eine Anfrage ANFRAGE j als Vektor ATERM j1 , ATERM j2 , . . ., ATERM jt definiert werden. ATERM jk ist dann das Gewicht oder die Wichtigkeit des Suchbegriffs k von der Suchanfrage j. • Um ein Dokument als relevant nachzuweisen, wird nun nicht mehr auf einer völligen (mittelbaren) Übereinstimmung zwischen Anfrage- und Dokumentvektor bestanden. Vielmehr wird festgelegt, dass der Nachweis von einem Ähnlichkeitswert zwischen Suchanfrage und Dokument abhängt. Da Dokumente und Suchanfrage in einem t-dimensionalen Raum abgebildet werden können, lässt sich die Ähnlichkeit in Abhängigkeit von der Anzahl der übereinstimmenden Suchbegriffe bestimmen. Die Berechnung der Ähnlichkeit erfolgt über trigonometrische Funktionen, wie z. B. dem Kosinus des Winkels zwischen Dokument und Suchanfrage. • Die Position eines Dokuments bzw. einer Suchanfrage im Vektorraum bestimmt sich über das Gewicht der einzelnen Deskriptoren. Im Idealfall sind Such- und Dokumentenvektor genau gleich, d. h. die entsprechenden Vektoren liegen übereinander und das Ähnlichkeitsmaß beträgt 1. Andernfalls liegen die Vektoren auseinander. Im Extremfall ist kein Begriff in Dokument und Suchanfrage übereinstimmend. Dann errechnet sich für das Ähnlichkeitsmaß der Wert −1. ▲ Über die numerische Ähnlichkeitsberechnung können somit nicht nur jene Dokumente nachgewiesen werden, die exakt alle Suchbegriffe als Deskriptor besitzen. Vielmehr können auch diejenigen Dokumente selektiert werden, die einen bestimmten Ähnlichkeitswert überschreiten (z. B. cos(DOKi ,ANFRAGE j ) > 0,5). Zudem ist es möglich, die nachgewiesenen Dokumente in der Rangfolge der Ähnlichkeitswerte auszugeben. Dadurch kann der Interpretationsaufwand für den Anwender verringert und die Selektionsgüte des Systems vergrößert werden.

        d) World Wide Web (siehe Kapitel 1) ● Die weltweit größte Datenbank für unformatierte Daten ist das World Wide Web (WWW). ● Das World Wide Web ist ein Dienst des Internets, der eine verteilte Datenbank für unformatierte Daten mit folgenden Spezifikationen beinhaltet: • Die Erfassung erfolgt mithilfe einer speziellen Beschreibungssprache (HTML, Hypertext Markup Language). • Zur Erfassung der Dokumente können spezielle HTML-Editoren genutzt werden. • Dokumente können aus Text, Grafiken, Tönen und Sprache, sowie Videosequenzen oder beliebigen sonstigen Daten bestehen. • Die einzelnen Dokumente werden dezentral auf einzelnen WWW-Servern als Dokumente (Dateien) abgelegt.

        220

        5 Daten und Information • Eine Verknüpfung erfolgt durch Referenzzeiger innerhalb der Dokumente, wodurch eine Netzwerkstruktur entsteht, bei der jedoch – im Gegensatz zu den Netzwerkdatenbanken für formatierte Daten – jedes Dokument als Einsprungstelle genutzt werden kann, auch wenn jeder Server meist eine spezielle HOME-Seite als zentrale Startseite nutzt. • Der Zugriff kann über die fest definierten Verknüpfungen erfolgen, wodurch ein hierarchischer Zugriff erfolgt. • Durch die dezentrale Struktur gibt es keine zentrale Koordinationsstelle für das Datenbanksystem, insbesondere gibt es keinen Datenbankadministrator oder zentralen Systempfleger. • Der einzelne Autor von Dokumenten ist dafür verantwortlich, dass seine Dokumente von potenziellen Lesern gefunden werden. • Für die Suche im System gibt es spezielle Suchdienste, die aufgrund der gestellten Anfrage temporäre Verknüpfungen zu Dokumenten erstellen. ■ Lycos, Yahoo, Infoseek, etc. Hinter diesen Suchservices stehen Deskriptordatenbanken, die Referenzen auf die originalen Seiten enthalten. Die Aufnahme neuer Dokumente in diese Deskriptordatenbanken erfolgt: – manuell: Autoren der Dokumente erstellen Deskriptoren, die den Inhalt des Dokuments beschreiben und in der Suchdatenbank abgelegt werden. – halbautomatisch: Der Autor des Dokuments teilt dem System mit, dass ein neues Dokument erstellt worden ist und das System erstellt Deskriptoren für das Dokument. – automatisch: Das Suchsystem sucht selbständig nach neuen Dokumenten und ergänzt seine Datenbank durch Deskriptoren der neuen Dokumente. • Für die Präsentation der Dokumente und die Bedienung des Systems werden Web-Browser verwendet, die es für fast alle gängigen Betriebssysteme gibt. ■ Netscape Navigator, MS Internet Explorer, Mozilla, Opera • Der Web-Browser ermöglicht es, eine Liste (Bookmarks) der häufig aufgesuchten Web-Seiten (Dokumente) zu erstellen, um einen wiederholten Zugriff zu erleichtern. • Durch die Integration anderer Internetdienste wie FTP, NEWS-Groups, Email entsteht eine einheitliche, integrierte Benutzeroberfläche für das gesamte Internet.

        5.2

        Informationen

        ● Die Abgrenzung von Information gegenüber Daten stellt sich als schwieriges und noch nicht allgemein gelöstes Problem dar. ▲ Gemäß der Sprachtheorie lassen sich die semiotischen Ebenen „Syntax“, „Semantik“ und „Pragmatik“ unterscheiden, die zusammengefasst als Informationen im weitesten Sinne bezeichnet werden können. Die jeweilige Ebene determiniert einen eigenen Informationsbegriff und bedarf der darunter liegenden Ebene(n). Syntaktische Ebene: Informationen auf der untersten Sprachebene können als (akustische, optische, elektrische u. Ä.) Signale bezeichnet werden. Auf dieser Ebene stehen Fragen der Codierung oder der Datenübertragung im Vordergrund. Semantische Ebene: Auf dieser Ebene entstehen aus Signalen Daten oder Nachrichten, bestehend aus Denotationen (frei von Empfindungen und Wertung genau definierbare Objekte, Sachverhalte, Eigenschaften etc.) und Konotationen (Komplex von Nebenvorstellungen, die um eine Denotation ranken). Sie sind fixiert und jederzeit auf unterer Ebene (EDV, Kommunikationstechnik) zugänglich. Pragmatische Ebene: Daten/Nachrichten werden zu Informationen im engeren Sinne, wenn sie einen Sachverhalt widerspiegeln, der dem Empfänger noch nicht bekannt ist und ihm einen Nutzen stiftet.

        5.2 Informationen

        221

        Informationen im engeren Sinne stellen Wissensmehrung über vergangene, gegenwärtige sowie zukünftige Ereignisse dar.

        Semiotische Ebenen ● Auf der pragmatischen Ebene werden Signale bzw. Nachrichten unter Einbeziehung der Motive, Zielsetzungen und Zwecke von Sender und Empfänger analysiert und werden zum so genannten zweckoder zielorientierten Wissen. ● Informationen im engeren Sinne sind entscheidungsvorbereitend, d. h. ihr Wert bestimmt sich z. B. durch die Relevanz für eine zu treffende Entscheidung. Erweiterung dieses Ansatzes: ● Eine Information ist nur dann zweckgerichtet, wenn sie eine Entscheidung evoziert. ● Informationen im Sinne der Pragmatik können die Vorstellungen eines Wirtschaftssubjektes über eine reale oder eine abstrakte Welt verändern (neue Informationen) oder bereits verändert haben (bekannte Informationen). ▲ Um ein Datum in eine Information zu wandeln, wird eine bestimmte Grundkenntnis benötigt, die als kognitives Wissen bezeichnet wird. ● Ausgehend von der Annahme, Informationen im engeren Sinne können in ihrer Zweckorientierung identifiziert werden, lassen sich folgende Eigenschaften formulieren: • Informationen sind Güter im ökonomischen Sinn, die entweder auf Märkten gehandelt werden oder unentgeltlich (als öffentliche Güter) zur Verfügung stehen: Körperliche Gegenstände und (immaterielle) Leistungen werden aus ökonomischer Sicht immer dann zu Gütern, wenn – Menschen sie nachfragen, um damit – Bedürfnisse zu befriedigen, die ihnen einen – bestimmten Nutzen stiften. Diese Anforderung trifft auf Informationen im engeren Sinne zu. • Informationen sind eigenständige Güter: Eigenständig ist ein ökonomisches Gut immer dann, wenn zum einen der Zusammenhang erkennbar ist zwischen dem Gut und der daraus resultierenden Bedürfnisbefriedigung (Nutzenmehrung). Zum anderen bedeutet Eigenständigkeit Fungibilität, d. h. Informationen besitzen einen Tauschwert. • Informationen sind i. d. R. knappe Güter: Besteht eine anhaltende Differenz zwischen der Menge von Gütern, die von Wirtschaftssubjekten zur Bedürfnisbefriedigung gewünscht werden, und derjenigen, die vorhanden oder erreichbar ist, so spricht man von Güterknappheit. Zwar ist eine Knappheit für Informationen nicht immer

        222

        5 Daten und Information nachzuweisen, die steigende Bedeutung von Informationen zur richtigen Zeit am richtigen Ort deutet jedoch in jedem Fall auf eine Diskrepanz zwischen Wunsch und Erreichbarkeit (Realisierbarkeit) hin. • Informationen sind materiell nicht abnutzbar (physische Abnutzungsfreiheit): Informationen sind keine Waren im Sinne des klassischen Warenbegriffs, sondern immaterielle Güter, die allerdings immer an einen materiellen Träger gebunden sind. Informationen können somit mehrfach genutzt werden und sind trotzdem dauerhaft vorhanden (z. B. Wetterkarte, Fahrplan). • Informationen sind unteilbar. Informationen können nicht in Einheiten zerlegt werden und anschließend separat verkauft werden (die Hälfte einer Idee ist nutzlos). Informationen müssen also immer vollständig sein. Arbeitsteilige Produktion und Distribution sind aber denkbar. • Informationen kann man nicht „besichtigen“. Der Wert einer Information bleibt für den Nutzer solange unsicher, bis er die Information selbst kennt. Information kann man nicht besichtigen, nicht probeweise benutzen und bei Nichtgefallen wieder gegen Kostenerstattung zurückgeben. ● Informationsparadoxon (Kenneth J. Arrow): Der Nutzen einer Information kann erst dann

        bestimmt werden, wenn sie bekannt ist. Ein ex ante-Kalkül über ein Kosten/Nutzen-Verhältnis ist nicht möglich.

        5.3

        Data Warehouse und Data Mining

        ● Neben den Informations- und Kommunikationssystemen für die Steuerung und Abwicklung der Wertschöpfungsprozesse, auch Administrations- und Dispositionssysteme genannt, nehmen Planungsund Kontrollsysteme für das Management eine immer wichtigere Stellung ein. ▲ Zentrale Aufgaben des Informationsmanagements ist die Sicherstellung der zeitgerechten und problemadäquaten Informationsbereitstellung und der Integration aller betrieblichen Informationssysteme (IS). Insbesondere die Sicherstellung der vertikalen Integration, welche die operativen Datenbestände für Planungs- und Analyseaufgaben zugänglich machen soll, wird durch die Entwicklung des „Data Warehouse“ gefördert. ▲ Bereinigte und aufbereitete Unternehmensdaten werden für vielfältige Analysezwecke zur Verfügung gestellt und ermöglichen nicht nur eine freie Navigation durch den Datenbestand, sondern auch den Einsatz von unterschiedlichen Verfahren zur Datenmustererkennung, die unter dem Sammelbegriff „Data Mining“ zusammengefasst werden. Ausgangspunkt für die Sammlung, Speicherung und Analyse unternehmensinterner und unternehmensexterner Daten ist das Bestreben, mit entscheidungsrelevanten Informationen das Management zu unterstützen.

        5.3.1

        Managementunterstützungssysteme

        ● Der Manager muss vielfältige Planungs- und Entscheidungsaufgaben wahrnehmen, um seiner gestaltungs- und steuerungsorientierten Führungsrolle gerecht zu werden. Als zentrales Erfolgskriterium erweist sich hierbei der zielgerichtete Einsatz der Informations- und Kommunikationstechnologie. Aus diesem Grund ist es unverzichtbar, den Manager mit angemessenen und wirksamen Hilfsmitteln bei seiner Aufgabenerfüllung zu unterstützen. ▲ Managementorientierte Informations- und Kommunikationssysteme (IuK-Systeme), die sich unter dem Oberbegriff Management Support Systems (MSS) bzw. Managementunterstützungssysteme (MUS) zusammenfassen lassen, weisen ein hohes Leistungsvermögen auf und finden breite Verwen-

        5.3 Data Warehouse und Data Mining

        223

        dung. Der Aufbau und die Beurteilung von MUS orientierten sich an einem Anforderungsprofil, das sich aus der Organisation, den Aufgaben und den Prozessphasen des Managements ableiten lässt:

        a) Organisation, Aufgaben und Phasen im Management ● Allgemein lässt sich Management als zielorientierte Gestaltung und Steuerung sozialer Systeme verstehen. Auf Unternehmen bezogen umfasst diese Definition alle Tätigkeiten, die der Steuerung des betrieblichen Leistungsprozesses dienen und dabei planender, organisierender und kontrollierender Art sein können. Als unverzichtbarer Rohstoff bei diesen Tätigkeiten erweisen sich die verfügbaren planungs- und steuerungsrelevanten Informationen. Aus diesem Blickwinkel ist Management als Transformation von Informationen in Aktionen aufzufassen. ● Daneben ist eine personenbezogene Verwendung des Begriffs gebräuchlich (Management im institutionellen Sinne). Das Management bildet dann die begriffliche Zusammenfassung der unternehmerischen Führungs- und Leitungskräfte. Innerhalb des Managements werden häufig die drei Ebenen des Top-, Middle- und Lower-Managements voneinander abgegrenzt, denen • strategische (langfristigen Unternehmenspolitik und Zielkonzeption) und • operative Aufgaben (Übersetzung der Unternehmensziele in konkrete Vorgaben, Programme und Regeln) zugeordnet sind. ● Eine grundsätzliche Einteilung der Managementaufgaben sieht die Unterscheidung zwischen außergewöhnlichen, z. T. einmaligen Strukturierungsaufgaben bzw. -entscheidungen und laufenden Koordinationsaufgaben vor. Koordinationsaufgaben wie Motivation und Führung von Personen, Planung, Entscheidung und Kontrolle, die dem operativen und taktischen Management zuzurechnen sind, bestimmen die Aktionen des Entscheidungsträgers und können nach • Personalaufgaben (verhaltensorientiertes Mangement) und • Sachaufgaben (verfahrensorientiertes Management) gegliedert werden. Grundsätzlich werden in einem Phasenschema die zu durchlaufenden Stadien in ihrer zeitlichen Abfolge angeordnet und phasenorientiert als Prozesskette dargestellt. Beispielhaft können die Phasen für Managementprozesse in folgendes Grobschema eingeteilt werden: • Situationsanalyse, • Planung, • Realisierung und • Kontrolle.

        b) Problemstruktur von Managementaufgaben ● Das Aufgabenspektrum der unteren Managementebenen ist durch einen genau definierten Ablauf des Entscheidungsvollzugs mit eindeutigen unternehmensinternen und/oder -externen Verfahrensvorschriften (Programmen) gekennzeichnet, da hier in erster Linie wiederkehrende Routineentscheidungen anstehen. Derartige Aufgabenstellungen bzw. Entscheidungen werden als strukturiert (oder programmierbar) bezeichnet. ● Die in höheren Managementebenen gegebenen Aufgaben und zu treffenden Entscheidungen dagegen sind oftmals vollkommen neuartig, von komplexer Struktur oder aber von erheblicher Bedeutung für die Unternehmung. Aus diesen Gründen erweisen sich standardisierte Verfahren bei der Aufgabenbearbeitung und Entscheidungsfindung zumeist als ungeeignet. Vielmehr ist hier oftmals eine maßgeschneiderte Vorgehensweise bei der Problemlösung angebracht. Kreativität und Innovationsfähigkeit des Entscheidungsträgers sind daher besonders gefordert. Derartige Aufgabenstellungen und Entscheidungen werden unstrukturiert (oder nicht-programmierbar) genannt und setzen umfangreiches Know-How sowie große Erfahrung voraus.

        224

        5 Daten und Information

        ● Zwischen den Extrempositionen der strukturierten und unstrukturierten Probleme und Entscheidungen ist ein breites Spektrum mit teil- oder semi-strukturierten Problemen und Entscheidungen angesiedelt. Die hier anstehenden Probleme und Entscheidungen, die oftmals von Managern der taktischen Ebene zu bearbeiten bzw. zu fällen sind, weisen eine oder mehrere, nicht jedoch ausschließlich unstrukturierte Phasen auf. Eine Problemlösung in dieser Sparte lässt sich folglich nicht vollständig automatisieren, vielmehr erweist sich der Einsatz der kognitiven Fähigkeiten des Managers als unerlässlich. ▲ Die Anforderungen an Managementunterstützungssysteme lassen sich demnach an folgenden Kriterien messen: • Systemumfeld (Struktur des Realproblems, Managementebene, Managementphase), • Systembestandteile, Systemaufbau (IS-Architektur und IS-Komponenten), • Systementwicklung (Vorgehensmodelle), • Systemnutzung, Systembetrieb (Einsatzarten). Eine vollständige Abdeckung aller hieraus erwachsenden Anforderungen in einem Unterstützungssystem ist nicht möglich, daher sind unterschiedliche Teilsysteme entstanden. Drei wesentliche Klassen von Informationssystemen bilden die Basis für Managementunterstützungssysteme: • Management Information Systems (MIS), • Decision Support Systems (DSS) und • Executive Information Systems (EIS).

        c) Management Information Systems ● Seit den 60er-Jahren wuchs mit dem Aufkommen umfangreicher Dialog- und Transaktionssysteme und der elektronischen Speicherung großer betrieblicher Datenmengen die Nachfrage nach automatisch generierten Führungsinformationen. Der Aufbau von Management Information Systems (MIS) wurde mit dem Ziel gestartet, aus der vorhandenen Datenbasis Informationen abzuleiten, um diese direkt in Planungs- und Kontrollprozesse einfließen zu lassen. ▲ Im besten Fall leisteten diese frühen MIS allerdings lediglich eine Automatisierung der bestehenden

        ex-post-orientierten Standardberichte. Das Ergebnis für den Nutzer war ein umfangreiches Listenwesen, das als „Information Overload“ angesehen wurde und die Analyse relevanter Informationen nicht unterstützte. Eine zweckgerichtete Vorverdichtung dagegen unterblieb in den meisten Fällen. ▲ Die fehlende Interaktivität und Dialogorientierung der frühen MIS sind ein zentraler Kritikpunkt

        an dieser Systemkategorie. Ein weiteres Defizit kann in der Ermangelung von Modellen und von algorithmischen Problemlösungsverfahren gesehen werden. Ein Einsatz über die dem Entscheidungsprozess nachgelagerte Kontrollphase hinaus ist damit nicht sinnvoll. Zusammenfassend lässt sich festhalten: ● Management Information Systems sind EDV-gestützte Systeme, die Managern verschiedener Hierarchieebenen erlauben, detaillierte und verdichtete Informationen aus der operativen Datenbasis ohne eigene Modellbildung und logisch-algorithmische Bearbeitung zu extrahieren. Auch teilautomatisierte Berichtssysteme oder Anwendungssysteme auf Datenbanken werden zuweilen als MIS bezeichnet.

        d) Decision Support Systems ● Eine weitere Kategorie der Managementunterstützungssysteme bilden die Decision Support Systems (DSS) bzw. Entscheidungsunterstützungssysteme (EUS), welche die im vorigen Abschnitt erkannten Schwachpunkte durch eine Abbildung des Verhaltens von Entscheidungsträgern bei der Lösung von Fachproblemen zu vermeiden suchen. Nicht die reine Datenversorgung der Endbenutzer steht im Vordergrund, sondern die effektive Unterstützung im Planungs- und Entscheidungsprozess mit dem Ziel, das Urteilsvermögen des Anwenders und dadurch die Entscheidungsqualität zu verbessern.

        5.3 Data Warehouse und Data Mining

        225

        ▲ Als interaktive EDV-gestützte Systeme streben die DSS an, dem Entscheidungsträger im Sinne einer

        Assistenz mit Modellen, Methoden und problembezogenen Daten bei der Lösung von Teilaufgaben in eher schlecht-strukturierten Entscheidungssituationen zu helfen. ▲ Zur Klasse der Decision Suppport Systems zählen Programme zur mathematischen Optimierung,

        zur Simulation und zur Tabellenkalkulation. An letzteren begründet sich die Kritik an der Systemkategorie: Durch die lokale Speicherung der Logik und der Daten wird die Autonomie des Endbenutzers zwar vergrößert, allerdings erschwert sie die Integration der Systeme in ein unternehmensweites Anwendungssystemkonzept. ▲ Bei erkanntem Problemlösungsbedarf und eingegrenztem Problemumfang leisten DSS gute Dienste

        beim Aufbau von Entscheidungsmodellen und der Generierung und Bewertung von Alternativen.

        e) Executive Information Systems ● Als weniger geeignet gelten DSS in der Situationsanalyse, wo Problemerkennung und Wahrnehmung von (schwachen) Signalen im Vordergrund stehen. Auf diese Managementphase und auf die strategischen Führungsebenen zielen die Systeme, die unter den Bezeichnungen Executive Information Systems (EIS), Chefinformationssysteme (CIS) oder Führungsinformationssysteme (FIS) eingesetzt werden. Über die reine Versorgung mit relevanten Informationen zur Selektion und Analyse bieten EIS auch eine Kommunikationsunterstützung auf der Basis intuitiv benutzbarer und individuell anpassbarer Benutzeroberflächen. ▲ Durch Techniken wie Drill-Down (disaggregierende Informationsanalyse) und Exception Reporting (Ausnahme-Berichtswesen) werden (soweit das Datenmodell es zulässt) frei navigierbare Suchpfade und automatisierte Abweichungsanalysen verfügbar. ● Executive Information Systems sind rechnergestützte, dialog- und datenorientierte Informationssysteme für das Management, die dem Entscheidungsträger (oder Gruppen von Entscheidungsträgern) aktuelle entscheidungsrelevante interne und externe Information ohne Entscheidungsmodell zur Selektion, Analyse und Kommunikation in intuitiv benutzbaren und individuell anpassbaren Benutzeroberflächen anbieten. ■ In Anlehnung an die Organisationspyramide der strategischen, taktischen und operativen Aufgabenwahrnehmung werden die Informationssysteme für die Managementunterstützung diesen Ebenen zugeordnet: Executive Information Systems s

        Decision Support

        tem

        sys

        on ati m s r o inf ystem s

        Management

        n

        tio

        uk

        d Pro b

        rie

        rt Ve

        Einkauf

        F u. E

        Lager

        Administrationsund Dispositionssystemer

        Organisationspyramide der Informationssysteme für die Managementunterstützung

        226

        5 Daten und Information

        ● Insgesamt lassen sich nach herkömmlichem Begriffsverständnis die beschriebenen Systemkategorien der MIS, DSS und EIS den Management Support Systems (MSS) zuordnen, die alle Arten der elektronischen Unterstützung betrieblicher Entscheidungsträger bei der Abwicklung anfallender Aufgaben umfassen. Hinzu kommen weitere Basissysteme wie Bürosysteme, Workflowmanagementsysteme oder Projektmanagementsysteme. Management Support Systeme (MSS)

        Basissysteme Textverarbeitung Grafik Terminplanung

        Decision Support Systeme (DSS)

        Executive Information Systeme (EIS) Communication Support Kommunikation E-Mail, ...

        Data Support

        StandardReporting MIS

        Ad-hocReporting

        Decision Support Simulation Prognose Optim. / DM

        Einteilung der Management-Support-Systeme ● Eine nach Personengruppen spezifische Klassifikation betrieblicher Informationssysteme ist nicht mehr zeitgemäß. Als sinnvoller erweist sich dagegen eine tätigkeitsorientierte Unterteilung der Systeme nach der Art der unterstützten Arbeitsinhalte. Grob lassen sich hier die Klassen der operativen und der dispositiven bzw. analytischen Aufgaben voneinander abgrenzen. ▲ Systeme, die mit einer ausgeprägten Transaktionsorientierung auf eine Unterstützung operativer Anwendungsfelder ausgerichtet sind, leisten heute in jeder Unternehmung unverzichtbare Dienste. So werden in Administrationssystemen die Leistungsprozesse einer Unternehmung zur Dokumentation und Bewertung abgebildet. ▲ Weiterhin können die Dispositionssysteme die Steuerungs- und Lenkungsaufgaben im Falle klar strukturierter Entscheidbarkeit und Delegationsfähigkeit übernehmen, den OLTP-Systemen (On-Line Transaction Processing) zugerechnet werden. ▲ Im Gegensatz hierzu haben sich analytische Informationssysteme herausgebildet, die sich aus folgenden Bestandteilen zusammensetzen: • unternehmensweiter, entscheidungsorientierter Datenpool, mit dem sich die unterschiedlichen analytischen Aufgaben wirksam unterstützen lassen und der als Data Warehouse bezeichnet werden kann, • Werkzeuge zur Entscheidungsunterstützung, die eine mehrdimensionale Datenanalyse nach dem Konzept des On-Line Analytical Processing (OLAP) eröffnen, sowie • Techniken und Verfahren, die ein Auffinden von bislang verborgenen Mustern und Strukturen in umfangreichen Datenbeständen (Data Mining) ermöglichen.

        5.3.2

        Data Warehouse und On-Line Analytical Processing

        ● Unter einem Data Warehouse wird ein unternehmensweites Konzept verstanden, dessen Ziel es ist, eine logisch zentrale, einheitliche und konsistente Datenbasis für die vielfältigen Anwendungen zur Unterstützung der analytischen Aufgaben von Fach- und Führungskräften aufzubauen, die losgelöst von den operativen Datenbanken (deren Datenbestände sich laufend verändern) betrieben wird.

        5.3 Data Warehouse und Data Mining

        227

        ▲ Aufgabe und Bestandteil des Gesamtkonzeptes ist es, atomare Daten aus heterogenen operativen

        Vorsystemen systematisch zusammenzuführen und zu speichern. Aus diesem Grund werden periodische oder Ad-hoc-Verbindungen aufgebaut, um die relevanten Daten zu extrahieren. Durch vielfältige Aufbereitungsmechanismen werden diese gesäubert und entsprechend den Anforderungen strukturiert abgelegt. Die Integration der Daten in einem System führt dazu, dass ein gleichartiger Zugriff auf ein sehr breites inhaltliches Spektrum ermöglicht wird, was einen leicht verständlichen Zugang für den Endbenutzer entscheidend begünstigt. Da im Idealfall alle analyseorientierten Anwendungen eines Unternehmens mit diesen Daten arbeiten, gibt es nur eine „Version der Wahrheit“, d. h., dass in unterschiedlichen Berichten und Auswertungen auch abteilungsübergreifend keine abweichenden Zahlen vorkommen können. ▲ Zentrales Erfolgskriterium beim Aufbau von Data Warehouse-Konzepten ist der Nutzen für den

        analysierenden und planenden Anwender. Aus diesem Grund ist neben dem leichten, intuitiven Zugang besonderes Augenmerk auf hohe Flexibilität und Schnelligkeit bei der Bearbeitung von Endbenutzerabfragen zu legen. Die ausgeprägte Anwenderorientierung bedingt eine generelle Ausrichtung, die sich viel stärker an den Analysebedürfnissen denn an einer Transaktionsverarbeitung – wie bei den operativen Systemen gebräuchlich – orientiert. ● Abweichend von den Daten der operativen Systeme lassen sich für die im Data Warehouse abgelegten Informationseinheiten die vier idealtypischen Merkmale Themenorientierung, Vereinheitlichung, Zeitorientierung und Beständigkeit formulieren: Themenorientierung ● Die Informationseinheiten in einem Data Warehouse sind auf die inhaltlichen Kernbereiche der

        Organisation fokussiert. Dahingegen sind die applikations- bzw. prozessorientierten Konzepte der operativen DV-Anwendungen auf eine effiziente Abwicklung des Tagesgeschäftes ausgerichtet und damit kaum dazu geeignet, Entscheidungen zu unterstützen. Im Data Warehouse-Umfeld erfolgt eine Konzentration auf inhaltliche Themenschwerpunkte, wie z. B. Produkte und Kunden. Operative Daten, die lediglich für die Prozessdurchführung wichtig sind und nicht der Entscheidungsunterstützung dienen, finden keinen Eingang in ein Data Warehouse. Vereinheitlichung ● Ein zentrales Merkmal des Data Warehouse-Konzeptes ist, dass die Daten vereinheitlicht werden,

        bevor ihre Übernahme aus den operationalen Systemen erfolgt. Diese Vereinheitlichung kann verschiedene Formen annehmen und bezieht sich häufig auf Namensgebung, Bemaßung und Codierung. Das Ziel dieser Vereinheitlichung ist ein konsistenter Datenbestand, der sich stimmig und akzeptabel präsentiert, selbst wenn die Datenquellen große Heterogenität aufweisen. Zeitorientierung ● Die Zeitorientierung der in einem Data Warehouse abgelegten Informationseinheiten dokumentiert

        sich auf unterschiedliche Arten: • Zunächst ist hier – im Gegensatz zu operativen Anwendungen, die mit präziser Aktualität im Moment des Zugriffs aufwarten – lediglich eine zeitpunktbezogene Korrektheit gegeben, bezogen auf den Zeitpunkt des letzten Datenimports. Jeder Import bietet folglich einen Schnappschuss des Unternehmensgeschehens. Selbst der neueste Schnappschuss kann zum Zeitpunkt der Nutzung durch den Anwender Stunden, Tage oder gar Wochen alt sein. • Dieser zunächst als Manko des Ansatzes erscheinende Umstand erklärt sich jedoch aus den Nutzungsformen: Anwendungsschwerpunkte sind in der Analyse von Zeitreihen über längere und mittlere Zeiträume (Wochen-, Monats- oder Jahresbetrachtungen) gegeben. Entsprechend reichen für diese Auswertungen Informationen mit mäßiger Aktualität vollkommen aus.

        228

        5 Daten und Information

        Beständigkeit ● Die beständige Bevorratung von Zeitreihendaten über lange Zeiträume hinweg erfordert durch-

        dachte, anwendungsgerechte Aggregationsverfahren und optimierte Speichertechniken, um den Umfang des zu speichernden Datenmaterials und damit die Zeit in Grenzen zu halten, die für einzelne Auswertungen und Abfragen benötigt wird, in Grenzen zu halten. ● Die inhaltliche Ausrichtung des Data Warehouse lässt sich damit unter Aufgabengesichtspunkten wie folgt zusammenfassen: ● Ein Data Warehouse hat die Aufgabe, themenorientierte und integrierte (i. S. v. vereinheitlichte)

        Informationen über lange Zeiträume und mit Zeitbezug zur Unterstützung von Entscheidern aus unterschiedlichen Quellen periodisch zu sammeln, nutzungsbezogen aufzubereiten und bedarfsgerecht zur Verfügung zu stellen.

        Data Marts

        Front-End-Werkzeuge

        Externe Daten

        OLAP Server

        Data Mining

        Zentrales Data Warehouse

        Operative Informationssysteme

        Data Warehouse ● Die einem Data Warehouse zugeordneten Elemente lassen sich in einer Referenzarchitektur anordnen. Neben den zentralen Data Warehouse-Bausteinen sind Data Marts, d. h. personengruppen- oder funktionsbereichsspezifische Datenbestände, die häufig als OLAP-Server (siehe nachfolgender Abschnitt) aufgebaut sind, und Data Mining-Komponenten zu finden. Darüber hinaus lassen sich auch FrontEnd Tools (Tabellenkalkulation, Reportgeneratoren) auf der Endbenutzerseite zu den analytischen Informationssystemen rechnen. Unterschieden wird zwischen • Komponenten, welche die Endbenutzersichtweise betreffen und als externe Ebene der Systemkategorie bezeichnet werden können (wie Zugriffs- und Präsentationsformen) und • Komponenten, die stärker die interne Funktionsweise bestimmen (wie Update-Verfahren, Speichertechniken und Algorithmen). ● Darüber hinaus sind auch die Ansätze der semantischen Datenmodellierung von besonderer Bedeutung (konzeptionelle Ebene). Für die betriebswirtschaftliche Interpretation operativer Daten sind Transformationsprozesse notwendig, die sich aus Filterung, Harmonisierung, Verdichtung und Anreicherung zusammensetzen: • Filterung stellt die Extraktion aus den operativen Daten und die Bereinigung syntaktischer oder inhaltlicher Defekte in den zu übernehmenden Daten dar. • Harmonisierung bezeichnet den Prozess der betriebswirtschaftlichen Abstimmung gefilterter Daten. • Verdichtung ist die Aggregation gefilterter und harmonisierter Daten. • Anreicherung gilt dem Aufbau und der Speicherung betriebswirtschaftlicher Kenngrößen aus gefilterten und harmonisierten Daten.

        5.3 Data Warehouse und Data Mining

        229

        Anreicherung

        Verdichtung Harmonisierung Filterung

        Extrakt

        Extrakt

        Extrakt

        Operative Vorsysteme

        Der Transformationsprozess ● Wesentliche Aspekte für den Transformationsprozess operativer Daten in ein Data Warehouse sind die Festlegung der Datenquellen, der Granularitätsstufe (kleinste zu übertragende Informationseinheiten) und der Update-Periodizität (Frequenz der Ladevorgänge). Für diese automatisierbaren Vorgänge gibt es Werkzeuge (ETL Tools: Extraktion, Transformation, Laden). Für die technische Ausgestaltung der Gewinnung der Daten aus den operativen Systemen und deren Aufbereitung für das Data Warehouse sind verschiedene Konzepte denkbar, die durch die Art der Aktivitäten zur Datengewinnung charakterisiert werden können: • Techniken, bei denen die operativen Systeme Daten unmittelbar oder über einen Import-Puffer in das Data Warehouse „schieben“ („push-Techniken“). • Techniken, bei denen Funktionen des Data Warehouse die Daten aus den operativen Systemen holen, und dabei entweder unmittelbar auf die originären Daten oder auf dafür bereitgestellte Exportdaten zugreifen („pull-Techniken“). • Techniken, bei denen eine separate Komponente („Middleware“) die Datengewinnung steuert und, je nach Mächtigkeit dieser Komponente, Transformationsfunktionen ausführt. ● Die Steuerung der Datenübernahme muss sich an den Metadaten (semantische Beschreibung der Datenbestände) orientieren, damit nicht nur Datenänderungen, sondern auch Strukturänderungen (z. B. bei Änderungen von Produktgruppenzuordnungen für Konzernzugehörigkeiten) in den operativen Datenbeständen automatisch in das Data Warehouse übernommen werden. Neben der Datenversorgung bilden die Datenspeicherung und der schnelle Datenzugriff die Hauptanforderungen an die interne Ebene eines Data Warehouse. ▲ Für sehr große Datenbestände (Terabytes) müssen speziell optimierte Verfahren der Datenorga-

        nisation (z. B. Bitindizierung) in Verbindung mit Multiprozessorsystemen eingesetzt werden, um vertretbare Antwortzeiten sicherzustellen. Bei geringeren Datenvolumina (20-30 Gigabytes) können für den Aufbau von Data Marts folgende OLAP-Techniken eingesetzt werden:

        a) On-Line Analytical Processing (OLAP) ● Der Begriff On-Line Analytical Processing (OLAP) ist in bewusster Abgrenzung zum On-Line Transaction Processing (OLTP) gebildet worden. OLAP ist als Katalog folgender Forderungen zu sehen: • Unterstützung bei dynamischen Unternehmensanalysen durch Generierung, Manipulation und Synthese von Informationen aus einem Unternehmensdatenmodell, • Aufdeckung von Abhängigkeiten zwischen Variablen,

        230

        5 Daten und Information • Verfügbarmachung von Speicher- und Zugriffskonzepten für große multidimensionale Datenbestände und • Bereitstellung von Operatoren zur Definition und Manipulation von beliebig vielen (Betrachtungs-) Dimensionen und Konsolidierungshierarchien.

        ● OLAP bietet einen anwenderorientierten Gestaltungsrahmen für den Aufbau von analytischen Informationssystemen, der es dem Benutzer ermöglichen bzw. erleichtern soll, selbständig, rasch und mit geringem Aufwand sowohl individuelle Ad-hoc-Auswertungen als auch komplexe betriebswirtschaftliche Analysen durchzuführen. ▲ Aufgrund der Konsistenzforderung (Redundanzvermeidung) an operative, meist relationale Da-

        tenbanken werden die Datenbestände in eine Vielzahl von flachen Tabellen aufgeteilt (Normalisierung), sodass der gelegentliche Nutzer seine ganzheitliche Sicht auf Informationsobjekte nur schwer konstruieren kann. Häufig wird der Begriff „Business Intelligence“ herangezogen, um zu verdeutlichen, dass mit einer Ablage und einer variablen Verknüpfung ganzheitlicher betriebswirtschaftlicher Bezugsgrößen das Wissen um Status und Entwicklung von Geschäftsobjekten entsteht. Nachfolgende 12 Regeln beschreiben das OLAP-Konzept: 1. Mehrdimensionale konzeptionelle Sichten: ● Entgegen der eindimensionalen Sicht auf Informationsobjekte in relationalen Datenbanken muss die konzeptionelle Sicht für eine betriebswirtschaftliche Analyse naturgemäß mehrdimensional sein. ▲ Betriebswirtschaftliche Bezugsgrößensysteme charakterisieren Maßzahlen nach Grundmessgrößen und Bezugsmessgrößen, d. h. sie werden aufgegliedert und differenziert. Kosten- und Umsatzgrößen sind nur im Kontext ihres Bezuges auf Kunden, Produkte, Regionen, etc. aussagekräftig. OLAPSysteme müssen diesem Umstand Rechnung tragen, indem sie jene Bezugsgrößen als Dimensionen speichern und die Beziehungen zu den zugehörigen quantitativen Maßzahlen herstellen. ▲ Die wesentliche Abfragetechnik von OLAP-Systemen besteht infolgedessen aus Manipulationen in einem mehrdimensionalen Datenraum. Durch die Deklaration des gewünschten Abfrageergebnisses wird die Extraktion beliebiger. ● Relationale Datenbanken sind in flachen Tabellen mit Sätzen und Feldern organisiert, multidimensionale Datenspeicher (OLAP) verwalten Dimensionen und mit diesen Dimensionen indizierte Fakten, auch als Hyperwürfel bekannt. Ein Datenwürfel ist dabei definiert als eine multidimensionale Strukturbeschreibung (Strukturelle Daten bzw. Dimensionen) und den diesen Strukturen zugeordneten Datenelementen (Materielle Daten bzw. Fakten): Materielle Daten

        Strukturelle Daten

        ▲ Für Analysezwecke muss die Möglichkeit gegeben werden, sich intuitiv in dem Datenwürfel zu bewegen und beliebige Projektionen (Schnitte) zu bilden, um Informationen zu vergleichen und Berichte zu erstellen (slicing und dicing). Damit liefert ein OLAP-System die Grundfunktionalitäten für oben genannte Executive Information Systems.

        5.3 Data Warehouse und Data Mining

        231

        2. Transparenz: ● Transparenz bezieht sich in diesem Zusammenhang primär auf die technische Realisierung der Analysekomponenten. Werkzeuge, die dem OLAP-Prinzip entsprechen, sollten sich problemlos in die offene Architektur der Benutzerumgebung einbetten lassen. Hierbei muss eine möglichst homogene Benutzeroberfläche mit allen notwendigen Funktionalitäten geschaffen werden. Doch auch die logische Transparenz über die herangezogenen Datenquellen ist für die Interpretation der Analysen notwendig. 3. Zugriffsmöglichkeit: ● Durch eine offene Architektur der Systeme soll der Datenzugriff auf möglichst viele heterogene unternehmensinterne und unternehmensexterne Datenquellen und Datenformate unterstützt werden (mapping). Da diese Daten die Basis eines umfassenden analytischen Datenmodells bilden, sind eine Reihe von Datenkonvertierungen notwendig. ▲ Nur so ist für den Anwender eine einheitliche, konsistente Datensicht zu gewährleisten. OLAPfähige Produkte sollten sich selbständig Zugang zu den unterschiedlichen Datenhaltungssystemen verschaffen können. 4. Gleichbleibende Berichtsleistung: ● Ein wichtiger Aspekt für die Nutzung eines OLAP-Systems ist die Stabilität der Antwortzeiten und die gleich bleibende Berichtsleistung bei Datenabfragen. Selbst bei überproportionaler Zunahme der Anzahl der Dimensionen und/oder des Datenvolumens sollten die Anwendungen keine signifikanten Änderungen der Antwortzeiten aufweisen. 5. Client-Server-Architektur: ● Die Mehrzahl der benötigten Daten befindet sich auf Großrechnersystemen und muss zur Analyse auf Arbeitsplatzrechner verlagert werden. Aus diesem Grund müssen OLAP-Produkte in der Lage sein, in Client-Server-Umgebungen zu operieren. ▲ Es muss sowohl eine verteilte Programmausführung als auch eine verteilte Datenhaltung möglich sein. Verteilte Datenquellen sollten beliebig integriert und aggregiert werden können. 6. Grundprinzipien der gleichgestellten Dimensionen: ● In ihrer Struktur sollten die Dimensionen mit ihren Verwendungsmöglichkeiten übereinstimmen. Dabei existiert ein einheitlicher Befehlsumfang zum Aufbauen, zur Strukturierung, Bearbeitung, Pflegen und Auswertung der Dimensionen. 7. Dynamische Speicherverwaltung dünnbesetzter Matrizen: ● Ein spezielles Problem multidimensionaler Datenmodelle stellt der Besetzungsgrad der Würfel (Matrizen) dar. Für betriebswirtschaftliche Matrizen sind geringe Besetzungsgrade (unter 10 %) üblich. Diese typischen Lücken in den Würfeln müssen durch eine optimale Datenspeicherung effizient gehandhabt werden, ohne die mehrdimensionale Datenmanipulation zu beeinträchtigen. Durch die Anwendung unterschiedlicher Datenorganisationsformen wird ein optimales physikalisches Speicherschema angestrebt. 8. Mehrbenutzerfähigkeit: ● Die Daten müssen einer Gruppe von Benutzern gleichzeitig für Analysezwecke zur Verfügung stehen. Der Mehrbenutzerbetrieb ist eine Grundforderung an ein OLAP-System. Damit verbunden ist auch ein Sicherheitskonzept, das dem Datenbankadministrator die Möglichkeit gibt, den Datenzugriff und die Datenverfügbarkeit für verschiedene Benutzer unterschiedlich stark zu begrenzen.

        232

        5 Daten und Information

        9. Unbeschränkte kreuzdimensionale Operationen: ● Über die verschiedenen Dimensionen hinweg werden Operationen für eine differenzierte Datenanalyse, z. B. zur Kennzahlenberechnung oder zur Konsolidierung benötigt. Grundvoraussetzung für diese Forderung ist eine vollständige, integrierte Datenmanipulationssprache und Systemoffenheit in Bezug auf die Abfragemöglichkeiten. 10. Intuitive Datenmanipulation: ● Eine einfache und ergonomische Benutzerführung und Benutzeroberfläche sollen das intuitive Arbeiten in der Datenbasis erleichtern. ■ Beispielsweise muss für den Anwender die Adressierung von Daten im multidimensionalen Raum und ein einfacher „Drill-Down“ in weitere Detaillierungsebenen ohne Lernaufwand möglich sein. Hierfür sorgt der direkte Zugriff auf die Menge der Dimensionselemente, die er sachbezogen zu neuen Konsolidierungsgruppen und Hierarchiebäumen zusammenstellen kann. 11. Flexibles Berichtswesen: ● Aus dem multidimensionalen Datenmodell müssen leicht und flexibel aussagekräftige Berichte generiert werden können. Das System soll den Benutzeranforderungen entsprechend dynamische (Ad-hoc-)Berichte und Grafiken bieten. 12. Unbegrenzte Dimensions- und Aggregationsstufen: ● Von einem OLAP-System wird verlangt, eine unbegrenzte Anzahl an Dimensionen, Relationen und Variablen innerhalb einer einheitlichen Datenbank zu bieten. Zusätzlich soll keine Einschränkung in Bezug auf die Anzahl und die Art der Aggregation von Daten bestehen. ● Die aufgeführten 12 Regeln werden häufig auch zusammengefasst zum Begriff FASMI (Fast Analysis of Shared Multidimensional Information). • Fast: 1–2 Sekunden als Antwortzeit bei einfachen Abfragen, bis maximal 20 Sekunden für komplexe Datenanalysen • Analysis: Verfahren und Techniken zu einfachen mathematischen Berechnungen und Strukturuntersuchungen • Shared: Schutzmechanismen für den Zugriff im Mehrbenutzerbetrieb • Multidimensional: Multidimensionale konzeptionelle Sicht auf Informationsobjekte, d. h. ohne Spezifikation der Datenbanktechnologie ist sicherzustellen, dass der Anwender freien Zugriff auf einen Datenwürfel hat und multiple Berichtshierarchien über die Dimensionen legen kann. ● Für die technische Umsetzung der aufgeführten Regeln gibt es mehrere Realisierungsansätze zur Erreichung der geforderten OLAP-Funktionalität: • Die erste Architekturvariante arbeitet mit virtuellen multidimensionalen Datenbanken, benutzt also prinzipiell weiterhin die relationale Datenhaltung mit flachen Tabellen und kann als ROLAP (Relationales OLAP) bezeichnet werden. Die mehrdimensionale Analyse liefert dann einen virtuellen Würfel, wenn die Relationen (Tabellen) mit zusammengesetzten Schlüsseln räumlich interpretiert werden. Dabei entspricht jede Schlüsseldomäne einer Dimension. Die logische Modellierung dieser Mehrdimensionalität geschieht durch so genannte Star-Schemata. Die notwendige Transformation aus den Relationen in die Würfelsicht stellt ein Hindernis für den Aufbau des Systems dar. Da bei jeder Abfrage der virtuelle Würfel auch dynamisch geladen werden muss, lassen sich aus Performancegründen nur gering dimensionierte Würfel generieren. ● Im Star-Schema werden Dimensionstabellen (DT) einer oder mehreren Faktentabellen (FT)

        zugeordnet. Die Faktentabelle enthält die zu analysierenden Werte bzw. Kennzahlen (z. B. Umsatz bzw. Absatzmenge), die durch jeweils einen Attributwert je Dimension charakterisiert sind. Die sternförmig angeordneten Dimensionstabellen enthalten die für eine Analyse notwendigen

        5.3 Data Warehouse und Data Mining

        233

        Attribute (einschließlich des Schlüsselattributs) und sichern somit den dimensionsweisen Zugang zu den Fakten. ▲ In einem Star-Schema werden alle Fakten in nur einer einzigen Tabelle abgelegt. Gerade wenn

        viele Fakten sehr unterschiedlicher Dimensionierung in einem Data Warehouse zu speichern sind, bringt dies Nachteile mit sich. Da der Primärschlüssel in der Faktentabelle aus den Primärschlüsseln aller Dimensionstabellen zusammengesetzt ist, werden hier unnötig viele Null-Werte in den Dimensionstabellen benötigt, welche demzufolge bei Abfragen mit zu berücksichtigen sind. ▲ Eine nahe liegende Verbesserung liegt in der Aufteilung von Faktentabellen, in welchen jeweils

        nur Fakten gleicher Dimensionierung gespeichert werden. Um die Semantik der einzelnen Fakten besser zu berücksichtigen, können darüber hinaus auch alle Fakten jeweils in einer eigenen Faktentabelle abgelegt werden. Bei dieser Modellierung ergeben sich Galaxien, über die bei einer Analyse navigiert werden kann. Werden zum einen die Dimensionstabellen normalisiert bzw. partitioniert und zum anderen die aggregierten Fakten in Detail-Faktentabellen abgespeichert, so erhält man als Struktur ein Snow-Flake-Schema. DTProdukt DTZeit

        Produkt

        Zeit

        Bezeich. Prod.gruppe Preis

        Monat Jahr level

        FTMain

        DTRegion Region Name KNiederlassung Niederlassung KLand Land level

        Zeit Region Produkt Prod.variante Prod.farbe Kundentyp Vertragstyp

        level

        DTVariante Prod.variante Ausstattung

        DTProd.farbe

        Umsatz IstAbsatzmenge

        Prod.farbe DTVertragstyp

        DTKundentyp

        Farbart

        Vertragstyp

        Kundentyp

        Vertragstyp

        Kundentyp

        Tabellen in ROLAP • Ein zweiter Ansatz ist als MOLAP bekannt und setzt für die Datenanalyse die physikalische Speicherung in einer multidimensionalen Datenbank (MDB) voraus. Hierzu werden proprietäre Datenbanken genutzt, die speziell für OLAP-Zwecke entworfen wurden. Es wird eine Zellstruktur aufgebaut, die jede Zelle bezüglich jeder Dimension indiziert. So erreicht man einen schnellen Zugriff über alle Dimensionen zu den einzelnen Datenwerten. ● Die Größe eines physikalischen Datenwürfels (Anzahl Zellen) entspricht dem Kreuzprodukt

        über alle Dimensionen. Dieser berechnete Speicherbedarf ist jedoch i. d. R. von der Anzahl der tatsächlich zu speichernden Daten sehr verschieden, da es in den Würfeln viele Leerfelderzellen gibt. ▲ Ein wesentliches Qualitätsmerkmal für OLAP-Produkte ist daher der möglichst speicherscho-

        nende Umgang mit den im Würfel enthaltenen Leerzellen. Ein anderes Kriterium ist die Ladezeit beim Update derartiger Würfel. Da die Daten in den Würfeln vielfach indiziert sind,

        234

        5 Daten und Information kann man bei den Ladezeiten mit einer 20 bis 30-prozentigen Zunahme gegenüber vergleichbaren Operationen auf Basis relationaler Datenbanken rechnen. Multidimensionaler "Datenwürfel"

        Produkt

        ProduktmanagementSicht

        ControllingSicht

        P1 P2 Region

        Produkt Umsatz Absatzmenge ...

        Jan. Feb. März ...

        P3 Zeit

        ... ... Ost Mitte

        RegionalmanagementSicht

        Ad-hocSicht

        Region

        Süd

        Zeit

        Schnittebenen im Datenwürfel ● Sowohl der ROLAP- als auch der MOLAP-Ansatz sind dem Client-Server-Computing zuzurechnen,

        wobei die Verteilung der Aufgabenbereiche (Datenhaltung, Berechnung, Präsentation) unterschiedlich gestaltbar ist. In der multidimensionalen Datenanalyse ist der Anwender naturgemäß in der Betrachtung der Informationsobjekte durch das logische Modell (Star-Schema) bzw. den Datenwürfel beschränkt. Über multiple Hierarchiebäume, die auf den Dimensionen gebildet werden, kann auf verschiedenen Aggregationsstufen der multidimensionale Datenwürfel analysiert werden. Dies stellt aber stets einen vom Anwender aktiv betriebenen Vorgang dar, bei dem er nach den Vorstellungen der Executive Information Systems entweder Abweichungsanalysen (Exception Reporting) oder Ursachenanalysen (Drill Down) durchführt. Anders gestaltet sich die Datenanalyse beim Data Mining.

        5.3.3

        Data Mining

        ● In Unternehmungen und Organisationen haben sich in den letzten Jahren große Datenmengen angehäuft, die bisher nur zur gezielten Informationsabfrage und zum Berichtswesen dienten. Man kann sich aber leicht vorstellen, dass in diesen Datenmengen viele versteckte Informationen lagern, die sich nutzbringend einsetzen lassen. Dazu sollen zunächst einige Beispiele dienen: ■ Ein Versandhaus kann gespeicherte Kundendaten nutzen, um die Kunden in verschiedene Käufer-

        klassen einzuteilen. Damit ist eine gezielte Kundenansprache möglich. ■ Eine Bank wird daran interessiert sein, einen neuen Kreditnehmer auf seine Zahlungsfähigkeit zu

        prüfen. Dazu wird versucht, aus den Daten der Kreditnehmer im vorhandenen Datenbestand Regeln abzuleiten, mit denen neue Kreditnehmer als kreditwürdig oder als kreditunwürdig klassifiziert werden können. ■ Als weiteres Beispiel dient die Analyse des Kundenkaufverhaltens in einem Supermarkt. Durch

        Scannerkassen werden hier große Datenbestände aufgebaut, die festhalten, welche Produkte jeweils in einem Warenkorb gekauft wurden. Die Aufgabe besteht darin, Regeln zu finden, welche Produkte zusammen gekauft werden. Mit diesen Regeln lassen sich Marketingstrategien entwickeln, um den Absatz von Produkten zu erhöhen. Solche Analysen werden Assoziationsanalysen genannt.

        5.3 Data Warehouse und Data Mining

        235

        ● Die Methoden, die benutzt werden, um obige Analysen durchzuführen, werden unter dem Begriff Data Mining (DM) zusammengefasst. Data Mining kann als Kernaktivität des umfangreicheren Prozesses Knowledge Discovery in Databases (KDD) aufgefasst werden. Es sollen bisher nicht bekannte Datenmuster und Regeln aus großen Datenbanken hergeleitet werden, d. h. neues, nicht offensichtliches und nutzbares Wissen im Sinne von Beziehungen von Objekten (z. B. Abhängigkeiten) zu- bzw. voneinander. Dieser Erkenntnisprozess stützt sich wissenschaftlich insbesonders auf die Teildisziplinen Expertensysteme und Maschinelles Lernen der Künstlichen Intelligenz. Neben diesen „neueren“ Methoden des maschinellen Wissenserwerbs und der maschinellen Wissensverarbeitung stehen weiterhin die Verfahren der Statistik und der Datenvisualisierung zur Verfügung. Zusätzlich zu diesen logisch deduktiven oder induktiven Komponenten benötigt der KDD-Prozess auch die Deskription der zu untersuchenden Informationsobjekte in Form einer oder mehrerer Datenbanken (Data Warehouse). ● Die Entdeckung von Wissen in umfangreichen Datenbeständen ist ein mehrere Phasen umfassender Prozess. Ein generelles Vorgehensmodell des Knowledge Discovery in Databases ist nicht verfügbar. Im engeren Sinne ist Data Mining lediglich die Phase der algorithmischen Wissensgenerierung aus vorhandenen Daten. Bevor die Data Mining Verfahren angewendet werden können, sind einige Vorbereitungen notwendig. ▲ Zunächst müssen die zu analysierenden Daten ausgewählt werden. ▲ Danach werden die ausgewählten Daten aufbereitet. Zum einen, indem man die Daten bereinigt,

        z. B. fehlende Daten ersetzt, zum anderen, indem man die Daten mithilfe z. B. externer Quellen anreichert. Die Bereinigung der Daten ist die zeitintensivste Tätigkeit. Es wird geschätzt, dass rund 70 % der Zeit des Gesamtprozesses für die Datenaufbereitung benötigt werden. Bestenfalls steht ein Data Warehouse zur Verfügung, welches die entscheidungsrelevanten Unternehmensdaten für die Verfahren des Data Mining bereithält. ▲ Nach diesem Schritt folgt die Festlegung, welche Analysemethode auf welche Attribute angewendet

        werden soll. Dadurch wird auch die notwendige Transformation der Attribute bestimmt. Häufig müssen Attributwerte normiert oder passend skaliert werden. ▲ Nach dem Data Mining-Schritt müssen die Ergebnisse interpretiert und evaluiert werden. Die

        meisten der Zusammenhänge, die solche Verfahren aufdecken, sind trivial und bereits bekannt. Ziel ist jedoch, unbekanntes Wissen zu erkennen. Man spricht hier von „nuggets“, die es zu finden gilt.

        Knowledge-Discovery in Database-Prozess

        236

        5 Daten und Information

        ● Die vorherige Abbildung zeigt nochmals den schematischen Ablauf des KDD-Prozesses. Die gestrichelten Pfeile drücken aus, dass der Prozess phasenbezogene Rücksprünge für Korrekturen und Informationsbeschaffungen zulässt. ● Die Ziele, die mit Data-Mining Methoden verfolgt werden, sind vielfältig und können hier nicht vollständig erläutert werden. Wir werden drei Methoden vorstellen, die Lösungen zu den oben angegebenen Beispielen liefern. Es handelt sich hierbei um Clusterungsverfahren, Verfahren zur Assoziationsanalyse und Klassifikationsverfahren. ▲ Diese Methoden sind Lernverfahren, d. h. der Rechner erlernt selbständig Regeln über den ihm

        vorliegenden Datenbestand. Im Wesentlichen werden zwei Arten von Lernverfahren unterschieden: überwachte Lernverfahren und unüberwachte Lernverfahren. ▲ Klassifikationsverfahren sind typische Repräsentanten überwachter Lernverfahren. Bei diesen wird

        den Datensätzen ein Attribut angefügt, das die jeweilige bekannte Klasseneinteilung des Objektes charakterisiert. Das Verfahren versucht dann Regeln zu finden, aus denen die Klassenzugehörigkeit eines neuen Objektes abgeleitet werden kann.

        a) Clusterverfahren ● Clusterverfahren werden dort angewendet, wo eine Menge von Objekten in Teilklassen eingeteilt werden soll. ■ Als Beispiel sei oben vorgestellte Kundensegmentierung genannt.

        ▲ Für die Einteilung der Objekte in verschiedene Cluster benötigt man Ähnlichkeitsmaße bzw. Verschiedenheitsmaße (Distanzmaße) zwischen den Objekten bzw. den Clustern. Aus Ähnlichkeitsmaßen lassen sich Distanzmaße berechnen und umgekehrt. Es gibt in der Statistik genügend Ansätze für die Berechnung von Distanzen zwischen Objekten. ■ Beispielsweise lässt sich bei numerischen Attributen der bekannte euklidsche Abstand zwischen

        Vektoren wählen. ● Die Methoden der Clusteranalyse lassen sich in partitionierende und hierarchische Verfahren untergliedern. ▲ Der wesentliche Unterschied zwischen diesen Methoden ist, dass bei den partitionierenden Ver-

        fahren die Anzahl der Klassen fest vorgegeben wird und jedes Objekt genau einer der Klassen zugeordnet wird, während bei den hierarchischen Verfahren in jedem Schritt die Klassenzahl verändert wird. Dies geschieht entweder, indem zwei Klassen zu einer neuen Klasse zusammengefasst werden oder indem eine Klasse in zwei disjunkte Klassen aufgeteilt wird. Werden Klassen zusammengefasst, spricht man von einem agglomerativen Verfahren, werden die Klassen aufgespalten, spricht man von divisiven Verfahren. ▲ Durch beide Verfahren entsteht eine Hierarchie der Klassen, die als Baum, ein so genanntes

        Dendrogramm, dargestellt werden kann. Die folgende Abbildung zeigt ein Dendrogramm für einen Datenbestand von fünf Objekten X1; X2; X3; X4 und X5 (z. B. Kunden eines Versandhauses):

        5.3 Data Warehouse und Data Mining

        237

        1 1, 2 2 1, 2, 3, 4, 5 3 3,4 4

        3, 4, 5

        5

        0

        1

        2

        3

        4

        4

        3

        2

        1

        0

        Hierarchie-

        Daten-Dendrogramm ▲ Die obere Zahlenreihe bezieht sich auf die agglomerative Methode, die bedeutet, dass schrittweise gruppiert wird, d. h. beginnend mit n Gruppen, die je nur aus einem Element bestehen, werden bei jedem Schritt je zwei Gruppen zu einer zusammengefasst. Nach n − 1 Schritten sind demnach alle Elemente in einer Gruppe (Cluster) zusammengefasst. ▲ Diesem Verfahren steht die divisive Methode (untere Skala) gegenüber, bei der ausgehend von einer Gruppe, die alle Elemente enthält, schrittweise Untergruppen gebildet werden, bis letztlich n Gruppen mit je einem Element vorliegen. ▲ Die Zusammenfassung bzw. die Aufsplittung der Gruppen erfolgt durch Betrachtung der kleinsten bzw. größten Distanzen der einzelnen Gruppen. ▲ Bei den partitionierenden Methoden wird eine Clusteranzahl mit Mittelpunkten (Zentren) vorgegeben und jedes Objekt wird dann in dasjenige Cluster eingeteilt, zu dem es die geringste Distanz bzw. die größte Ähnlichkeit besitzt. Einige Verfahren berechnen die Clusterzentren jeweils nach Zuordnung eines neuen Objektes. ▲ Stellt man sich die Objekte als Punkte im Raum durch die Attributsvektoren charakterisiert vor, so lassen sich partitionierende Verfahren für Objekte mit zwei Attributen grafisch wie folgt darstellen:

        Attribut A

        Die Clusteranalyse ▲ Die Quadrate stellen jeweils die Clusterzentren dar, die Kreise die Elemente aus dem Datenbestand. Es liegt eine Partitionierung in vier Klassen vor. ■ Ein häufig auftretendes partitionierendes Verfahren ist der k-means-Algorithmus, der die Objekte genau einer Klasse zuordnet. Mittels Fuzzy-Logik kann die hier entstandene „scharfe“ Klasseneinteilung aufgeweicht werden, indem man den Objekten Zugehörigkeitsgrade zu den einzelnen Klassen zuordnet. Das bekannteste Verfahrens ist das FKM-Verfahren (Fuzzy-k-means).

        238

        5 Daten und Information

        ■ Ein weiteres typisches Anwendungsgebiet für die Clusteranalyse ist die Produktsegmentierung im Handel.

        b) Verfahren zur Assoziationsanalyse ● Ein anderes unüberwachtes Lernverfahren ist die Assoziationsanalyse. Wie im obigen Beispiel erwähnt, wird diese Analyse auf Warenkörbe angewendet. Hierbei wird versucht, Regeln in Form von „Wenn Produkt A gekauft wird, dann wird auch Produkt B gekauft“abzuleiten. ▲ Zur Anwendung von derartigen Verfahren ist zunächst eine Transformation der Daten wichtig. Durch die Scannerkassen wird zunächst erfasst, welche Produkte ein Kunde gekauft hat. Um zu einheitlichen und vergleichbaren Datensätzen zu gelangen, wird ein Datenvektor bestehend aus 0 und 1 generiert. Jede Komponente dieses Vektors steht für ein Produkt, eine 1 gibt an, Produkt wurde gekauft, eine 0 gibt an, Produkt wurde nicht gekauft. Folgendes Beispiel soll diese Transformation illustrieren: ■ In einem Geschäft werden die Artikel A, B, C, D und E angeboten. Einem Warenkorb, der die Artikel

        A, C und D beinhaltet, wird der Datenvektor (1;0;1;1;0) zugeordnet. Auf diese Weise erhält man eine Tabelle der folgenden Form, die für fünf Warenkörbe entstanden ist: Tabelle für Warenkorb 1 2 3 4 5

        A B C D E 1 0 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1

        ● Bei den Verfahren zur Assoziationsanalyse werden zwei wichtige Größen benutzt, um die Signifikanz einer Regel „Wenn A dann B“ zu messen. • Das eine ist der Träger (Support) einer Regel. Dieser gibt das Verhältnis an, wie oft die zwei Produkte (hier A und B) gleichzeitig gekauft werden zur Gesamtzahl der Transaktionen. • Die andere Größe ist die Konfidenz. Diese gibt das Verhältnis zwischen der Anzahl der Datensätze an, in denen A und B vorkommen, und der Anzahl der Datensätze, in denen die Prämisse (hier also A) vorkommen, an. ▲ Es entstehen damit Regeln wie: „Wenn B gekauft wird, wird in 75 % der Fälle auch C gekauft. Wenn

        B gekauft wird, dann kommt C in 60 % der Transaktionen vor.“Diese Regel könnte aus obigem Beispiel generiert werden. Mit diesen Größen werden Schranken vorgegeben, damit die Anzahl der gefundenen Regeln gesteuert werden kann. Je größer Träger und Konfidenz, desto wichtiger die Regeln. ▲ Historisch gesehen sind die Verfahren zur Assoziationsanalyse die jüngsten. Erst Anfang der 90er-Jahre sind die ersten Ansätze zur Assoziationsanalyse veröffentlicht worden. ■ Ein weiteres Anwendungsgebiet der Assoziationsanalyse ist im Handel neben der Warenkorbanalyse die Ermittlung zeitlicher Einkaufsmuster.

        c) Klassifikationsverfahren ● Die Klassifikationsverfahren gehören zu den überwachten Lernmethoden. Dabei wird der gesamte Datenbestand in eine Trainingsmenge und eine Testmenge aufgeteilt. Mit den Daten der Trainingsmenge werden Regeln generiert, mit deren Hilfe ein neues Objekt anhand einiger Attribute in die zugehörige Klasse eingeordnet werden kann. Mit den Daten der Testmenge wird die Güte dieser Regeln getestet. ■ Beispielsweise wird untersucht, in wie viel Prozent der Fälle eine richtige Einordnung mit den

        generierten Regeln erfolgt ist.

        5.3 Data Warehouse und Data Mining

        239

        ▲ Eine häufig benutzte Methode zur Klassifikation sind Entscheidungsbaumverfahren. Dabei wird ein Baum konstruiert, an dessen Knoten Entscheidungen zu treffen sind. Jeder Knoten des Baums stellt eine Menge von Datensätzen des Trainingsbeispiels dar. Die Trainingsbeispiele bestehen aus attributiv (numerisch oder nominal) beschriebenen Objekten (Datensätzen) und den Klassenzuordnungen für diese Objekte. Das Konstruktionsverfahren besteht darin, dass ausgehend von einem Wurzelknoten, der alle Objekte enthält, schrittweise nach Merkmalen disjunkt aufgegliedert wird, bis alle Objekte in den Blättern des Baums verteilt sind. Die Blätter des Baums repräsentieren jeweils eine Klasse. Die zu klassifizierenden Objekte werden entsprechend ihrer Attributwerte sukzessiv den Blattknoten zugeordnet. ■ Wir veranschaulichen dieses Verfahren an einem Beispiel: Eine Bank möchte wissen, ob ein Neukunde kreditwürdig ist oder nicht. Dazu gibt es einen Datenbestand, bei dem bestehende Kunden durch einen Datensatz, wie in unten angegebener Tabelle, charakterisiert sind. Dabei bestehen die Datensätze aus dem Attribut Altersgruppe (A, B, C und D) und dem Attribut Familienstand (verheiratet (v) oder ledig (l)) sowie aus einem Klassifizierungsattribut „Kreditwürdig“ (ja (j) oder nein (n)). Klassifikationstabelle 1 2 3 4 5 6 7 100

        Altersgruppe Familienstand Kreditwürdig A v j B l j A l n C v n B v j A l n C v n A

        l

        j

        Im folgenden Entscheidungsbaum sind in den Knoten zunächst die Anzahl der darin enthaltenen Datensätze notiert. Der darunter stehende Vektor (a;b) gibt an, dass a Datensätze die Eigenschaft „kreditwürdig“ und b Datensätze die Eigenschaft „nicht-kreditwürdig“ besitzen. An den Kanten ist jeweils eingetragen, nach welchen Attributwerten aufgesplittet wird. 100 (80,20) B

        A 50 (40,10) v 37 (37,0)

        C

        20 (19,1)

        30 (21,9)

        l

        v

        13 (3,10)

        22 (20,2)

        l 8 (1,7)

        Entscheidungsbaum für Klassifikation Anhand des Baums können Regeln abgelesen werden, wie z. B.: „Wenn ein Kunde aus der Altersgruppe A kommt und verheiratet ist, ist er kreditwürdig.“ ▲ Die Unterschiede in den verschiedenen Entscheidungsbaumverfahren, wie die häufig angewendeten Verfahren „Chaid“ oder „C4.5“, liegen in der Aufsplittung der Datenmengen in den Knoten. Hierfür werden Maße definiert, mit denen versucht wird, eine möglichst große Separation zu erzielen.

        240

        5 Daten und Information

        ▲ Ein neu zu klassifizierendes Objekt wird entlang des Entscheidungsbaums eingeordnet, indem an jedem Knoten das entsprechende Attribut untersucht wird. Probleme treten auf, wenn nach Attributwerten aufgesplittet werden muss, für die keine Trainingsbeispiele vorliegen. Die Baumstruktur ist statisch, d. h. zusätzliche Trainingsbeispiele können nicht inkrementell eingearbeitet werden, sondern der Konstruktionsalgorithmus muss vollständig neu ablaufen. ● Eine andere Möglichkeit, mit der Klassifikationsregeln erstellt werden können, kommt aus der Statistik und ist unter dem Namen Diskriminanzanalyse schon lange bekannt. Ein bekanntes Verfahren stellt die Bayes-Klassifizierung dar. ▲ Ausgehend von den Trainingsbeispielen soll der Algorithmus eine optimale Klassifikationsregel konstruieren, welche die Wahrscheinlichkeit einer falschen Klassifikation minimiert. Dazu schätzt man zunächst Wahrscheinlichkeiten, dass ein Objekt zu einer Klasse Ci gehört. Des Weiteren schätzt man die bedingten Wahrscheinlichkeiten, dass ein Objekt X aus der Klasse Ci den Attributsvektor X besitzt. Mittels der Bayes’schen Formel für bedingte Wahrscheinlichkeiten lässt sich bestimmen, mit welcher Wahrscheinlichkeit ein Objekt Y mit Attributsvektor Y in einer Klasse Ci liegt. Daraus lassen sich die Fehlklassifikationswahrscheinlichkeiten ableiten. ▲ Die Leistungsfähigkeit des Bayes-Klassifizierers ist von der Kenntnis der bedingten Wahrscheinlichkeiten abhängig. Gute Entscheidungsregeln können abgeleitet werden, wenn eine große Menge numerischer Daten vorliegt. ▲ Weitere Möglichkeiten zur Klassifikation bestehen durch Anwendung Neuronaler Netze. Diese werden in Kapitel 29 beschrieben. ■ Klassifikationsverfahren werden im Handel für „Direct-Mailing-Aktionen“, in der Telekommunikationsbranche im „Churn Management“ und in Versicherungen zur Prognose des Schadenrisikos von Policen eingesetzt.

        d) Bewertung ● Die geschilderten Verfahren des Data Mining ermöglichen die Analyse und Filterung von Unternehmensdaten, sodass aus großen Datenbeständen nützliche Informationen generiert werden können, die zuvor nicht bekannt waren. Generell stellen die Methoden Lernverfahren zur Mustererkennung bereit. Die Verfahren unterscheiden sich dadurch, dass sie zum einen an Trainingsbeispielen lernen, Datenobjekte richtig zu klassifizieren (überwachtes Lernen), oder zum anderen eigenständig gemäß eines Ähnlichkeitsmaßes Objekte in Klassen zusammenführen (unüberwachtes Lernen). Die Korrektheit des Ergebnisses einer überwachten Lernmethode kann mithilfe von Trainingsbeispielen und Testbeispielen untersucht werden. Wesentlich schwieriger ist die Beurteilung bei unüberwachten Methoden. Hier empfiehlt es sich, mit unterschiedlichen Parametern (Clusteranzahl) und Algorithmen zum Analysieren einzusetzen und die Ergebnisse zu vergleichen. Gute Ergebnisse weisen i. d. R. auch vernünftige und nachvollziehbare Interpretationen auf. ● Zusammenfassend kann man die ausgewählten Verfahren des Data Mining wie folgt charakterisieren: ● Aufgrund der verhältnismäßig einfachen Berechnung sind herkömmliche Methoden der Clusteranalyse von großer Bedeutung. Sie sind gut nachvollziehbar und für große Datenmengen geeignet. ● Ein Problem ist allerdings häufig die Erklärungsfähigkeit der Ergebnisse. Einige Verfahren stellen sich als Black Box dar, wodurch eine abgeleitete Interpretation nicht möglich ist. Auch Ergebnisse der hierarchischen Clustermethoden und der Bayes-Regeln werden durch den Algorithmus nicht erklärungsfähig. Lediglich die generierten Entscheidungsregeln bei den Entscheidungsbaumverfahren bilden eine gute Interpretationsgrundlage. ▲ In der Praxis liegen Datensätze häufig unvollständig bzw. fehlerhaft vor. Neuronale Netze bieten bei der Datenklassifizierung als einziges Verfahren eine Fehlertoleranz an und sind zudem in der Lage,

        5.3 Data Warehouse und Data Mining

        241

        dynamisch die Mustererkennung zu verbessern. Andererseits steht noch der Beweis aus, dass sie sehr große Datenbestände und komplexe Objekte analysieren können. ● Eine eindeutige Präferenz für ein Verfahren kann demnach nicht ausgesprochen werden. Aus diesen Gründen scheint es ratsam zu sein, beim Aufbau von Data Mining-Algorithmen von vornherein eine Kombination von unterschiedlichen Verfahren einzubeziehen. Dies bestätigt auch die Entwicklung von Werkzeugkästen für die Datenanalyse, die derzeit verstärkt am Markt angeboten werden.

        6

        Planung und Realisierung von Informationssystemen

        Informationssysteme sind komplexe Mensch-Maschine-Systeme, die leider nicht von einer einzigen Person in allen relevanten Aspekten vollständig entwickelt und beschrieben werden können. Wenn Informationssysteme jedoch arbeitsteilig mit unterschiedlichem Detaillierungsgrad und für unterschiedliche Teilaspekte geplant und realisiert werden, müssen bestimmte Konzepte und Modellierungsansätze beachtet werden, um ein systematisches und effizientes Vorgehen sicherzustellen. Die Analyse algorithmischer Komplexität und darauf aufbauend Aufwands- und Nutzenabschätzungen spielen daher eine entscheidende Rolle bei der Planung und Realisierung von Informationsystemen.

        6.1

        Organisatorische Aspekte der Systementwicklung

        Es bestehen drei grundsätzliche Ansätze zur Unterstützung der Planung und Realisierung von Informationssystemen (IS): ● Top-Down-Planung: Ausgehend von der Festlegung grober, möglichst unternehmensweiter Datenstrukturen und funktionaler Beziehungen werden durch schrittweise Verfeinerung einzelne Teilpläne des Gesamtmodells entwickelt. ▲ Mit der Berücksichtigung der unternehmensweiten Datenstrukturen und der funktionalen Bezie-

        hungen bereits in der Planungsphase erfolgt eine hohe Integration des gesamten IS. Ein Nachteil ist jedoch, dass die vorbereitende Planung langwierig ist. Deshalb kommt es erst spät zu einem ablauffähigen IS. ● Bottom-Up-Planung: Ausgehend von den Bedürfnissen einzelner Fachabteilungen werden Teilsysteme entwickelt, die durch nachfolgende Synthese und Festlegung von Schnittstellen zu einem Gesamtsystem integriert werden. ▲ Die Entwicklung ablauffähiger IS kann in einem frühen Zeitpunkt forciert werden. Dies wird jedoch

        durch einen höheren Aufwand bei der unternehmensweiten Integration der einzelnen Teilsysteme erkauft. ● Gegenstromplanung: Die Vorteile der beiden anderen Verfahren sollen verbunden werden, indem einer Top-Down-Planung (bei der jedoch auf eine genaue Spezifikation einzelner Teilpläne verzichtet wird) eine Bottom-Up-Planung folgt, die gleich mit der Erstellung der einzelnen Teile des IS verbunden werden kann. Zu den grundsätzlichen Vorgehensweisen bei der Entwicklung von Informationssystemen (IS) gehören: • das Phasenkonzept, das bei der Top-Down-Planung zum Einsatz kommt, • das Prozessmodell mit den beiden Varianten: – Wasserfallmodell als weiterer Vertreter der Top-Down-Planung sowie – V-Modell als Mischform aus Bottom-Up- und Top-Down-Planung, • das Prototyping, das in der Bottom-Up-Planung angewendet wird.

        6.1.1

        Phasenkonzept

        Das Phasenkonzept der Software-Entwicklung, auch ingenieurmäßige Software-Entwicklung genannt, stellt eine Zerlegung aller Entwicklungsarbeiten in aufeinander folgende Spezifikationsschritte dar.

        6.1 Organisatorische Aspekte der Systementwicklung

        243

        ● Jede einzelne Phase wird durch ein abzulieferndes Ergebnis abgeschlossen, das als Vorgabe für die Lösung der Problemstellung der nächste Phase verwendet wird. ▲ Ergeben sich bei der Umsetzung der Vorgaben der höheren Phasen essenzielle Schwierigkeiten, wird in die entsprechende höhere Phase zurückgesprungen, um dort die Entscheidung zu korrigieren, die zu Problemen führte. ● Es gibt in der Literatur verschiedene Ausprägungen des Phasenkonzepts, die sich jedoch meist nur in der Anzahl der Phasen unterscheiden. Im Folgenden wird die sechsstufige Vorgehensweise vorgestellt: 1. Planungsphase: Die mit dem IS verfolgten Ziele werden spezifiziert und die technische Durchführbarkeit und Wirtschaftlichkeit werden geprüft. Hierzu bedarf es auch der zeitlichen Planung des Gesamtprojekts. 2. Definitionsphase: Die Anforderungen an das IS werden verbal aus der Sicht der Fachabteilung spezifiziert. Hierzu folgt eine Ist-Analyse des Bereichs, in dem das IS verwendet werden soll, eine Schwachstellenanalyse und die Entwicklung eines Soll-Konzepts. Dieses Soll-Konzept wird auch als Pflichtenheft bezeichnet, in dem die Ansprüche der Fachabteilung an das IS eingehend beschrieben werden. 3. Entwurfsphase: Die im Pflichtenheft beschriebenen Anforderungen werden analysiert und mittels des gewählten Beschreibungsverfahrens dargestellt. ▲ Besonderer Wert wird hierbei auf die hierarchische Zerlegung in Teilsysteme (Module) gelegt. ▲ Gelingt die Zerlegung in möglichst autonome Teilsysteme, so können die an die Entwurfsphase

        anschließenden Phasen parallel von verschiedenen Projektteilnehmern durchgeführt werden. ▲ Die Gesamtprojektleitung muss dann nur durch die Spezifikation von Schnittstellen die In-

        tegration der einzelnen Module sicherstellen. Auch die Möglichkeit der Verwendung von Standardsoftware muss hierbei mit einbezogen werden. 4. Implementationsphase: Das in der Entwurfsphase entwickelte Konzept wird in einen maschinenausführbaren Code umgesetzt, hierzu werden meist höhere bzw. objektorientierte Programmiersprachen verwendet. Die einzelnen Module können parallel erstellt und dann zu einem System integriert werden. 5. Abnahme- und Einführungsphase: Es wird überprüft, ob das Programm die Anforderungen der Fachabteilung, die im Pflichtenheft manifestiert sind, erfüllt. Hierzu wird das fertige IS in der Fachabteilung eingeführt und in umfangreichen Tests überprüft, bevor nach einer Freigabe das System produktiv geht, d. h. im betrieblichen Alltag eingesetzt wird. 6. Wartungsphase: Das System wird an alle anfallenden Veränderungen im betrieblichen Umfeld angepasst. ▲ Da ein komplexes IS in einem Unternehmen mehrere Jahre eingesetzt wird, kann der hierfür

        benötigte Aufwand sehr hoch sein, insbesondere wenn Anpassungen an spätere Erweiterungen oder Verbindungen zu anderen Fachabteilungen integriert werden müssen. Auch die Betreuung der Anwender in den Fachabteilungen kann zu einem hohen Aufwand führen. ● Entscheidende Nachteile dieser Vorgehensweise: • Die zu Beginn der Phasenfolge verlangte vollständige und widerspruchsfreie Systemspezifikation gelingt meist nicht. Vielmehr zeigen sich Fehler, die in den ersten Phasen begangen werden, oftmals erst in späteren Phasen, wodurch umfangreiche und zeitraubende Veränderungen notwendig werden. • Man kommt erst zu einem sehr späten Zeitpunkt zu ablauffähigen (Teil-) Programmen, da die Fachabteilung nach der Beteiligung in der Planungsphase erst wieder in der Abnahmephase in den Entwicklungsprozess eingebunden wird. Zwischenzeitlich ändern sich bisweilen die Anforderungen der Fachabteilungen.

        244

        6 Planung und Realisierung von Informationssystemen

        6.1.2

        Prozessmodelle

        Prozessmodelle beschreiben einen festgelegten organisatorischen Rahmen zur Softwareerstellung. Sie legende folgende Punkte fest: • Reihenfolge des Arbeitsablaufs (Entwicklungsstufen und Phasen) • Durchzuführende Aktivitäten • Definition der Teilprodukte (Layout und Inhalte) • Fertigstellungskriterien • Notwendige Mitarbeiterqualifikationen • Verantwortbarkeiten und Kompetenzen • Anzuwendende Standards, Richtlinien, Methoden und Werkzeuge Zwei wichtige Vertreter der Prozessmodelle sind das Wasserfallmodell und das V-Modell.

        a) Wasserfallmodell Das Wasserfallmodell geht davon aus, dass Software sukzessiv in Stufen erstellt wird. SystemAnforderungen

        SoftwareAnforderungen

        Analyse

        Entwurf

        Codierung

        Testen

        Betrieb

        Wasserfallmodell Der Name des Modells resultiert aus seiner Eigenschaft, die Ergebnisse einer Phase wie bei einem Wasserfall in die nächste Phase einfließen zu lassen. Dabei existieren zwischen den einzelnen Phasen Rückkopplungsschleifen, die sich auch über mehrere Stufen erstrecken können. ● Charakteristika des Wasserfallmodells sind: • Aktivitäten müssen in der vorgesehenen Reihenfolge vollständig durchgeführt werden. • Jede Aktivität endet in einem fertig gestellten Dokument (dokumentgetrieben). • Der Entwicklungsablauf ist streng sequenziell. • Die Einfachheit des Modells reduziert den Managementaufwand. • Das Modell stellt einen Top-Down Ansatz dar. • Außerhalb der Definfitionsphase findet keine Benutzerbeteiligung bei der Entwicklung statt.

        6.1 Organisatorische Aspekte der Systementwicklung

        245

        b) V-Modell Das V-Modell erweitert das Wasserfallmodell unter Einbeziehung des Qualitätssicherungsaspekts. Es wurde ursprünglich ausschließlich für Behörden entwickelt. ● Verifikation und Validation der Teilprodukte sind essenzielle Bestandteile des V-Modells: • Verifikation: Überprüfung der Übereinstimmung von Softwareprodukt und Produktspezifikation • Validation: Eignungsprüfung des Produkts in Bezug auf seinen Einsatzbereich

        Anwendungsszenarien

        Anforderungs

        Abnahmetest Validierung

        Grobentwurf

        Feinentwurf

        Modulimple-

        Systemtest

        Testfälle

        Verifikatio n

        Integrations-

        Testfälle

        Modultest

        Testfälle

        V-Modell ● Das V-Modell ist in vier Submodelle gegliedert: • Systemerstellung • Qualitätssicherung • Konfigurationsmanagement • Projektmanagement ● Grundelemente des V-Modells sind Aktivitäten und Produkte: • Aktivität: Tätigkeit, die bezogen auf ihr Ergebnis und ihre Durchführung genau beschrieben werden kann. • Produkt: Ergebnis bzw. Bearbeitungsgegenstand einer Aktivität. ▲ Ziele der Aktivitäten sind: • Produkte zu erstellen, • Zustände von Produkten zu ändern oder • Inhalte von Produkten zu ändern. ▲ Rollen beschreiben die notwendigen Erfahrungen, Kenntnisse und Fähigkeiten zur Durchführung der Aktivitäten. Die Zuordnung von Rollen und Aktivitäten erfolgt tabellarisch in der Initialisierungsphase des Modells. ▲ In jedem Submodell gibt es: • Einen Manager, der die Aktivitäten des Submodells festlegt und oberste Entscheidungsinstanz ist. • Einen Verantwortlichen, der die Aufgaben des Submodells plant, steuert und kontrolliert. • Mehrere Durchführende, die die geplante Aufgabe realisieren.

        246

        6 Planung und Realisierung von Informationssystemen

        ● Das V-Modell besitzt folgende Vorteile: • Integration und Detaillierung von Systemerstellung, Qualitätssicherung, Konfigurationsmanagement und Projektmanagement • Möglichkeiten zur exakten Anpassung an die projektspezifischen Anforderungen • gute Eignung für große Projekte sowie eingebettete Systeme • standardisierte Abwicklung von Systemerstellungsprojekten

        6.1.3

        Prototyping

        Prototyping: Es wird versucht, möglichst frühzeitig zu einer ablauffähigen Version (eines Teilsystems) des Informationssystems zu gelangen, ohne eine vollständige Vorabplanung durchzuführen. ● Vorteile: + Der laufende Prototyp kann schnell der Fachabteilung vorgestellt werden, wodurch sie während der gesamten Entwicklungsphase eingebunden werden kann, indem jeder Entwicklungsfortschritt zu neuen Prototypen führt. + Zumindest Teilsysteme werden zu einem sehr frühen Zeitpunkt fertig gestellt und es kann mit Tests dieser Teile begonnen werden. ● Nachteile: – Es fehlt ein umfassendes Gesamtkonzept, wodurch in der Entwicklungsphase umfangreiche Änderungen notwendig sein können. – Eine längerfristig orientierte Wartung solcher Systeme ist wegen der fehlenden oder mangelhaften Strukturbeschreibungen problematisch. ▲ Phasenkonzept und Prototyping können miteinander verknüpft werden, indem im Sinne einer Gegenstromplanung in einem ersten Durchlauf verschiedene mögliche Teilsysteme identifiziert und deren Schnittstellen definiert werden. Anschließend werden die einzelnen Teile in Form von Prototypen entwickelt. Die hierfür notwendige Planungs- und Entwurfsphase muss nicht so detailliert und umfangreich sein, sondern kann sich auf die Definition von Schnittstellen beschränken. Durch die vorherige Definition der Schnittstellen zwischen den identifizierten Teilsystemen ist die Gefahr von Änderungen geringer als bei reinem Prototyping. Das Problem dieser Vorgehensweise liegt in der geeigneten Definition von Schnittstellen. Da Informationssysteme immer auf der Realisierung ablauffähiger mathematischer Strukturen (Algorithmen) beruhen, spielt die Komplexitätsbetrachtung dieser Strukturen bei ihrer Planung eine entscheidende Rolle. Insbesondere der Zeit- und Speicheraufwand bei der Ausführung der Algorithmen geht in die Wirtschaftlichkeitsrechnung von IS ein, da der daraus resultierende Bedarf an IT-Ressourcen als Kostenfaktor dem entstehenden Nutzen gegenübergestellt werden muss.

        6.2

        Algorithmische Komplexität

        6.2.1

        Berechenbar vs. nichtberechenbar

        Bereits über ein Jahrzehnt vor der technischen Realisierung der ersten elektronischen Rechenanlagen haben Church, Gödel, Post, Turing und andere gezeigt, dass nicht alle Aufgabenstellungen, seien sie arithmetischer, logischer oder symbolischer Natur, maschinell – heute verwendet man den Begriff algorithmisch – gelöst werden können. ▲ Derartige Probleme nennt man nicht berechenbar.

        6.2 Algorithmische Komplexität

        247

        ■ Dies gilt bspw. für die Verifikation von Programmeigenschaften, im Bereich der Musterverarbeitung für Parketierungsprobleme, aber auch für bestimmte Fragestellungen bei Datenbankabfragesprachen. Glücklicherweise fallen viele interessante Fragestellungen nicht in diese Kategorie, etwa kombinatorische Optimierungsprobleme. Diese sind berechenbar, d. h. für sie ist ein Rechnereinsatz möglich und sinnvoll. Bei großen Problemstellungen (umfangreiche Datenmengen, viele Variablen und Nebenbedingungen) ist eine Lösung ohne den Einsatz von Maschinen kaum vorstellbar. ▲ In einer konkreten Situation reicht jedoch eine prinzipielle Lösbarkeit nicht aus, sie muss auch effektiv umgesetzt werden können. In der Sprache der Algorithmik bedeutet dies, dass effiziente Verfahren gesucht sind. Bei den meisten Optimierungsproblemen wächst der Raum der potenziellen Lösungen exponentiell mit der Größe n der Daten, die so genannte kombinatorische Explosion, sodass ein einfaches Testen aller Kandidaten zu Rechenzeiten der Form 2n führen würde. Dies ergäbe bereits für n = 100 absolut indiskutable Antwortszeiten. ■ Wenn ein einzelner Test nur 1 µ sec benötigen würde, müsste man selbst beim gleichzeitigen Einsatz von 1000 Maschinen circa 4 · 1013 Jahre warten und damit etwa 100 mal länger als die geschätzte Lebensdauer unseres Weltalls, bis alle 2100 Alternativen überprüft sind.

        6.2.2

        Zeitkomplexität von Algorithmen

        Eine sequenziell arbeitende Maschine kann in jedem ihrer Schritte nur eine Operation ausführen und somit auch nur ein Element der Eingabedaten verarbeiten. ▲ Besteht die Eingabe aus n Datenelementen, so wird ein Algorithmus i. d. R. jedes Element mindestens einmal betrachten müssen, d. h. mindestens n Schritte sind sequenziell allein für das komplette Lesen der Eingabe erforderlich. ▲ Genügt dies bereits – wie etwa im Fall endlicher Automaten – oder lässt sich die gesamte Laufzeit zumindest durch eine Funktion T (n) = k · n nach oben abschätzen, wobei k eine feste Konstante und unabhängig von der Eingabegröße n ist, so spricht man von einer linearen Laufzeit. Linearzeit bildet somit eine natürliche untere Grenze für den Bedarf an Zeitressourcen. Es gibt nur wenige Ausnahmen hiervon, etwa das Suchen in bereits geordneten Datenmengen, wo logarithmischer Zeitaufwand bei Verwendung geeigneter Datenstrukturen ausreicht – denn hier müssen nur wenige Eingabeelemente verglichen werden. In der Regel gilt also: ▲ Ein Linearzeit-Algorithmus für ein gegebenes algorithmisches Problem Q ist die beste Situation, die man erhoffen kann. ● Dies ist jedoch selten der Fall, vielfach kennt man nur Lösungsverfahren mit quadratischer oder kubischer Laufzeit, oftmals sogar nur mit exponentiellem Zeitbedarf. ■ Die Addition zweier n-Bit Zahlen kann in Linearzeit durchgeführt werden, für die Multiplikation

        benötigen die besten bekannten Algorithmen deutlich mehr. Die Multiplikation von Matrizen scheint noch zeitaufwendiger zu sein, gleiches gilt bei Netzwerken für die Berechnung eines maximalen Flusses von einer Quelle zu einem Zielknoten. Um in einem Netzwerk mit einer Kostenfunktion auf den Kanten einen kostenminimalen Weg, der jeden Knoten besucht, zu bestimmen, das TravelingSalesman-Problem (TSP), sind bis heute keine Verfahren mit weniger als exponentieller Laufzeit bekannt. ● Bei der Lösung eines Problems ist bei großen Datenmengen das Laufzeitverhalten der benutzten Algorithmen mindestens so wichtig wie die Leistungsfähigkeit der ausführenden Hardware, wie das folgende Beispiel zeigt:

        248

        6 Planung und Realisierung von Informationssystemen

        ■ Ein 3 n3 Algorithmus implementiert auf einem 1 TeraFlop Supercomputer (gemäß des internationa-

        len Leistungsrankings TOP500 im Sommer 2001 das schnellste in Deutschland installierte System – weltweit auf Platz 12) versus ein 20 n Algorithmus auf einem inzwischen antiquierten 1 MegaFlop PC. Der Leistungsunterschied der Hardware, gegeben durch den Faktor 106 , ergibt bei optimaler Auslastung der Hardware für n = 10.000 eine Laufzeit von nur 3 µ sec auf dem Supercomputer, während der PC immerhin 200 msec benötigt. Für n = 2,5 · 106 jedoch liegen beide bereits gleichauf mit etwa 50 sec, für n = 109 benötigt der Supercomputer (exponentielle Komplexität) 95 Jahre, der PC (lineare Komplexität) nur 550 Stunden. Derartige Eingabegrößen können durchaus realistisch sein, das menschliche Genom bspw. besitzt eine Länge von 3 · 109 Basispaaren. ● Bei sehr großen Datenmengen tritt noch ein weiteres Problem auf: ▲ Die gesamte Eingabe kann nicht mehr komplett in den Hauptspeicher geladen werden. In diesem Fall

        betrachtet man so genannte Extern-Speicher-Algorithmen, die höhere Latenzzeiten beim Zugriff auf Plattenspeicher etc. berücksichtigen.

        6.2.3

        Speicherplatzbedarf

        Abgesehen von der Ein-Ausgabe-Problematik ist der interne Speicherplatzbedarf eines Algorithmus, d. h. die Menge an Zwischenergebnissen, die sich der Algorithmus merken muss, von Bedeutung. ▲ Bei vielen algorithmischen Aufgaben scheint es nicht möglich, die Laufzeit und den Speicherplatzbedarf gleichzeitig zu minimieren, man spricht dann von einem Time-Space-Tradeoff: Eine Reduktion des Speichers wird durch eine Erhöhung der Laufzeit erkauft: Zwischenresultate werden nicht abgespeichert, sondern bei Bedarf neu berechnet. Bei den Aufgabenstellungen, die nicht mehr in die Klasse der regulären Sprachen fallen und somit nicht durch einen endlichen Automaten mit einem Speicher (Gedächtnis) konstanter Größe gelöst werden können, ist bis auf wenige Ausnahmen mindestens logarithmischer Speicherplatz erforderlich. Denn dieser Platz wird schon benötigt, um bis zur Eingabelänge n zu zählen oder in einem Netzwerk mit n Knoten jeden Knoten eindeutig identifizieren zu können. ■ Logarithmischer Platz reicht i. d. R. jedoch noch nicht aus, etwa bei der Frage, ob in einem gerichteten Netzwerk zwei ausgewählte Knoten durch einen Weg verbunden werden können oder bei der Berechnung des ggT-Algorithmus zweier n-Bit Zahlen. Der klassische ggT-Algorithmus, der auf Euklid zurückgeht, benötigt linearen Speicherplatz.

        6.2.4

        Analyse von Algorithmen

        Nachdem nun die beiden wichtigsten Komplexitätsmaße Zeit und Platz diskutiert sind, ist zu überlegen, mit welcher Detailliertheit diese zur Analyse eines Algorithmus A bzw. zur Charakterisierung eines algorithmischen Problems Q angewandt werden. ▲ Ist X eine Eingabe für A , so bezeichne timeA (X) die Anzahl der Schritte, die A auf X benötigt, und analog spaceA (X) für den Platzbedarf. Eine Tabelle, die für jedes X diese Werte auflistet, wäre extrem umfangreich und unübersichtlich. ▲ Man fasst daher alle Eingaben der Größe n zusammen und reduziert die Vielfalt der Werte timeA (X) für |X| = n auf eine einzige Zahl timeA (n), i. d. R. auf das Maximum. ● Dies ergibt das worst-case Zeitverhalten von A bei der Eingabelänge n, eine garantierte obere Schranke, die der Algorithmus nicht überschreitet. Analoges gilt für das Platzmaß. ● Beim Zeitverhalten gibt es jedoch Situationen, bei denen dieser ungünstige Fall nur sehr selten auftritt, sodass bei häufigen Anwendungen von A das mittlere Laufzeitverhalten, der average-case, für die Praxis relevanter ist.

        6.2 Algorithmische Komplexität

        249

        ■ Prominente Beispiele hierfür sind Quicksort und der Simplex Algorithmus. Obwohl der Simplex Al-

        gorithmus bei gewissen Eingaben exponentiell viel Zeit benötigt, findet dieses Verfahren zur Lösung linearer Programmierungsprobleme vielfältigen Einsatz, da es in den meisten Fällen in Linearzeit terminiert. Quicksort, mit quadratischem worst-case Zeitbedarf, sortiert bei uniformer Verteilung in mittlere Zeit n log n (mit einem kleinen konstanten Vorfaktor), was asymptotisch optimal ist. Allerdings ist das Verhalten dieses Algorithmus sehr abhängig von der zugrunde liegenden Wahrscheinlichkeitsverteilung. Treten bereits teilsortierte Eingabefolgen mit höherer Wahrscheinlichkeit auf, so benötigt Quicksort auch im Mittel quadratische Laufzeit. ▲ Da die Analyse des average-case Verhaltens von Algorithmen technisch noch erheblich schwieriger

        ist als das im schlechtesten Fall, liegen bislang allerdings fast ausschließlich Resultate über den worst Case vor.

        6.2.5

        Komplexität von Problemen – Komplexitätsklassen

        ● Die sequenzielle Berechnungshypothese besagt, dass nur die algorithmischen Probleme auch für große Eingaben effizient behandelt werden können, die einen Lösungs-Algorithmus mit polynomialer Laufzeit besitzen und dass es dabei auf technische Details des zugrunde liegenden Maschinenmodells – seien es reale Mikroprozessoren, Registermaschinen oder das klassische Turing-Maschinenmodell – nicht ankommt. ● Man klassifiziert Probleme nach dem Ressourcenbedarf ihrer Lösungsalgorithmen und benutzt dabei ein möglichst einfaches Maschinenmodell, um die Analyse nicht unnötig zu erschweren. Im konkreten Anwendungsfall können zwar Details der Systemarchitektur (Instruktionssatz, Speicherhierarchie) sowie passende Datenstrukturen (etwa Bäume anstelle von linearen Listen, Hashing-Tabellen anstelle von großen Arrays, mehrdimensionale Suchbäume bei geometrischen Problemen) für die Güte einer Implementierung von nicht unerheblicher Bedeutung sein, der Aufwand zur Lösung eines algorithmschen Problems wird jedoch in erster Linie von der globalen Lösungsstragie bestimmt. ● Ist T eine Zeitschranke und S eine Platzschranke, so bezeichne DTime(T ), DSpace(S) sowie DTimeSpace(T,S) die Menge aller Probleme, die deterministisch, d. h. durch einen klassischen sequenziellen Rechner, mit Zeitaufwand höchstens T bzw. Speicherplatz maximal S bzw. simultan in Zeit T und Platz S gelöst werden können. ▲ Derartige Mengen heißen Komplexitätsklassen. ■ Für polynomiale Zeitschranken TPOL verwendet man anstelle von DTime(TPOL ) die abkürzende Notation P , für exponentielle Zeitschranken DEX P , für logarithmische Platzschranken SLOG anstelle von DSpace(SLOG ) das Symbol L und für polynomiale Platzschranken P SPAC E . ● Aufgabenstellung der Komplexitätstheorie ist es, jedes algorithmische Problem Q in die vielfältige Welt der Komplexitätsklassen einzuordnen. Gesucht sind also das kleinste T und S, sodass Q in DTime(T ) bzw. DSpace(S) liegt. In der Regel erfolgt ein Nachweis, dass bspw. T eine obere Schranke für die Zeitkomplexität von Q darstellt, durch Angabe eines geeigneten Lösungsalgorithmus, aber es gibt auch Beispiele nichtkonstruktiver Beweise, an denen ein Algorithmus nicht direkt abgeleitet werden kann. ▲ Wie zeigt man andererseits, dass bei der Lösung von Q eine Zeitschranke T oder eine Speicherplatzgröße S nicht unterschritten werden kann – eine untere Schranke für Q? Bei der Zeitressource muss im Prinzip für jeden Algorithmus A mit Zeitkomplexität kleiner als T – und davon gibt es unendlich viele – nachgewiesen werden, dass dieser Q nicht löst. Diese Aufgabe ist noch erheblich schwieriger als das Finden effizienter Algorithmen für Q und trotz intensiver Bemühungen für die meisten algorithmischen Aufgabenstellungen bis heute ungelöst.

        250

        6 Planung und Realisierung von Informationssystemen @ @ DEX P @ @ @ @ @ S PAC @ @ P @ E @ @ N P @@ @@ @@ @ @ @ @ @ @ @@ @ @ @ @ @ P @ @ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ NL @ @@ @ @ @ @ @ @@ @ @ @ @ @ @@ @ @ L@ @ @@ @@ @ @ @ @ @ @@ @ @ @ @ @@ @ @ @

        ..

        .

        . . .

        Die Hierarchie der sequenziellen Komplexitätsklassen ▲ Gibt es eine absolute obere Schranke, bspw. exponentielle Zeit, sodass alle berechenbaren Probleme mit diesem Aufwand gelöst werden können? Die klare Antwort lautet nein – jede Erhöhung der Zeit- oder Platzressource um mehr als einen konstanten Faktor ermöglicht es (bis auf ganz seltene Ausnahmen), eine größere Zahl von Problemen zu lösen. ● Da konstante Faktoren bei Komplexitätsklassen von untergeordneter Bedeutung sind und reale Laufzeiten von Details wie der Prozessorgeschwindigkeit abhängen, wird bei der Analyse von Algorithmen gerne die groß-O-Notation verwendet, die das asymptotische Laufzeitverhalten charakterisiert und die Analyse durch Unterdrückung konstanter Faktoren vereinfacht. Verbesserungen eines Algorithmus um einen konstanten Faktor sind natürlich denkbar und eventuell auch wirtschaftlich relevant. Dennoch gilt: ▲ Substanzielle Fortschritte bei der Entwicklung von Lösungsalgorithmen haben fast ausnahmslos die

        Asymptotik der Laufzeitschranke verbessert – von kubisch auf quadratisch oder von quadratisch auf linear oder zumindest auf n log n wie beim Sortierproblem.

        6.2.6

        Reduktionen und Vollständigkeit

        Große Programmpakete sollten modular aufgebaut sein und bereits implementierte Funktionen als Unterprogramme verwenden. Die Komplexitätstheorie verwendet hierzu den Begriff der ● Reduktion: Ein Problem Q  wird mithilfe von Q gelöst, indem ein Lösungsalgorithmus für Q einmal oder auch mehrfach als Unterprogramm aufgerufen wird. ▲ Ist das Hauptprogramm selber nicht zu komplex, etwa polynomial zeitbeschränkt, so folgt, dass die Komplexität von Q  nicht wesentlich größer ist als die von Q, denn jede algorithmische Verbesserung für Q hat unmittelbaren Einfluss auf Q  . Der Reduktionsbegriff definiert eine partielle Ordnung auf der Menge aller algorithmischen Probleme, die eine recht feine Strukturierung ermöglicht. ● Komplexitätsklassen werden mithilfe der Vollständigkeits-Eigenschaft geordnet. Ein vollständiges Problem Q in einer Komplexitätsklasse C erfüllt die Bedingung, dass sich jedes andere Problem Q  aus C auf Q reduzieren lässt. Q ist damit eines der schwersten Probleme in C . Viele Komplexitätsklassen besitzen vollständige Probleme, aber dies ist keinesfalls offensichtlich.

        6.2 Algorithmische Komplexität

        6.2.7

        251

        Die Klasse N P

        ● Besondere Bedeutung hat die Komplexitätsklasse N P = NTime(TPOL ) erlangt, nichtdeterministische Polynomialzeit. ● Als Maschinenmodell dient hier die nichtdeterministische Turing Maschine (NTM), die bei ihrer Berechnung mehrere Alternativen gleichzeitig verfolgen kann, eine eingeschränkte Form von Parallelverarbeitung. Eine NTM besitzt keine Beschränkungen bzgl. des Grades an Parallelität und ist daher im Gegensatz zu einer deterministischen Turing Maschine (DTM) nicht auf einfache Weise physisch zu verwirklichen. ▲ Nichtdeterminismus ist ein wichtiges Konzept innerhalb der Informatik, welches auch in anderen

        Bereichen – etwa bei der Protokollspezifikation für verteilte Rechnersysteme – große Bedeutung erlangt hat. ▲ Die nichtdeterministische Verallgemeinerung der logarithmischen Platzklasse

        L wird mit der Ab-

        kürzung N L = NSpaceSLOG ) gekennzeichnet. ▲ Während die beste bislang bekannte zeiteffiziente Simulation von Nichtdeterminismus durch deterministische Maschinen einen exponentiellen Zeitverlust aufweist, genügt bei der Platzressource ein quadratischer Overhead. ■ In die Klasse N P fallen die meisten kombinatorischen Optimierungsprobleme, bspw. Fragen für Graphen und Netzwerke wie das oben genannte TSP oder Färbungs- und Überdeckungsprobleme, sowie aussagenlogische Fragestellungen. Das prominenteste Beispiel hierfür ist das Erfüllbarkeitsproblem für Boole’sche Formeln, SAT, welches in der KI und der Verifikation von Chips oder komplexen Systemen eine zentrale Rolle spielt. ● Für alle diese äußerst anwendungsrelevanten Fragestellungen sind bis heute keine Lösungsalgorithmen bekannt, die auf einem gewöhnlichen sequenziellen Rechner nicht mehr als polynomiale Laufzeit benötigen würden. ● Das wichtigste offene Problem der Komplexitätstheorie kann somit auf die Kurzform ?P =

        N P?

        gebracht werden. ■ Sehr viele Probleme in

        N P erweisen sich als vollständig und selbst die zur Zeit schnellsten Algorithmen hierfür benötigen exponentielle Zeit, was für größere Probleminstanzen nicht akzeptabel ist.

        ● Da diese Probleme jedoch in der Praxis auftreten und gelöst werden müssen, hat man nach Auswegen gesucht. • Branch-and-bound-Methoden versuchen den exponentiell großen Suchraum durch geschickte Güteabschätzungen massiv zu verkleinern, der Erfolg ist jedoch nicht garantiert. • Heuristische Verfahren liefern relativ schnell eine Antwort, über deren Qualität allerdings keine analytischen Aussagen gemacht werden – Beispiele hierfür sind Greedy-Algorithmen oder Ansätze mit Hilfe von Neuronalen Netzen. • Durch Randomisierung, d. h. Zufallsentscheidungen im Algorithmus, versucht man die schlechte Performance von Greedy-Algorithmen zu verbessern. Lokale Optima können wieder verlassen werden, sodass eine höhere Chance besteht, ein globales Optimum zu finden – Beispiel Simulated Annealing. Allerdings sind auch hier Güteaussagen, wie weit man vom Optimum letztendlich entfernt ist, schwierig. • Approximationsverfahren finden i. d. R. ebenfalls nicht das Optimum in vorgegebener polynomialer Zeit, aber garantieren zumindest eine Schranke – in der Regel einen konstanten Faktor, um den die gefundene Lösung maximal vom Optimum abweicht.

        252

        6 Planung und Realisierung von Informationssystemen

        Bezüglich Approximierbarkeit weisen die Probleme in N P ein recht unterschiedliches Verhalten auf, von im Wesentlichen nicht approximierbar bis zu approximierbar mit einem beliebig kleinen Faktor  > 0.

        6.2.8

        Die Segnungen hoher Komplexität

        Negative Erkenntnisse der Form, dass ein Problem Q eine sehr hohe Komplexität besitzt, können auch positive Seiten besitzen. ● Algorithmische Probleme hoher Komplexität sind sogar notwendig, um hohe Sicherheit bei modernen kryptografischen Systemen, digitalen Signaturen, E-Commerce etc. zu garantieren. ▲ Basisbausteine für Public Key-Verfahren und interaktive digitale Protokolle sind so genannte oneway-Funktionen. Eine derartige Funktion kann effizient implementiert werden, ihr Inverses soll dagegen nicht in vertretbarer Zeit (bspw. 1000 Jahre) berechnet werden können – selbst bei massivstem Rechnereinsatz. ■ Beispiele für one-way-Funktionen sind das Faktorisieren natürlicher Zahlen oder das Berechnen von Quadratwurzeln oder Logarithmen in endlichen Körpern – als inverse Operation entsprechender Multiplikations- oder Potenzoperatoren. ■ Das Faktorisierungsproblem beschäftigt die Menschheit schon seit Jahrtausenden. Ein Verfahren wie das Sieb des Eratosthenes benötigt jedoch exponentielle Zeit auf die Bitlänge der zu faktorisierenden Zahlen bezogen. ■ Im Jahr 2001 sind selbst die schnellsten Faktorisierungs-Algorithmen, die tiefe zahlentheoretische Methoden verwenden, bei Verwendung der leistungsfähigsten Maschinen nicht in der Lage, 300-stellige Dezimalzahlen in akzeptabler Zeit zu zerlegen (wenn diese geeignet gewählt werden, etwa keine kleinen Primfaktoren besitzen). ■ Auch wenn es möglich wäre, die Beschleunigung bei den Prozessorchips bis auf das atomare Level auszureizen, würden 400-stellige Dezimalzahlen der Menschheit noch für viele Jahrtausende ausreichende Sicherheit bieten, so lange auf algorithmischer Seite keine dramatischen Verbesserungen beim Faktorisierungsproblem erfolgen. ● Kuriosität am Rande: Faktorisierung ist eines der wenigen Probleme, von dem bislang weder gezeigt werden konnte, dass es in die Komplexitätsklasse P fällt, noch dass es N P -vollständig ist.

        6.3

        Aufwands- und Nutzenabschätzung

        Von jedem IS wird erwartet, dass es wirtschaftlich entwickelt und eingesetzt wird, unabhängig davon, ob es bei kommerziellen Zwecken zum Einsatz kommt oder nicht. Das bedeutet, dass der durch den Einsatz des IS erzielte Nutzen über die Lebensdauer des IS mindestens die Kosten seiner Entwicklung und seines Einsatzes erreichen sollte. Für die Berechnung der Wirtschaftlichkeit werden also sowohl Kosten- als auch Nutzeninformationen benötigt. ▲ Informationen über bereits angefallene Kosten sind meistens aus der betrieblichen Kostenrechnung erhältlich, doch entsteht dabei oft das Problem der Zurechenbarkeit von Kosten zu einzelnen IS. Ein anderes Problem ist, dass Kosteninformationen schon häufig vor der Entwicklung eines IS benötigt werden. ▲ Zunächst muss entschieden werden, ob das IS überhaupt entwickelt, in Auftrag gegeben oder gekauft werden soll. Wenn diese Entscheidung positiv ausfällt, müssen die benötigten menschlichen, sachlichen und finanziellen Ressourcen mengenmäßig und zeitlich eingeplant werden. Aus diesen Gründen wird, insbesondere bei Eigenentwicklung, eine Aufwandsschätzung vorgenommen.

        6.3 Aufwands- und Nutzenabschätzung

        6.3.1

        253

        Aufwandsschätzung

        Für die Schätzung des Aufwands der Entwicklung von IS sind verschiedene Methoden, Verfahren und Werkzeuge entwickelt worden. • Vergleichsmethoden: Der Aufwand wird auf Basis bereits abgeschlossener, ähnlicher Projekte, für die Messwerte vorliegen, geschätzt. Die Ähnlichkeit der Projekte wird aufgrund von Einflussfaktoren wie z. B. Programmgröße, Programmkomplexität und Erfahrung der Entwickler bestimmt. Da selten eine vollkommene Übereinstimmung hinsichtlich dieser Merkmale zwischen dem geplanten Projekt und Vergleichsprojekten vorliegen wird, werden die Abweichungen festgestellt und der Aufwand des Vergleichsprojekts entsprechend angepasst. ■ Ein Beispiel einer Vergleichsmethode ist die Analogiemethode. • Algorithmische Methoden: Der Aufwand wird auf Basis bereits abgeschlossener Projekte, für die Messwerte vorliegen, und den Ausprägungen der Einflussfaktoren des geplanten Projekts berechnet. Aus den Messwerten abgeschlossener Projekte wird ein Modell entwickelt, das den Einfluss der einzelnen Faktoren quantifiziert. Die Werte des geplanten Projekts werden dann in dieses Modell eingesetzt. ■ Ein Beispiel für ein solches Vorgehen ist die Gewichtungsmethode. • Kennzahlenmethoden: Auf der Grundlage abgeschlossener Projekte werden Kennzahlen berechnet. Für das geplante Projekt werden der Gesamtaufwand oder andere grobe Merkmale prognostiziert. Durch die Anwendung der Kennzahlen auf die groben Merkmale entstehen genauere Aufwandsschätzungen. ■ Bei der Prozentsatzmethode, als Beispiel hierfür, wird der prognostizierte Gesamtaufwand mithilfe von Prozentsätzen auf die Phasen der Software-Entwicklung verteilt. Die beschriebenen Methoden werden oft als Bestandteil eines Verfahrens eingesetzt, das sich mehrerer Methoden bedient. Als Beispiel wird eines der bekanntesten Verfahren, Function-Points, kurz vorgestellt. • Function-Point-Verfahren: Im Verfahren wird zunächst die geplante Funktionalität erfasst. Dazu werden fünf Arten von Funktionen gezählt: – Dateneingabe, – Datenausgabe, – Dateifunktionen, – Referenzfunktionen und – Abfragen. ▲ Die Funktionen werden je nach ihrer Komplexität als einfach, mittel oder komplex eingeordnet und mit Punkten gewichtet. Diese Komplexität wird nach Kriterien wie Anzahl unterschiedlicher Elemente oder Performanceanforderungen beurteilt. ▲ Die so ermittelten Function Points werden auf der Grundlage von Einflussfaktoren aus dem Anwendungsumfeld korrigiert. Zu den Einflussfaktoren gehören zum Beispiel: • der geforderte Transaktionsdurchsatz, • die Schnittstellen zu anderen Systemen oder • die angestrebte Wiederverwendbarkeit von Modulen. Die Stärke des Einflusses jeden Faktors wird auf einer Skala zwischen 0 und 5 beurteilt. Die Summe der Einflussfaktoren wird durch zwei Konstanten (c1 und c2 in Formel 6.1) zu einem „Einflussgrad“ transformiert, mit dem die zuvor ermittelte Summe der Function Points multipliziert wird. ■ Das bisherige Vorgehen kann als eine Gewichtungsmethode betrachtet werden:  m n    z FP = ∑ ∑ fi j · g j · c1 + c2 · ∑ ek i=1 j=1

        (6.1)

        k=1

        In Formel (6.1) bezeichnen fi j die Anzahl der Funktionen der Funktionskategorie i mit dem Komplexitätsgrad j, g j das Gewicht des Komplexitätsgrades und ek ist der Einfluss des Einflussfaktors k.

        254

        6 Planung und Realisierung von Informationssystemen

        Wenn genügend Werte aus früheren Projekten vorliegen, kann auf Grund von tatsächlich verwendeten Personenmonaten (x-Achse) und realisierten Function Points (y-Achse) eine Erfahrungskurve konstruiert werden (siehe Abbildung unten). Mithilfe dieser Kurve und den errechneten korrigierten Function Points des geplanten Projekts kann dann in einem Analogieschluss der Projektaufwand in Personenmonaten geschätzt werden. Auf dieser Basis können alle projektbezogenen Kosten, z. B. mit einer Zuschlagskalkulation, berechnet werden. Function Points 6 e

        6000 e

        5000

        e

        e

        e e

        e

        4000 e

        3000

        e

        e

        e

        e

        e

        2000

        e e

        1000

        -

        0 0

        Personenmonate

        100 200 300 400 500 600 700

        ▲ Dieses Verfahren weist Vorteile gegenüber anderen Verfahren auf, bei denen Programmzeilen als Entwicklungsleistung gezählt werden, da es von einer bestimmten Programmiersprache oder -umgebung unabhängig ist. Bei entsprechender Erfahrung fällt der Zählaufwand auch nicht zu sehr ins Gewicht. Schließlich gibt es auch Werkzeuge, die das Verfahren unterstützen. ▲ Ein Nachteil ist, dass gute Schätzungen erst dann gemacht werden können, wenn bereits eine relativ detaillierte Funktionsmodellierung stattgefunden hat. Ein weiteres Problem ist, dass das Verfahren für die Software-Entwicklung der siebziger Jahre entwickelt wurde und damit für heutige Ansätze, z. B. die objektorientierte Software-Entwicklung, weniger geeignet ist. Deswegen wurden neue Varianten, wie etwa das Objekt-Point-Verfahren, entwickelt. Schwieriger als auf der Kostenseite stellen sich die Probleme auf der Nutzenseite dar. Das gilt insbesondere für IS, von denen strategische Vorteile erwartet werden, bspw. langfristig höhere Loyalität der Kunden gegenüber Produkten eines Unternehmens oder die Veränderung von Marktstrukturen. In solchen Fällen reichen die traditionellen Methoden der Investitions- und Finanzierungsrechnung nicht aus.

        6.3.2

        Nutzen von Informationen

        Da IS Informationen produzieren, ist es denkbar, den Nutzen eines IS über den Wert der Gesamtheit der produzierten Informationen berechnen zu wollen. Dazu muss zunächst der Wert einer einzelnen Information berechnet werden. Es können drei Ansätze hierzu unterschieden werden: • Subjektiver Wert von Informationen: Der Benutzer einer Information wird befragt, wie viel ihm die Information wert ist. Der ermittelte Wert hängt offensichtlich vom Informationsstand des Benutzers und einer Reihe von situativen Variablen ab, die der Betrachter vielleicht gar nicht kennt. Deswegen kann der ermittelte Wert nicht auf andere Personen oder Situationen übertragen werden.

        6.3 Aufwands- und Nutzenabschätzung

        255

        ▲ Da der Wert hier vor der Beschaffung und Nutzung der Information festgestellt wird, ist es auch nicht sicher, ob er wirklich erreicht wird. • Objektiver Wert von Informationen: Es wird das Ergebnis eines Entscheidungsprozesses zweimal betrachtet, einmal ohne die zu bewertende Information und einmal mit ihr. Der Informationswert ergibt sich aus der Differenz der Ergebnisse. ▲ Damit das Ergebnis korrekt ist, muss der Entscheidungsprozess beide Male unter ganz gleichen Umständen, bis auf die betrachtete Information, ablaufen. Das lässt sich in der Realität allerdings schwer erreichen. Wenn die Messung gelingt, weiß man, dass der berechnete Wert tatsächlich erreicht werden kann, da die Fähigkeiten des Entscheiders und seine Zielerreichungsbedürfnisse bereits in den Entscheidungsprozess eingeflossen sind. ▲ Da der objektive Wert nur nach Beschaffung der Information berechnet wird, macht diese Art der Ermittlung insbesondere dann Sinn, wenn davon ausgegangen wird, dass sich das gleiche Problem wiederholen wird. • Normativer Wert von Informationen: Es wird der erwartete Gewinn aus einer Entscheidung (und darauf folgender Aktion) mit und ohne der zu bewertenden Information berechnet. Die Differenz stellt den Informationswert dar. Für die Berechnung des erwarteten Gewinns ohne die Information werden a priori Wahrscheinlichkeiten über mögliche Umweltzustände herangezogen. Aus diesen Wahrscheinlichkeiten und den Wahrscheinlichkeiten über die Inhalte der zu bewertenden Information, ohne ihren tatsächlichen Inhalt kennen zu müssen, werden mithilfe des Bayes-Theorems a posteriori Wahrscheinlichkeiten berechnet, mit denen dann der erwartete Gewinn mit der Information ermittelt wird. ▲ Der Vorteil dieses Ansatzes liegt darin, dass die Wertermittlung objektiv und ex ante, d. h. vor der Beschaffung der Information, stattfindet. Die Schwierigkeit der Ermittlung von Wahrscheinlichkeiten über die Inhalte der Information stellt jedoch ein Hemmnis bei seiner Anwendung dar. ● Da die drei genannten Ansätze alle ihre Vor- und Nachteile haben, existiert kein dominantes Verfahren. Es sind Situationen denkbar, in denen keiner der Ansätze mit vertretbaren Kosten anwendbar ist. Wenn nun ein IS betrachtet wird, dass in vielen Situationen, über einen längeren Zeitraum und vielleicht von vielen Benutzern eingesetzt wird, erscheint der Weg über die Kumulation der einzelnen Informationswerte kaum gangbar. Deswegen kommen bei der Bewertung von IS andere Ansätze zur Anwendung.

        6.3.3

        Bewertung von Informationssystemen

        Die Wahl eines Verfahrens zur Bewertung eines IS kann nach verschiedenen Kriterien vorgenommen werden. Sofern das IS ein Anwendungssystem ist, kann als ein grobes Kriterium z. B. der Einsatzzweck des Anwendungssystems dienen, dessen Wert gemessen werden soll. Dabei wird zwischen drei Anwendungsgruppen unterschieden: • Substitutive Anwendungen ersetzen die menschliche Arbeitskraft. Wiederkehrende Aufgaben, deren Bewältigung wohl definiert ist, sollen mithilfe dieser Systeme effizient erledigt werden. Die Wirtschaftlichkeit solcher Systeme kann mit Verfahren der Investitions- und Finanzierungsrechnung bestimmt werden. ■ Ein Beispiel für eine substitutive Anwendung ist die kaufmännische Buchhaltung. • Komplementäre Anwendungen erhöhen die Produktivität und Effektivität der Menschen bei bestehenden Aktivitäten. Bei dieser Gruppe können ebenfalls Verfahren der Investitions- und Finanzierungsrechnung zur Anwendung kommen, doch sind die Ergebnisse solcher Rechnungen nicht sehr zuverlässig, da viele Werte, die in die Berechnungen eingehen, nur geschätzt werden können. Deswegen eignen sich hier Verfahren, die speziell für diesen Zweck entwickelt wurden. Dazu gehört z. B. das hedonistische Modell. ■ Ein Beispiel für komplementäre Anwendungen stellen Tabellenkalkulationsprogramme dar.

        256

        6 Planung und Realisierung von Informationssystemen

        • Innovative Anwendungen dienen dazu, Wettbewerbsvorteile zu erzielen oder -nachteile zu vermeiden. Solche IS können neue Produkte (z. B. im Finanzbereich) oder Dienstleistungen (z. B. im Internet) darstellen. Sie können auch zu Strukturveränderungen ganzer Branchen führen. Ihre Wirtschaftlichkeit ist sehr schwer zu messen, weil der dem IS zuzuordnende Nutzen in einem komplexen ökonomischen System entsteht, an dem viele Akteure beteiligt sind. Hier müssen oft fortgeschrittene ökonometrische Verfahren eingesetzt werden, die imstande sind, den Einfluss einzelner unabhängiger Variablen auf die interessierenden abhängigen Variablen herauszufiltern. ▲ In der Praxis wird ein IS oft für mehrere Ziele eingesetzt. Die Einführung der computergestützten Textverarbeitung, als ein Beispiel, kann sowohl substitutive als auch komplementäre Effekte hervorrufen. ● Ein anderes Kriterium zur Klassifikation der Bewertungsverfahren kann die Organisationsebene sein, auf der ein Verfahren vorwiegend angewendet wird. Dabei kommen grundsätzlich alle Organisationsebenen infrage, denn für jede dieser Ebenen gibt es IS, deren Einsatz bewertet werden muss. Schließlich werden manchmal auch die Auswirkungen von IS in ihrer Gesamtheit untersucht, sodass dann Unternehmen, Branchen oder ganze Volkswirtschaften als Betrachtungsebene dienen. Manchmal müssen auch mehrere Verfahren auf verschiedenen Ebenen eingesetzt werden, um ein vollständiges Bild aller Kostenund Nutzenaspekte zu erhalten. In der Literatur werden verschiedene Ebenenmodelle vorgeschlagen. Die nachfolgende Tabelle zeigt vier Betrachtungsebenen, die entsprechenden Organisationsebenen und je ein Beispiel für ein Verfahren zur Wirtschaftlichkeitsbewertung von IS, das vorwiegend auf dieser Ebene eingesetzt wird: Betrachtung Bereichsbezogen

        Organisationsebene Mitarbeiter Abteilung Bereichs- oder Geschäftseinheiten funktionsübergreifend Betriebsstätte Unternehmensweit Unternehmen Unternehmensübergreifend Unternehmensnetzwerke Branche Volkswirtschaft Weltwirtschaft

        Beispiel Hedonistisches Verfahren Nutzeffektketten Data Envelopment Analysis ökonometrische Produktionsoder Kostenfunktionen

        Nachfolgend werden einige der eingesetzten Verfahren etwas genauer dargestellt. • Time-Saving Time-Salary: Es wird versucht, auf der Basis der durch das betrachtete IS eingesparten Zeit der Mitarbeiter und ihrer Gehälter den Wert des IS zu berechnen. ▲ Es wird angenommen, dass der Einsatz des IS zu einer Zeitersparnis führt, die sich entweder in Form einer Ersparnis an Gehältern oder in Form zusätzlich erbrachter Leistung auswirkt. Wenn die berechneten Einsparungen nicht durch Reduktion der Arbeitskapazitäten sondern durch Erledigung zusätzlicher Arbeit realisiert werden sollen, geht das Modell davon aus, dass die eingesparte Zeit im selben Verhältnis wie vor dem Einsatz des IS auf die unterschiedlichen Tätigkeiten aufgewandt wird. Dabei wird angenommen, dass ausreichender Bedarf an dieser zusätzlichen Arbeit besteht. ▲ Eines der Probleme bei diesem Verfahren ist, dass die berechneten Einsparungen aufgrund von Restriktionen nicht immer realisiert werden können. Es ist aber auch schwer einzusehen, warum die Tätigkeitsanteile beibehalten werden sollen, denn das bedeutet z. B., dass ein Teil der durch den Einsatz des IS eingesparten Zeit bewusst unproduktiven Tätigkeiten zugeordnet wird. • Hedonistisches Verfahren: Wie beim Verfahren Time-Saving Time-Salary wird der Wert des IS auf der Basis der eingesparten Zeit der Mitarbeiter und ihrer Gehälter berechnet. Das Modell nimmt allerdings

        6.3 Aufwands- und Nutzenabschätzung

        257

        an, dass die eingesparte Zeit höherwertigen Tätigkeiten zugeordnet wird. Dazu ist die Berechnung der „hedonistischen Werte“ oder der impliziten Preise der einzelnen Tätigkeiten notwendig. ▲ Die Bestimmung der hedonistischen Werte und die anschließende Nutzenbewertung geschehen in folgenden Schritten: 1. Festlegung von Beschäftigtengruppen und Beschäftigtenanzahl und Gehaltskosten pro Gruppe 2. Erhebung der Tätigkeitsprofile 3. Ermittlung der hedonistischen Werte 4. Festlegung der Effizienz- und Effektivitätssteigerungen 5. Bestimmung des Projektnutzens ▲ Sind ci die Lohnkosten je Beschäftigungsklasse und pi j der Anteil der Zeit, den ein Beschäftigter der Kategorie i für Tätigkeiten des Typs j aufwendet, so lassen sich die hedonistischen Werte v j durch Lösen des Gleichungssystems Pv = c bestimmen. Hierbei sind P = (pi j ) (m,n)-Matrix der Tätigkeitsprofile mit m ≤ n, v = (v1 , . . . ,vn )T Vektor der hedonistischen Werte, c = (c1 , . . . ,cm )T Lohnkostenvektor. ▲ Ist li der Umfang an Arbeit der Beschäftigungskategorie vom Typ i, so erhält man mit l = (l1 , . . . ,lm)T den Wert der Arbeit wt in der Periode t durch wt = lT (Pt Et )v, wobei Pt die Tätigkeitsprofilmatrix in der Periode t und Et die Matrix der Effizienzsteigerungen in z der Periode t sind. Ist z der Zinssatz, so ergibt sich mit q = (1 + 100 ) der Barwert dieser Werte aus k Perioden mittels k

        w0 = ∑ wt q−t . t=0

        ▲ Der Projektnutzen kann dann als Differenz zwischen w0 und dem Barwert k

        wa = ∑(lT Pt v)q−t , t=0

        der sich ohne das Projekt ergibt, bestimmt werden. Von diesem Wert ist dann noch der Barwert der mit dem Projekt verbundenen Auszahlungen zu subtrahieren. • Nutzeffektketten: Die Nutzenentstehung wird entlang der Geschäftsprozesse verfolgt. Das führt i. d. R. zu einer bereichs- und funktionenübergreifenden Betrachtung. Hierbei wird versucht, die Auswirkungen des Einsatzes eines IS über den Ort seines unmittelbaren Einsatzes hinaus zu verfolgen. Es besteht auch die Hoffnung, dass man so von nicht oder schwer quantifizierbaren Nutzeffekten zu leichter quantifizierbaren Nutzeffekten vordringen kann. ▲ Diese Analyse kann zu einem guten konzeptionellen Verständnis der Wirkungszusammenhänge führen, doch der Ansatz lässt die Frage nach der genauen quantitativen Bewertung offen. ▲ Die nachfolgende Abbildung gibt ein Beispiel für eine Analyse der Nutzeffekte der Einführung eines Computer Aided Design (CAD) Systems über zwei Ebenen. Auf der ersten Ebene sind die Effekte an den Arbeitsplätzen im Konstruktionsbereich dargestellt, während die zweite Ebene die Auswirkungen in verschiedenen nachfolgenden Bereichen umfasst.

        258

        6 Planung und Realisierung von Informationssystemen

        • Data Envelopment Analysis (DEA) ist ein Verfahren der linearen Optimierung, bei dem alle betrachteten Entscheidungseinheiten (decision making units, DMU) bezüglich des Verhältnisses ihrer Outputs zu Inputs verglichen werden. Die Gewichte der einzelnen Inputs und Outputs werden durch das Verfahren ermittelt. ▲ Als Inputs auf Unternehmensebene können z. B. Mitarbeiter, Fertigungsanlagen, Grundstücke oder IT und als Outputs die von Unternehmen produzierten Produkte oder angebotenen Dienstleistungen verwendet werden. ▲ Das Verfahren ermittelt diejenigen Einheiten, die das beste Verhältnis von Outputs zu Inputs aufweisen, also effizient produzieren. Ihnen wird eine Effizienz von 1 zugeordnet. Die effizienten Einheiten bilden eine i. d. R. mehrdimensionale Produktionsgrenzebene, die alle Einheiten umhüllt. Dabei brauchen keine Annahmen über den funktionalen Zusammenhang zwischen Inputs und Outputs gemacht zu werden, wie dies bei parametrischen ökonometrischen Verfahren der Fall ist.

        6.3 Aufwands- und Nutzenabschätzung

        259

        ▲ Als Entscheidungseinheiten kommen ganze Unternehmen oder ihre relativ autonom operierenden Einheiten infrage, z. B. Einzelhandelsfilialen einer Handelskette oder Zweigstellen einer Bank. ▲ Den Entscheidungseinheiten, die nicht effizient produzieren, kann man basierend auf effizienten Referenzeinheiten aus ihrer (mathematischen) Nähe aufzeigen, wie sie ihre Effizienz erhöhen können. Wenn Ausgaben für IS oder andere Charakteristika des IS-Einsatzes als ein Inputfaktor in die Analyse eingehen, kann man die Auswirkungen der IS quantitativ bewerten. ▲ Wenn untersucht werden soll, wie viel Input unter Beibehaltung der erreichten Outputs eingespart werden kann, kommt das inputorientierte DEA-Modell zur Anwendung. Dieses ist wie folgt definiert: Die Produktionseffizienz der durch den Index 0 gekennzeichneten Entscheidungseinheit berechnet sich aus n

        n

        ∑ vi y0i

        i=1 m



        j=1

        ∑ viyki max!

        w j x0j

        i=1 m

        ∑ w j xkj

        ≤ 1 für k = 1, . . . ,N

        vi ,w j ≥ 0

        j=1

        N = Anzahl der Niederlassungen m = Anzahl der Inputs xkj = j-tes Input der k-ten Geschäftsstelle yki = i-tes Output der k-ten Geschäftsstelle

        n = Anzahl der Outputs w j = Gewicht für das j-te Input vi = Gewicht für das i-te Input

        • Produktions- und Kostenfunktionen werden traditionell in der Mikroökonomie eingesetzt, um die Produktionstechnologie eines Unternehmens, einer Branche oder einer Volkswirtschaft unter Berücksichtigung aller Produktionsinputs und -outputs abzubilden. ▲ Bei einer Kostenfunktion werden die entstandenen Gesamtkosten durch Faktorpreise und Outputmengen unter der Annahme erklärt, dass sich Unternehmen kostenminimierend verhalten. Dafür ist kein vollkommener Wettbewerb notwendig, sondern es reicht, dass Unternehmen als Preisanpasser reagieren. ▲ Zur Schätzung einer Kostenfunktion ist weiter die Annahme einer funktionalen Form notwendig. In der Praxis werden oft die Cobb-Douglas- oder die Translogkostenfunktion verwendet. Nach erfolgter Funktionsschätzung können damit wichtige Erkenntnisse über das Zusammenspiel der Produktionsfaktoren, Produktivität, Preiselastizitäten, der Verbundenheit der Produktionsoutputs und andere ökonomische Aspekte gewonnen werden. ▲ Wenn IT als einer der Produktionsfaktoren explizit in die Berechnungen eingeht, kann ihre Auswirkung auf die Gesamtkosten genau isoliert werden, ihre Substitutionsbeziehung zu Arbeit oder anderen Produktionsfaktoren kann berechnet werden. ▲ Längerfristige Betrachtungen sind mit diesem Ansatz ebenfalls möglich. Das ist wichtig, weil sich der Nutzen vieler großer Investitionen in IS erst nach einigen Jahren einstellt. Eine Gesamtkostenfunktion kann wie folgt ermittelt werden: Die Produktionstechnologie werde beschrieben durch die Transformationsfunktion F(x,y) ≤ 0 mit y = (y1 , . . . ,yn )T ein Vektor der Outputs und x = (x1 , . . . ,xm)T ein Vektor der Inputs. Unter den Annahmen, dass eine Firma Preisanpasser bezüglich der Inputs ist und ihre Produktionskosten minimiert, gibt es für die obige Produktionsfunktion die zugehörige Kostenfunktion C = h(y,w) mit w = (w1 , . . . ,wm )T ein Vektor der Inputpreise.

        260

        6 Planung und Realisierung von Informationssystemen Diese Kostenfunktion stellt die Lösung des folgenden Problems dar:   min wT x : F(x,y) ≤ 0 .

        ▲ Um die Kostenfunktion C schätzen zu können, muss eine bestimmte funktionale Form angenommen werden. Oft wird die Form einer Translogfunktion gewählt, weil sie flexibel ist und die Abbildung sinnvoller ökonomischer Zusammenhänge erlaubt. Sie stellt die Approximation einer beliebigen (Kosten)Funktion mit einer Taylorreihe zweiter Ordnung dar. Diese Funktion sieht in diesem Fall wie folgt aus: ln C = α 0 + ∑ σt + ∑ µ f + ∑ α i ln yi + ∑ β j ln w j 1 + 2

        

        t

        f

        i

        j

        ∑ ∑ Ais ln yi ln ys + ∑ ∑ B jk ln w j ln wk i

        s

        j

        k

        

        + ∑ ∑ Ci j ln yi ln w j i

        j

        σt ,µ f = firmenspezifische Effekte, die der Eigenschaft von Paneldaten Rechnung

        tragen, dass die gleichen Einheiten mehrfach beobachtet werden α i ,β j ,Ais ,B jk ,Ci j = zu schätzende Parameter Es müssen bekannt sein: Outputs (yi ), Inputpreise (w j ) und die Gesamtkosten (C). Zusätzlich zu dieser Funktion werden i. d. R. weitere Gleichungen aufgestellt, um Parametern ökonomisch sinnvolle Restriktionen aufzuerlegen. Die letzten beiden Verfahren sind nur ex post einsetzbar, sodass sie grundsätzlich nicht zur Unterstützung von Investitionsentscheidungen herangezogen werden können. Sie unterstützen eher die Lernprozesse in Unternehmen. Es sind aber auch Situationen denkbar, in denen diese Verfahren bei stufenweisem Einsatz von IT auch Entscheidungen ex ante unterstützen. Wenn z. B. Filialen eines Unternehmens mit IT ausgerüstet werden, können mit DEA die Auswirkungen dieser IT untersucht werden, um über die Ausweitung des Einsatzes oder eine Desinvestition zu entscheiden. ▲ Bei der Betrachtung auf der Ebene einer Branche, einer Volkswirtschaft oder gar der Weltwirtschaft geht es um die Frage des Einflusses der gesamten IT, oft zusammen mit der Kommunikationstechnologie, auf die Veränderung der betrachteten Einheit, z. B. im Zusammenhang mit der Beschäftigung. Aus Vergleichen auf Branchen-, Sektoren- oder Volkswirtschaftsebene wird manchmal versucht, Erkenntnisse für Maßnahmen zu gewinnen, z. B. derart, dass der Aufbau bestimmter Infrastrukturen subventioniert wird oder dass bestimmte Forschungen gefördert werden. ● Verfahren zur Bewertung von IS können auch danach unterschieden werden, wie viele Transformationsstufen zwischen Inputs und Outputs explizit berücksichtigt werden. Modelle mit mehr als einer Transformationsstufe versuchen, den Transformationsprozess zu erhellen, während Verfahren, die einen direkten Zusammenhang zwischen Inputs und Outputs modellieren, den Transformationsprozess als eine „Black Box“ betrachten. ▲ Der Vorteil der mehrstufigen Verfahren liegt darin, dass Auswirkungen von IT auf Produktionszwi-

        schenstufen erkannt werden können, die sich auf der Ebene der obersten Unternehmensziele nicht mehr bemerkbar machen. ■

        Ein Auftragsbearbeitungssystem kann z. B. dazu führen, dass Aufträge schneller und mit weniger Fehlern ausgeführt werden, ohne dass sich dies, aufgrund anderer Einwirkungen, bei Gewinnen bemerkbar macht.

        ▲ Der Nachteil der mehrstufigen Ansätze ist ihre im Vergleich zu einstufigen Verfahren noch höhere

        Komplexität. ● Bei jeder Bewertung des Einsatzes von IT ist es wichtig, dass alle relevanten Faktoren eines Erstellungsprozesses von Produkten oder Dienstleistungen erfasst werden. Das ist in der Praxis oft nicht der Fall, wenn z. B. nur mit einzelnen Kennzahlen gearbeitet wird. Oft wird das Verhältnis von gesamten

        6.3 Aufwands- und Nutzenabschätzung

        261

        DV-Ausgaben zum Gesamtumsatz oder Gesamtkosten in Beziehung zur Eigenkapitalrentabilität oder einer anderen Kennzahl gesetzt. Dann erfolgt ein Vergleich dieser Zahlen über mehrere Perioden oder Unternehmen, um daraus Schlüsse über die Wirtschaftlichkeit und Wirkung des Einsatzes von IS zu ziehen. Ein solches Vorgehen macht jedoch wenig Sinn, weil der gleichzeitige Einfluss aller anderen Faktoren außer Acht gelassen wird.

        6.3.4

        Outsourcing von IS

        Die Erbringung von Dienstleistungen, die auf Informationstechnologie (IT) basieren, kann auf verschiedene Weisen organisiert werden. Die beiden zunächst vorherrschenden Organisationsformen sind Markt und Hierarchie. Bei der ersten Form werden Dienstleistungen und Güter am Markt bezogen, während bei der zweiten Form die Leistungserbringung innerhalb einer Firma organisiert und vertraglich über Arbeitsverträge gesteuert wird. Kleinere Unternehmen und öffentliche Organisationen hatten oft keine eigenen nennenswerten Ressourcen für die Informationsverarbeitung aufgebaut, sondern bezogen diese Leistungen von gemeinsamen Rechenzentren (z. B. kommunalen oder genossenschaftlichen Rechenzentren). Seit Anfang der neunziger Jahre lagern jedoch auch große Unternehmen große Teile ihrer Informationsabteilungen aus. Dafür wird der Begriff Outsourcing (von IT-Dienstleistungen) verwendet. ● Outsourcing: Die vertragliche Vereinbarung zwischen einem Unternehmen und einem anderen unabhängigen Unternehmen (Outsourcinganbieter), bestimmte IT-Dienstleistungen zu bestimmten Konditionen über einen bestimmten Zeitraum zu liefern. Dabei werden oft Mitarbeiter, Rechenzentren oder andere IT-Ressourcen vom Auftraggeber auf den Outsourcinganbieter übertragen. ▲ Hiervon sind prinzipiell projektbasierte Verträge zu unterscheiden, bei denen der Auftragnehmer

        die Erledigung einer genau definierten Aufgabe übernimmt (z. B. die Entwicklung eines Softwareprogramms). In der Praxis sind diese Fälle manchmal schwierig zu unterscheiden. Das liegt daran, dass sie sich über Jahre erstrecken und oft von Nachfolgeprojekten zwecks Systemerweiterungen gefolgt werden. ▲ Der noch immer vorherrschende Grund für Outsourcing ist der Wunsch, IT-Kosten zu sparen. Es

        wird davon ausgegangen, dass der Outsourcinganbieter aufgrund seiner Spezialisierung und ökonomischer Größenvorteile (economies of scale) die benötigten Leistungen kostengünstiger erbringen kann. Andere Gründe sind z. B. das Unbehagen der Unternehmensführung eine eigene IT-Abteilung zu steuern und zu unterhalten, der Wunsch nach schnellerem Übergang von der benutzten IT zu einer neueren Technologie oder die Notwendigkeit, die in die IT investierten Finanzmittel für teilweise andere Zwecke freizusetzen. ▲ Outsourcing bringt jedoch nicht nur Vorteile sondern auch Risiken mit sich. Dazu gehören Aspekte

        wie Vertraulichkeit der Kunden- und anderer firmeninternen Daten, die die wichtigsten Aktiva eines Unternehmens darstellen können, die Gefahr der „Gefangennahme“ durch den Outsourcinganbieter oder die Gefahr, dass der Outsourcinganbieter die strategischen Potenziale des Einsatzes von IT auf dem Geschäftsfeld des Auftraggebers nicht erkennt, weil in dieser Form die IT scheinbar nicht mehr strategische Wichtigkeit besitzt. Um einigen dieser Risiken vorzubeugen, sind weitere Varianten des Outsourcing entwickelt worden: ● Cosourcing: Ein Unternehmen und ein Outsourcinganbieter gründen eine Tochtergesellschaft, die ITDienstleistungen für das Mutterunternehmen und eventuell auch für dritte Parteien erbringt. Bei dieser Regelung wird IT-Kompetenz von außen geholt, ohne die Kontrolle über die frühere IT-Abteilung ganz zu verlieren. Diese Form wird auch als Ausgliederung bezeichnet, insbesondere wenn kein Outsourcinganbieter dazugezogen wird. Erfolgreiche Cosourcing-Allianzen können mit der Zeit u. a. daran erkannt werden, dass der Anteil des mit dem Mutterunternehmen erzielten Umsatzes stark abgenommen hat. ● Insourcing: Ein Unternehmen lässt bei einer möglichen Entscheidung für Outsourcing auch die eigene IT-Abteilung ein Angebot abgeben. Wenn diese den Wettbewerb gewinnt, wird ein Vertrag abge-

        262

        6 Planung und Realisierung von Informationssystemen

        schlossen, in dem sowohl die zu erbringenden Leistungen als auch eine erfolgsabhängige Entlohnung festgelegt wird. Bei dieser Regelung wird Wettbewerbsdruck auf die IT-Abteilung ausgeübt, ohne wiederum die Kontrolle über sie ganz zu verlieren. Wenn es zu keinen echten Verträgen mit der ITAbteilung und keinem Outsourcing kommt, so hilft der Wettbewerb zumindest, die Kosten der DVLeistungen transparent zu machen und die IT-Abteilung an die Möglichkeiten des Outsourcings zu erinnern. ● Outsourcing von Geschäftsfunktionen: Bei einer IT-intensiven Geschäftsfunktion wird nicht nur die Erbringung von IT-Dienstleistungen sondern auch die Funktion selbst an den Outsourcinganbieter übertragen. Die Bezahlung des Anbieters ist an den Gewinnbeitrag gekoppelt. Bei dieser Form wird versucht, über Anreizstrukturen die Interessen der Vertragsparteien stärker aneinander zu binden. Für den Outsourcinganbieter sind solche Konstruktionen besonders dann interessant, wenn die Chance besteht, über das gewonnene Funktionsknowhow weitere Kunden zu gewinnen. So können sich Outsourcinganbieter von IT-Spezialisten zu Spezialisten für z. B. Logistik oder Zahlungsverkehr entwickeln. ● Selektives Outsourcing: Es werden nur einzelne IT-Funktionen fremd bezogen. Wenn nicht sämtliche IT-Funktionen an Dritte vergeben werden, ist es einfacher, Funktionen wieder hereinzuholen, wenn die Ergebnisse des Outsourcing nicht zufrieden stellend sind. IT-Funtkionen, die häufig Outsourcinganbietern übertragen werden, sind Rechenzentrumsbetrieb, Netzwerkmanagement oder Desktopservices. Die meisten Unternehmen betreiben heute irgendeine Form von Outsourcing, da es bei der Komplexität der IT fast unmöglich ist, in allen Bereichen durch hierarchische Organisation optimale Ergebnisse zu erzielen. Es werden auch oft verschiedene Outsourcinganbieter in Anspruch genommen, um die Gefahr einer zu starken Abhängigkeit von einem Anbieter zu verringern.

        6.4

        Klassische Modellierungsansätze zur IS-Entwicklung

        Die hier dargestellten Beschreibungsverfahren finden ihre Anwendung in der Definitions- und Entwurfsphase. Sie dienen einer strukturierten Analyse und Konzeption des Informationssystems. Sie stellen grafisch orientierte Strukturhilfen zur Abbildung der benötigten Daten und Funktionen des IS zu Verfügung.

        6.4.1

        Entity-Relationship-Model (ERM)

        Das Entity Relationship Modell (Chen) dient der Beschreibung der für ein IS notwendigen Daten. Im Gegensatz zur Strukturierten Analyse (siehe unten) werden Daten jedoch nicht als Stromgröße (Input/Output) betrachtet, sondern als Bestandsdaten. ● Die Beziehungen zwischen den einzelnen Daten stehen im Vordergrund. ▲ Das ERM ist die bekannteste und auch in der Praxis am häufigsten verwendete Methode zur Datenmodellierung. ● Folgende Elemente dienen zur Abbildung eines Realitätsausschnittes mittels eines ERM: • Entitäten (Entities) repräsentieren alle Dinge (Datenobjekte), die eindeutig identifiziert werden können (reale Objekte, abstrakte Konzepte, Ereignisse). • Beziehungen (Relationships) stellen die Verbindung zwischen den Entitäten dar. • Attribute sind Eigenschaften, die eine Entität oder eine Beziehung beschreiben. • In der Regel wird in einem ERM eine Klassifizierung (Menge aller Objekte, welche die gleichen Attribute aufweisen) vorgenommen, ohne dass explizit darauf hingewiesen wird. Man spricht im Falle einer Klassifizierung von einem Entitytyp bzw. einem Beziehungstyp. • Kardinalitäten beschreiben im Sinne der mathematischen Relationentheorie die funktionale Beziehung der Entitäten als mehrdeutig (m : n), eindeutig (1 : n) und eineindeutig (1 : 1).

        6.4 Klassische Modellierungsansätze zur IS-Entwicklung

        263

        Entitytyp Entitätstyp Datenobjekttyp Relationshiptyp Beziehungstyp

        RelationshipName

        Property Attribut Eigenschaft 1 : 1-Beziehung

        1 : n-Beziehung

        n : m-Beziehung ● Mit den einzelnen Strukturelementen können alle entscheidungsrelevanten Datenobjekte und ihre Beziehungen abgebildet werden. Das Ergebnis ist eine komplexe Abbildung der Datenstruktur (hier nur ausschnittsweise dargestellt):

        ist enthalten in

        ist enthalten in

        Zw.-Nr.

        Beispiel einer komplexen Datenstruktur

        264

        6 Planung und Realisierung von Informationssystemen

        ▲ Es existieren viele Erweiterungen des ERM. Das Ziel dieser Erweiterungen besteht in der Erhöhung der Semantik. Semantische Erweiterungen gab es bei Hierarchien/Abstraktionsformen, Kardinalitäten, Existenzabhängigkeiten, sowie Kombinationen von Beziehungs- und Entitytypen.

        a) Hierarchien/Abstraktionsformen Bei Hierarchien/Abstraktionsformen gibt es unterschiedliche Ansätze, die sich i. W. auf die folgenden Konstruktionsoperatoren reduzieren lassen: • Bei einer Klassifizierung werden gleichartige Elemente zusammengefasst. Elemente sind gleichartig, wenn sie sich durch die gleichen Attribute beschreiben lassen (Entity wird zu Entitätstyp, Beziehung zu Beziehungstyp). • Bei der Generalisierung/Spezialisierung werden ähnliche Entitytypen zu einem übergreifenden Enititytyp zusammengefasst. ■ „is-a“- Beziehung (Generalisierung)

        ist ein

        ■ Beispiel: Erweitertes ERM:

        enthält

        ist enthalten in

        erteilt ist ein

        ist enthalten in

        erhält

        ist ein

        Erweitertes ERM

        6.4 Klassische Modellierungsansätze zur IS-Entwicklung

        b) Alternative Repräsentationsformen der Kardinalitäten Die „Krähenfußnotation“ ist eine semantische Erweiterung des ERM: einem Entity aus Typ A ist genau ein Entity aus Typ B zugeordnet ... ist kein oder ein Entity aus Typ B zugeordnet ... ist ein oder mehrere Entities aus Typ B zugeordnet ... ist kein, ein oder mehrere Entities aus Typ B zugeordnet ... ist mehr als ein Entitiy aus Typ B zugeordnet

        „Krähenfußnotation“ von Kardinalitäten Präzisierung der Kardinalitäten nach der CHEN-Notation: • 1 : 1-Beziehungstyp ■ • 1 : n-Beziehungstyp ■ • n : m-Beziehungstyp ■ ■ ERM mit Krähenfußnotation:

        ist enthalten in bezogen auf

        265

        266

        6 Planung und Realisierung von Informationssystemen

        Die Beziehungskomplexität (Schlateger/Stucky), also die Zuordnung eines Entitytyps zu einem Beziehungstyp, wird als Tupel (min, max) angegeben. ● Es existieren vier Grundtypen von Komplexitätsgraden zwischen Entitytypen und Beziehungstypen: • (0,1) keinen oder einen, • (1,1) genau einen, • (0,*) keinen, einen oder mehrere, • (1,*) einen oder mehrere. ■ ERM in Schlateger/Stucky-Notation: (0,*) (1,*)

        ist enthalten in

        enthält (1,1) (1,1)

        erteilt

        (1,1)

        (0,*)

        (0,*) (1,1) (1,1)

        ist ein

        ist enthalten in (0,*) (1,*)

        (1,1)

        (0,*) (0,*)

        erhält (1,1) (1,1)

        (1,*)

        (1,1)

        (1,1)

        (1,*)

        ist ein

        c) Mischformen von Entities und Relationships sowie Existenzabhängigkeiten ▲ Bei der Modellierung kann man oftmals eine Zwitterrolle von Entitytypen und Beziehungstypen feststellen. Häufig werden Beziehungssymbole mit Entity-Symbolen überlagert. Damit geht die semantische Unterscheidung zwischen Entity und Beziehung verloren. ■ n

        m

        m

        Auftragsposition

        n

        6.4 Klassische Modellierungsansätze zur IS-Entwicklung

        267

        ▲ Ein anderes Problem sind Existenzabhängigkeiten von Entities durch schwache Entitytypen (weak entity). Die Existenz eines schwachen Entitytyps ist abhängig von der Existenz eines anderen Entitytyps. ■ So existiert ein Objekt „Mitarbeiter“ nur innerhalb einer Abteilung oder Firma. arbeitet in

        ▲ Ein Problem der Datenmodellierung nach der Methode des ERM ist, dass der Entwickler eines IS entscheiden muss: • Was ist ein Entity? • Was ist eine Beziehung? • Was ist ein Attribut? Die Antwort auf diese Fragen ist abhängig von der Anwendung des zu modellierenden Systems. ■ Beispielsweise ist der Autor eines Buches für das Buchungssystem eines Verlags ein Entity, für ein

        Bibliotheksverwaltungssystem ist der Autor ein Attribut des Buches.

        6.4.2

        Strukturierte Analyse (SA)

        Die Strukturierte Analyse (SA) konzentriert sich auf die Modellierung der Funktionssichten eines IS. Diese werden in Form von Aktivitäten definiert, die durch Datenflüsse verknüpft sind. • Aktivitäten entsprechen betrieblichen Aufgaben mit ablauforientierter Aufgabenstruktur. Eine Aktivität transformiert Input-Datenflüsse in Output-Datenflüsse. Formal ist eine Aktivität daher als Input-OutputSystem interpretierbar. • Datenflüsse stellen Interaktionskanäle zwischen Systemkomponenten dar, die als Schnittstellenvereinbarungen definiert werden. • Ein Datenfluss verbindet eine Aktivität mit einer weiteren Aktivität, einem Datenspeicher oder einer Umweltkontaktstelle. Zur zeitlichen Pufferung von Datenflüssen dienen in der SA Datenspeicher. • Zur Modellierung der Umwelt des Systems werden in der SA Terminatoren (Umweltkontaktstellen) verwendet. Diese dienen als Quellen und Senken von Datenflüssen aus der Umwelt bzw. an die Umwelt. ● Die SA dient der Erfassung aller entscheidungsrelevanten Datenströme und Datentransformationen eines IS mit folgenden Darstellungsmitteln: • Das Datenflussdiagramm (DFD) dient der Modellierung des Zusammenwirkens der Aktivitäten untereinander und mit der Systemumgebung. ▲ Die Darstellung des DFD erfolgt mittels grafischer Symbole. Die Aktivitäten und Datenflüsse

        werden schrittweise verfeinert (Top-Down). • Das Data Dictionary (DD) dient der detaillierten Beschreibung der Inhalte von Datenflüssen und -speichern. • Die Mini-Spezifikation (Mini-Spec) beschreibt das Verhalten einer nicht mehr weiter zu zerlegenden Aktivität, insbesondere die Transformation der Input- zu Output-Daten. Als Darstellungsform wird eine strukturierte Umgangssprache (Pseudocode) verwendet.

        268

        6 Planung und Realisierung von Informationssystemen

        Grafische Symbole zur Darstellung eines DFD: Aktivität Transformation Funktion Konten Datenspeicher Data Store „ruhende Daten“ Datenfluss Pipeline „fließende Daten“ Terminator Input/Output-Stelle Datenquelle/-senke ▲ Die SA sieht eine hierarchische Verfeinerung des DFDs vor. Auf der obersten Ebene, dem Kontext-Diagramm, werden die Beziehungen des IS mit der Umwelt abgebildet. Nur in diesem Diagramm werden Terminatoren verwendet, während das IS als eine Aktivität dargestellt wird. Pipelines definieren alle Interaktionen des IS mit der Umwelt. In der Ebene 0 wird das IS in seine grundlegenden Funktionen (Aktivitäten) zerlegt. Durch immer verfeinerte Aufspaltung der einzelnen Aktivitäten kommt man zu einer hierarchischen, baumartigen Struktur einzelner DFD. Die Aktivitäten der untersten Zerlegungsstufe werden in Form von Mini-Specs beschrieben. Neben den Aktivitäten sind auch Datenflüsse zerlegbar. ● Jeder durch Zerlegung entstandene Datenfluss muss aber eindeutig einem Datenfluss der nächst höheren Ebene zuzuordnen sein, d. h. bei der Verfeinerung des Systems dürfen zusätzliche Datenflüsse nur durch die Zerlegung von Aktivitäten entstehen. Zur Beschreibung der in Datenflüssen und Datenspeichern verwendeten Daten dient das DD.

        Hierarchische Struktur der SA

        6.4 Klassische Modellierungsansätze zur IS-Entwicklung

        269

        ▲ Als Faustregel gilt, dass ein DFD höchstens etwa 6 Aktivitäten enthalten sollte. Ebenso sollte der Darstellungsumfang eines Mini-Specs eine Druckseite nicht überschreiten.

        6.4.3

        Ereignisgesteuerte Prozesskettendiagramme

        Ereignisgesteuerte Prozesskettendiagramme (EPK) dienen der Beschreibung von Abläufen, d. h. dem Zusammenhang von Ereignissen, Aktivitäten und Ablaufreihenfolgen. ● EPKs sind besonders geeignet, ereignisgesteuerte Programmabläufe zu modellieren. Hierbei lösen Ereignisse Aktivitäten aus, die wiederum als Ergebnis neue Ereignisse haben müssen: • Ereignisse bezeichnen das Auftreten eines Objektes oder die Änderung einer bestimmten Attributausprägung. • Aktivitäten sind kleine Programme, Funktionen oder Methoden, die aufgrund des Auftretens von Ereignissen ausgeführt werden. ● Ereignisse und Aktivitäten können mit verschiedenen Verknüpfungsoperatoren verbunden werden: • exklusives ODER (XOR) • ODER (OR) • UND (AND)

        a) Grafische Beschreibungselemente Ereignis Aktivität Verknüpfungsoperatoren Abhängigkeiten zwischen Ereignissen und Aktivitäten ● Jedes EPK beginnt mit mindestens einem Ereignis (Startereignis) und wird mit mindestens einem Ereignis (Endereignis) abgeschlossen. Nur wenn bei einer hierarchischen Zerlegung im Sinne einer Verfeinerung von Aktivitäten auf ein anderes EPK verwiesen wird, kann von dieser Regel abgewichen werden. ● Grundsätzlich (ohne Verwendung der Verknüpfungsoperatoren) folgt auf jedes Ereignis eine Aktivität, wiederum gefolgt von einem Ereignis. ● Als semantische Erweiterungen können den Aktivitäten die mit der Ausführung betrauten Organisationseinheiten sowie ein- und ausgehende Datenobjekte zugeordnet werden.

        b) Semantische Erweiterungen Verweis auf ein anderes EPK / Hierarchische Verfeinerung von EPKs Daten/Materialobjekt organisatorische Einheit Informations-/Materialsfluss Zuordnung organisatorischer Einheiten

        270

        6 Planung und Realisierung von Informationssystemen

        ■ Beispiel eines EPKs:

        6.4.4

        Petri-Netze

        Petri-Netze sind Modelle verteilter Systeme, bei denen die lokalen Auswirkungen von Operationen und die lokalen Einwirkungen auf Objektzustände wesentlich sind. Mit einem Petri-Netz lassen sich Flüsse von Informationen, nebenläufig agierende Komponenten und Synchronisationsprobleme anschaulich und präzise darstellen. Zu den Anwendungen gehören die Modellierung von Systemen und Prozessen in der Automatisierungstechnik, von Abläufen in der Wirtschaftsinformatik und von verteilten Algorithmen in der Kerninformatik. ▲ Carl-Adam Petri hat mit seiner Dissertation 1962 die Grundlagen der Petri-Netz-Theorie gelegt. Seitdem haben sich eine große Zahl verschiedener Varianten von Petri-Netzen etabliert. Petri-Netze verdanken ihre Popularität in Wissenschaft und Praxis der einfachen und mathematisch fundierten Modellsprache, der einheitlichen grafischen Darstellung und der formalen Semantik der Modelle, die Grundlage für Simulations- und Analyseverfahren ist. Erweiterungen erlauben eine spezifische Ausdrucksmächtigkeit für verschiedene Anwendungsbereiche. ▲ Petri-Netze hatten großen Einfluss auf jüngere Modellierungstechniken wie ereignisgesteuerte Prozessketten (EPK), oder Activity Diagrams der Unified Modeling Language (UML). Sie werden insbesondere in der Ausbildung und als Referenzmodell zur semantischen Fundierung anderer Sprachen eingesetzt, stellen aber auch mit jeweils angepasster Benutzungsschnittstelle selbst einen in der Praxis aktuell verbreiteten Modellierungsformalismus dar.

        a) Grundbegriffe ● Ein Petri-Netz ist ein gerichteter Graph mit zwei unterschiedlichen Typen von Knoten: • Stellen (auch Plätze genannt), dargestellt durch Kreise oder Ellipsen und • Transitionen, dargestellt durch Rechtecke oder fett gesetzte Striche.

        6.4 Klassische Modellierungsansätze zur IS-Entwicklung

        271

        Petri-Netze sind bipartit, keine Kante verbindet zwei Stellen oder zwei Transitionen. ■ Beispiel eines Petri-Netzes: a

        s1

        s2

        b

        s5

        s3

        s4 e

        c d

        ● Verschiedene Netzklassen erlauben die Modellierung auf unterschiedlichen Abstraktionsebenen. Die Komponenten eines Petri-Netzes haben, unabhängig von der konkret betrachteten Netzklasse, eine einheitliche Interpretation: • Eine Stelle repräsentiert ein oder mehrere Objekte, die mehrere Zustände annehmen können. • Eine Transition repräsentiert eine oder mehrere Operationen, die nur unter gewissen Zuständen von Objekten möglich sind und die sich auf Zustände von Objekten auswirken. • Die Schaltregel gibt an, unter welchen Objektzuständen eine Transition schalten kann, d. h. die entsprechende Operation möglich ist (Aktivierungsbedingung) und welche Zustandsänderungen bei welchen Objekten dadurch bewirkt werden. Sie unterscheidet sich für verschiedene Netzklassen. • Das Lokalitätsprinzip fordert, dass sowohl die Aktivierungsbedingungen einer Transition als auch die durch ihr Schalten bewirkten Zustandsveränderungen ausschließlich Stellen betreffen, die direkt durch eine Kante mit der Transition verbunden sind. Umgekehrt hat der Zustand einer Stelle nur Auswirkungen auf Transitionen in der direkten Umgebung der Stelle und er kann nur durch diese Transitionen verändert werden. • Jeder Stelle ist eine Menge zugeordnet (Bereich), aus der die Marken für diese Stelle stammen. Jedes Element des Bereiches kann grundsätzlich auch mehrfach auf der Stelle liegen. • Ein globaler Zustand wird durch eine Markierung aller Stellen beschrieben, die jeder Stelle eine Multimenge über ihrem Bereich zuordnet. • Zur Definition eines Petri-Netzes gehört neben Angabe einer endlichen Stellen- und einer endlichen Transitionenmenge die Menge der gerichteten Kanten (Flussrelation). • Ein markiertes Petri-Netz ist ein Petri-Netz mit einer initialen Markierung aller Stellen.

        b) Elementare Petri-Netze Elementare Petri-Netze sind die ursprüngliche Variante von Petri-Netzen. Marken elementarer Petri-Netze sind ununterscheidbar und werden durch schwarze Punkte dargestellt. Eine Markierung gibt an, wie viele Marken jeweils auf den Stellen liegen. ● Der Bereich jeder Stelle eines elementaren Petri-Netzes ist die einelementige Menge {•}. Da sich jede Multimenge über {•} eineindeutig als nichtnegative ganze Zahl darstellen lässt, werden Markierungen elementarer Netze durch Abbildungen der Stellenmenge in {0,1,2, . . .} definiert. ▲ Wenn die Stellenmenge geordnet ist, lässt sich eine Markierung durch einen Vektor darstellen. ■ (1,0,0,1,0) ist die Markierung des Beispiel-Netzes, in dem die Stellen s1 und s4 eine Marke tragen

        und die anderen Stellen keine Marke tragen. ● Für eine Transition t bezeichne •t die Menge der Stellen, von denen aus eine Kante nach t führt (Vorbereich) und t • die Menge der Stellen, zu denen von t aus eine Kante führt (Nachbereich). Die

        272

        6 Planung und Realisierung von Informationssystemen

        Aktivierungsbedingung fordert, dass t nur unter einer Markierung m schalten kann, wenn m(s) > 0 für jede Stelle s in •t gilt, jede Stelle im Vorbereich von t also wenigstens eine Marke trägt. Das Schalten t von t führt nach der Schaltregel zur Folgemarkierung m  von m (Notation: m −→ m  ), definiert durch:  •  / t•  m(s) − 1 falls s ∈ t unds ∈ m  (s) = m(s) + 1 falls s ∈ / •t unds ∈ t •   m(s) sonst ■ Im Beispiel sind unter der Markierung (1,0,0,1,0) die Transitionen c und e aktiviert. Das Schalten

        von c führt zur Folgemarkierung (0,0,1,1,0), das Schalten von e zu (1,0,0,0,1). ● Eine Schaltfolge, aktiviert durch eine Markierung m, ist eine Sequenz τ = t1 t2 t3 . . . tn, n ≥ 0, von (nicht t3 t1 t2 tn m1 −→ m2 −→ · · · −→ mn für geeignete notwendigerweise verschiedenen) Transitionen, sodass m −→ τ Markierungen m1 ,m2 ,m3 , . . . ,mn gilt (Notation: m −→ mn ). Für n = 0 ist τ die leere Folge λ , diese ist λ von jeder Markierung m aktiviert (Notation: m −→ m). Eine Markierung m  ist von einer Markierung m τ erreichbar, wenn eine Schaltfolge τ mit m −→ m  existiert. Für gegebene Markierungen m und m  eines Petri-Netzes ist entscheidbar, ob m  von m erreichbar ist. ● Erreichbare Markierungen eines markierten elementaren Petri-Netzes sind alle von der Anfangsmarkierung aus erreichbaren Markierungen. Ein markiertes elementares Petri-Netz heißt beschränkt, wenn für jede Stelle s eine natürliche Zahl k existiert, sodass m(s) ≤ k für alle erreichbaren Markierungen m gilt. Es heißt sicher, wenn m(s) ≤ 1 für alle erreichbaren Markierungen m gilt. In diesem Fall lässt sich jede Stelle als Bedingung interpretieren, die entweder den Wert falsch (keine Marke) oder den Wert wahr (eine Marke) haben kann. ● Ein markiertes elementares Petri-Netz (N,m0 ) heißt terminierend, wenn es eine natürliche Zahl k gibt, sodass alle von m0 aktivierten Schaltfolgen höchstens die Länge k haben. Es heißt verklemmungsfrei, wenn keine erreichbare Markierung existiert, die keine Transition aktiviert. Es heißt lebendig, wenn jede erreichbare Markierung eine Schaltfolge aktiviert, die alle Transitionen enthält, jede Transition also immer wieder schalten kann. Es heißt rücksetzbar, wenn m0 von jeder erreichbaren Markierung erreicht werden kann. ■ Das Beispielnetz ist mit jeder initialen Markierung beschränkt. Mit der initialen Markierung (1,0,0,1,0) ist es sicher, nicht terminierend, verklemmungsfrei, lebendig und rücksetzbar. ● Der Erreichbarkeitsgraph repräsentiert das sequenzielle Verhalten eines markierten elementaren PetriNetzes (N,m0 ). Seine Knoten sind die erreichbaren Markierungen, mit ausgezeichnetem initialem t Knoten m0 . Für jede erreichbare Markierung m und jeden möglichen Schaltvorgang m −→ m  hat der Erreichbarkeitsgraph eine gerichtete Kante von dem Knoten m zu dem Knoten m  , die mit t beschriftet ist. Der Erreichbarkeitsgraph ist genau dann endlich, wenn das Petri-Netz beschränkt ist. Er ist genau dann azyklisch, wenn das Petri-Netz terminierend ist. Er hat genau dann keinen Knoten ohne ausgehende Kante, wenn das Petri-Netz verklemmungsfrei ist. Er ist genau dann stark zusammenhängend, wenn das Petri-Netz rücksetzbar ist. ■ Der Erreichbarkeitsgraph des Beispielnetzes mit Anfangsmarkierung (0,0,1,1,0): (0, 0, 1, 1, 0)

        e

        b d

        (0, 0, 1, 0, 1)

        c

        (1, 0, 0, 1, 0)

        start

        (0, 1, 0, 0, 0)

        e a

        d (1, 0, 0, 0, 1)

        6.4 Klassische Modellierungsansätze zur IS-Entwicklung

        273

        c) Modellierung mit sicheren elementaren Petri-Netzen ● Die sequenzielle Nacheinanderausführung zweier Aktionen wird durch eine Stelle modelliert, die im Nachbereich der ersten und im Vorbereich der zweiten Transition liegt und keine weiteren ein- oder ausgehenden Kanten hat.

        ● Ein Konflikt zwischen zwei Transitionen liegt unter einer Markierung eines sicheren markierten elementaren Petri-Netzes vor, wenn beide Transitionen aktiviert sind und eine Stelle im Vorbereich beider Transitionen liegt. Alternative Aktionen werden also durch Transitionen modelliert, die im Nachbereich einer verzweigenden Stelle liegen. Entsprechend wird die Zusammenführung von Alternativausführungen durch rückwärts verzweigende Stellen modelliert.

        ● Der Beginn nebenläufiger Aktionen wird durch eine Transition mit mehreren Nachbereichsstellen modelliert, die jeweils im Vorbereich verschiedener Transitionen liegen. Die Synchronisation wird entsprechend durch eine rückwärts verzweigende Transition dargestellt, die erst schalten kann, wenn alle Stellen in ihrem Vorbereich eine Marke erhalten haben.

        ● Ein Free-Choice Netz ist strukturell eingeschränkt auf die im Folgenden dargestellten Bausteine für Alternativen und Synchronisation (der dritte Baustein für die Sequenz ist ein Spezialfall der beiden anderen):

        Diese Netzbausteine lassen sich mittels Kanten von Transitionen zu Stellen beliebig kombinieren. Für Free-Choice Netze existieren reichhaltige Theorien, die insbesondere effiziente Analyseverfahren für die oben genannten Verhaltenseigenschaften zur Verfügung stellen. Ein Netz ist nicht free-choice, wenn alternative Transitionen vollständig oder teilweise gesteuert werden sollen und dafür zusätzliche Vorbereichsstellen besitzen. Die Modellierung von IF-THEN-ELSE-Kontrukten ist daher mit FreeChoice-Netzen nicht möglich.

        d) Erweiterungen elementarer Petri-Netze ● Das Schalten einer Transition kann statt einer mehrere Marken von oder auf eine Stelle bewegen. Die Anzahl wird durch die Beschriftung der entsprechenden Kante mit einem Kantengewicht spezifiziert. ● Die Beschränktheit einer Stelle kann mithilfe einer spezifizierten Kapazitätsbeschränkung erzwungen werden. Diese muss von der initialen Markierung respektiert werden. Für die Aktivierung einer

        274

        6 Planung und Realisierung von Informationssystemen

        Transition gilt zusätzlich zu den oben genannten Bedingungen, dass durch das Schalten der Transition keine Kapazitätsbeschränkung verletzt wird. Die viel untersuchte Klasse der elementaren Netzsysteme besteht aus markierten elementaren Petri-Netzen ohne Zyklen der Länge zwei (d. h. keine Stelle ist zugleich im Vor- und Nachbereich einer Transition) mit Kapazitätsbeschränkung 1 für jede Stelle. ● Die Aktivierung einer Transition kann zusätzlich davon abhängig gemacht werden, ob eine bestimmte Stelle nicht markiert ist. Diese Bedingung wird mit einer so genannten Verhinderungskante spezifiziert. Die Erreichbarkeit einer Markierung ist für Netze mit Verhinderungskanten nicht entscheidbar.

        e) Höhere Petri-Netze ● In höheren Petri-Netzen sind im Gegensatz zu elementaren Petri-Netzen die Marken unterscheidbar. Sie können beliebige Datenstrukturen repräsentieren. Eine Transition kann in verschiedenen Schaltmodi schalten. In einem Schaltmodus ist festgelegt, welche Marken auf den Stellen im Vor- und Nachbereich der Transition bewegt werden. Entsprechend fordert die Aktivierungsbedingung für einen Schaltmodus einer Transition, dass die entsprechenden Marken zur Verfügung stehen. Formal wird das Schaltverhalten einer Transition bezüglich einer Stelle in ihrem Vor- oder Nachbereich durch eine Abbildung von der Menge der Schaltmodi der Transition in die Multimenge über dem Bereich der Stelle spezifiziert. ● Prädikat/Transitions-Netze sind eine syntaktische Ausprägung von höheren Petri-Netzen. Jede Kante (von bzw. zu einer Stelle s) ist mit einem Term beschriftet, der Variablen enthalten kann. Durch Zuordnung passender Werte an diese Variable entstehen Elemente des Bereiches der Stelle s. Ein Schaltmodus einer Transition t ist eine entsprechende vollständige und konsistente Belegung aller Variablen an Kanten von bzw. zu t. Die oben genannte Abbildung entspricht der Interpretation eines Terms. Zusätzlich kann durch eine Schaltbedingung (eine logische Bedingung über die Variablen) die Belegung der Variablen eingeschränkt werden. ● Durch Abstraktion von konkreten Bereichen und Markierungen eines Prädikat/Transitions-Netzes entsteht ein Algebraisches Petri-Netz. Jede Interpretation von Symbolen eines Algebraischen Petri-Netzes durch Elemente einer konkreten Algebra, die vorgegebene Eigenschaften erfüllt, ergibt ein markiertes Prädikat/Transitions-Netz. ■ Dieses Algebraische Petri-Netz modelliert einen Token-Ring einer Menge A von Agenten. Der Token wandert zyklisch von Agent zu Agent. Jeder Agent kann entweder idle sein, dann reicht er den Token einfach weiter. Andernfalls kann er Zugang zu seinem kritischen Abschnitt (critical) wünschen (request). Sobald er den Token erhält, betritt er seinen kritischen Abschnitt. Der Token wird erst weitergereicht, nachdem er den kritischen Abschnitt wieder verlassen hat. In diesem Fall wird ein Zähler, der dem Token zugeordnet ist, um eins erhöht. (x,n)

        (x,n+1)

        x

        (x,n)

        (x,n)

        critical

        x

        in

        idle

        (a,0)

        x request

        A

        x x

        (x,n)

        (N(x),n)

        x (x,n)

        (x,n)

        out

        6.5 Moderne Modellierungsansätze zur IS-Entwicklung

        275

        Zur Spezifikation des Algebraischen Petri-Netzes gehört: a ∈ A und N : A → A ist eine zyklische Nachfolgefunktion. Der Bereich der Stellen in, critical und out ist das kartesische Produkt der Menge A und der natürlichen Zahlen. In der initialen Markierung besitzt der Agent a den Token und der Zähler steht auf 0. Jeder Agent (der Menge A) kann in den Zustand request übergehen. Falls dies für den Agenten a geschieht, kann er seinen kritischen Abschnitt betreten. In der Folgemarkierung ist in unmarkiert und critical trägt die Marke (a,1). Andernfalls kann a verzichten. In der Folgemarkierung trägt dann out die Marke (a,0). Anschließend wird der Token an den Nachfolger N(a) weitergereicht. in trägt die Marke (b,0), wobei b der Nachfolger von a in dem Zyklus ist. Das Beispiel macht deutlich, dass die Marken höherer Petri-Netze sowohl beliebige Daten (hier natürliche Zahlen) als auch Komponenten eines verteilten Systems (hier Agenten) und sogar Kombinationen daraus (Paare) repräsentieren können.

        f) Systeme, Prozesse und Abläufe Petri-Netze erlauben eine genaue Unterscheidung von Systemmodellen, die auf unbestimmte Zeit agieren, Prozessmodellen, die von einem Anfangszustand aus auf verschiedene Weise einen Endzustand erreichen können und Ablaufmodellen, die den tatsächlichen Ablauf eines Systems oder eines Prozesses repräsentieren. • Ein Systemmodell ist ein initial markiertes Petri-Netz, das lebendig, beschränkt und meist rücksetzbar sein soll. Einzelne Prozesse sind in das Systemmodellverhalten eingebettet, können aber auch gesondert modelliert werden. • Ein Prozessmodell hat spezielle Eingangs- und Ausgangsstellen, die den Beginn und das Ende des Prozesses repräsentieren. Es soll meist terminierend und sicher sein. Ein Prozessmodell kann Konflikte aufweisen, die entweder zufällig oder abhängig von Prozessparametern oder Prozessdaten aufgelöst werden. • Ein Ablaufmodell ist ein azyklisches Petri-Netz, dessen Transitionen tatsächlich eintretende Ereignisse modelliert. Die Flussrelation gibt die kausalen Beziehungen zwischen den Ereignissen und ihren Vorund Nachbedingungen an. Die Stellen eines Ablaufmodells sind nicht verzweigt, denn in einem Ablauf gibt es keine Alternativen. Konstruktionsbedingt sind Ablaufmodelle sicher und terminierend. Die kausale Semantik eines System- oder Prozessmodells ist durch die Menge aller zugehörigen Ablaufmodelle gegeben. Diese können mittels spezieller Abbildungen von der Menge der Netzelemente des Ablaufmodells in die Menge der Netzelemente des System- oder Prozessmodells charakterisiert werden.

        6.5

        Moderne Modellierungsansätze zur IS-Entwicklung

        Moderne Modellierungsansätze der IS-Entwicklung bedienen sich häufig des Paradigmas der Objektorientierung. ● Ein wesentlicher Unterschied der objektorientierten Programmierung (OOP) zur traditionellen Programmierung ist die Aufhebung der Trennung von Daten und Programmen (Funktionen). Aus dieser Überlegung heraus ergibt sich, dass die bisher dargestellten Methoden zur Modellierung von Informationssystemen nicht zur Modellierung von OO-Datenbanken und -Programmen geeignet sind. ● Strukturelle und verhaltensmäßige Objektorientierung beinhaltet die Forderung an eine OO-Modellierung, sowohl die statischen Beziehungen zwischen den Objekten, als auch das dynamische Verhalten der Objekte modellieren zu können. ▲ Ein Ansatzpunkt ist die Kombination verschiedener Verfahren: Mittels eines erweiterten ERM wird die strukturelle OO abgebildet, wenn neben den Attributen auch die Methoden und Funktionen als Eigenschaften modelliert werden.

        276

        6 Planung und Realisierung von Informationssystemen

        Die verhaltensmäßige OO kann mittels eines EPKs oder eines Datenflussmodells (SA) dargestellt werden, während die internen Abläufe in einer Objektmethode mittels einzelner Nassi-SchneidermanDiagramme dargestellt werden können. ● Betrachtet man ein Objektmodell als eine Software-Entwicklungsmethode, so kann man zwei Ebenen unterscheiden: • Ein spezielles Vorgehensmodell, das die gesamte Entwicklung in definierte Teilaufgaben untergliedert. • Eine grafische Notation, die aus Symbolen und verschiedenen Diagrammen besteht.

        6.5.1

        Objektmodell von Rumbaugh

        Bei der OO-Modellierung nach Rumbaugh wird die reale Welt in drei zu modellierenden Realweltausschnitten dargestellt: • Objektmodell • Dynamisches Modell • Funktionalitätsmodell

        a) Objektmodell Das Objektmodell dient der Abbildung der Datenstrukturen und der statischen Systemeigenschaften. Objekte werden zu Objekttypen oder Klassen zusammengefasst. ● Der Entwurf des Objektmodells erfolgt in acht Schritten: 1. Identifizierung von Klassen und Objekten 2. Anfertigung von Data Dictionaries 3. Identifizierung von Beziehungen (auch Aggregationen) zwischen Objekten 4. Identifizierung der Attribute der Objekte und Beziehungen 5. Einführung von Vererbungshierarchien zur Vereinfachung des Modells (Generalisierung/Spezialisierung) 6. Darstellung von Zugriffspfaden für Anfragen zwischen Objekten 7. Wiederholen der bis hierher durchgeführten Schritte und Verfeinerung des Modells 8. Gruppierung von Klassen in Modulen, wobei man unter einem Modul eine Menge von Klassen versteht, die eine logische Einheit innerhalb des Gesamtmodells bilden. ▲ Die Notation des Objektmodells ist in vielen Dingen der Notation des ERM ähnlich: • Klasse oder Objekttyp Objektname Attribut 1: Datentyp Attribut 2: Datentyp

        ...

        Kurz:

        Objektname

        Methode 1 (Argumente) Methode 2 (Argumente)

        ...

        • Instanzen oder Ausprägungen von Klassen Unter Instanzen werden die einzelnen Ausprägungen von Klassen, also die eigentlichen Objekte verstanden (Kombination von Attributwerten und zugehörigen Methoden).

        6.5 Moderne Modellierungsansätze zur IS-Entwicklung

        277

        • Generalisierung/Spezialisierung („is a“-Beziehung) Bei der Generalisierung werden ähnliche Klassen (Subklassen) zu übergreifenden Klassen (Superklassen) zusammengefasst.

        • Assoziation oder Beziehung und Rollen



        • Kardinalitäten

        ein Objekt der Klasse 1 ist assoziiert mit genau einem Objekt der Klasse 2

        ein Objekt der Klasse 1 ist assoziiert mit null, einem oder mehreren Objekten der Klasse 2

        ein Objekt der Klasse 1 ist assoziert mit null oder einem Objekt der Klasse 2

        ein Objekt der Klasse 1 ist assoziiert mit einem oder mehreren Objekten der Klasse 2

        ein Objekt der Klasse 1 ist assoziiert mit einer spezifizierten Objektzahl der Klasse 2 (hier: 1, 2 oder 4) • Aggregation

        alternativ:

        ● Die Aggregation ist eine stärkere Form der Assoziation. Die Aggregationsklasse besteht aus den

        Teilklassen, d. h. wird ein Objekt der Aggregationsklasse gelöscht, so werden auch gleichzeitig die Objekte der Teilklassen gelöscht. ■ Beispiel:

        Filiale

        278

        6 Planung und Realisierung von Informationssystemen ▲ Im Gegensatz zur Aggregation werden Objekte, die über eine normale Beziehung oder As-

        soziation verknüpft sind, nicht Teil der verknüpften Klasse und bleiben auch dann bestehen, wenn das zugehörige Objekt der verknüpften Klasse gelöscht wird. Es erfolgt dann, wenn keine Aggregation vorliegt, also keine hierarchische Gliederung. • Beziehungsattribut

        ■ Beispiel:

        ▲ Ein Beziehungsattribut wird erst bei einer n : m-Beziehung zwischen Klassen sinnvoll, da bei

        1 : n-Beziehungen das Beziehungsattribut als Slot (Attribut) einer der Klassen hinzugefügt werden kann. Aus Gründen der Flexibilität kann aber auch eine 1 : n-Beziehung mit Beziehungsattribut gebildet werden, um bezüglich einer eventuellen späteren Erweiterung zu einer n : m-Beziehung vorbereitet zu sein. • ternäre Beziehung

        ■ Beispiel:

        b) Dynamisches Modell Das dynamische Modell dient zur Beschreibung der dynamischen Systemeigenschaften also den Aktivitäten und Ereignissen sowie deren Folgen. ▲ Das dynamische Modell ist insbesondere für interaktive Systeme sinnvoll, da sich die Zustände des Systems „dynamisch“ ändern können. ● Schritte zum Entwurf des dynamischen Modells: 1. Entwurf von Szenarien typischer Interaktionsfolgen ■ Szenario eines Telefonanrufs:

        – Anrufer nimmt Hörer ab – Freizeichen ertönt

        6.5 Moderne Modellierungsansätze zur IS-Entwicklung

        279

        – Anrufer wählt – angerufenes Telefon klingelt – ··· 2. Identifizieren von Ereignissen, die z. B. Werte in Objekten verändern. Ereignisse lösen eine Nachricht an ein Objekt aus und bewirken so eine Veränderung des Zustands dieses Objektes. ■ Ereignisse sind z. B.: „Flug 123 startet in Frankfurt“ oder „Anwender drückt die rechte Maustas-

        te“ Ereignisse werden in Ereignisklassen gruppiert. ■ Ereignisklasse:

        Ereignisse:

        „Abflüge“ „Flug 123 startet in Frankfurt“ „Flug 456 startet in Rom“

        ▲ Ereignisse, die voneinander unabhängig sind, werden konkurrierende Ereignisse genannt.

        3. Entwurf einer Ereignisfolge für jedes Szenario. 4. Erstellen von Zustandsdiagrammen für jede Objektklasse. In einem Zustandsdiagramm werden die Ereignisse mit den Objektzuständen in Beziehung gesetzt. 5. Zuordnen der Ereignisse zu den betreffenden Objekten, um die Konsistenz des Systems zu sichern. ▲ Dies umfasst z. B. die Überprüfung, ob jedes Ereignis eine Zustandsänderung bewirkt.

        • Notation des Dynamischen Modells

        ■ Beispiel: Verkaufsautomat

        • Initial- und Endzustand

        280

        6 Planung und Realisierung von Informationssystemen

        ■ Beispiel:

        • Senden einer Nachricht zu einem anderen Objekt

        • Konkurrierende Subdiagramme mit einer Aufspaltung der Kontrolle

        ▲ Alle Aktivitäten innerhalb des Superstates müssen abgeschlossen sein, bevor er verlassen werden kann. ■ Beispiel: Auszahlung am Geldautomaten:

        6.5 Moderne Modellierungsansätze zur IS-Entwicklung

        281

        c) Funktionalitätsmodell Das Funktionalitätsmodell dient zur Darstellung der Systemfunktionalität, also der internen Verarbeitungsschritte. ● Schritte zum Entwurf des Funktionalitätsmodells: 1. Identifikation der Ein- und Ausgabedaten 2. Entwerfen von Datenflussdiagrammen, um funktionale Abhängigkeiten aufzuzeigen 3. Spezifikation der benötigten Funktionen 4. Identifizierung von eventuell bestehenden Beschränkungen 5. Spezifizieren von Optimierungskriterien

        Notation des Funktionalitätsmodells: • Prozess

        Prozessname

        ■ Beispiel: Division

        • Datenfluss zwischen Prozessen

        Prozess 1

        Prozess 2

        • Passive Objekte als Datenspeicher

        ▲ Passive Objekte speichern die Daten, auf die von aktiven Objekten zugegriffen werden kann. • Entstehung eines Passiven Objektes aus einem Datenfluss

        • Aktive Objekte (Actors) als Quellen oder Senken von Daten

        Prozess ▲ Aktive Objekte sind Ausgangs- und Zielpunkte von Prozessen, d. h. Prozesse werden von ihnen angestoßen und die Prozessergebnisse werden wieder an Aktive Objekte übergeben. Aktive Objekte können auf Passive Objekte zugreifen.

        282

        6 Planung und Realisierung von Informationssystemen

        • Kontrollfluss

        Prozess 1

        Prozess 2

        • Lesen aus einem Datenspeicher

        • Schreiben in einen Datenspeicher

        Prozess • Lesen aus und Schreiben in einen Datenspeicher

        Prozess • Komposition bzw. Dekomposition von Datenwerten

        ■ Beispiel:

        • Duplizieren eines Datums 2

        6.5 Moderne Modellierungsansätze zur IS-Entwicklung

        283

        ■ Beispiel eines Datenflussdiagramms: Abheben vom Bankkonto

        ▲ Die Modelle des zu entwickelnden Systems werden in die Entwurfsphase übernommen und in Abhängigkeit der späteren Implementierungssprache (Sprache, in der das IS geschrieben wird) weiter detailliert.

        6.5.2

        Objektmodell von Booch

        ● Booch propagiert als Vorgehensmodell einen „iterative and incremental development life cycle“: • iterativ, weil die einzelnen Aktivitäten wiederholt ausgeführt werden, • inkrementell, weil das System in kleinen, wohldefinierten Schritten entwickelt wird. ▲ Dadurch, dass Testergebnisse durch den iterativen Entwicklungsprozess in die nächste Entwicklungsphase einbezogen werden, kann früh auf Probleme reagiert und deren Lösung in die Systementwicklung einbezogen werden. ● Booch unterscheidet zwischen einem „Micro Development Process“ und einem „Macro Development Process“. Der Micro Development Process repräsentiert die Aktivitäten des einzelnen oder eines Teams von Programmentwicklern und besteht aus vier Schritten: 1. Identifizieren von Klassen und Strukturen 2. Festlegen von Struktur und Verhalten der gefundenen Klassen und Objekte 3. Identifizierung der Beziehungen zwischen Klassen und Objekten 4. Implementieren von Klassen und Objekten Das Ergebnis wird während des Entwicklungsprozesses festgehalten in: • Klassendiagrammen • State-Transition-Diagrammen • Objektdiagrammen • Interaktionsdiagrammen • Modul-Diagrammen • Prozessdiagrammen

        284

        6 Planung und Realisierung von Informationssystemen

        a) Klassendiagramme dienen der Darstellung der Klassen und ihrer Beziehungen zueinander. • Klassen Klassenname Attribute Methoden

        • Metaklassen

        Metaklassenname

        ▲ Die Instanzen von Metaklassen sind selbst Klassen. • geschachtelte Klassen Klassenname Name einer geschachtelten Klasse

        ▲ Die geschachtelte Klasse ist physischer Bestandteil der umgebenden Klasse. • Klassenkategorien

        ▲ Logisch zusammengehörige Klassen können aus Gründen der Übersichtlichkeit in Kategorien zusammengefasst werden. • Beziehungen zwischen Klassen – Assoziation

        6.5 Moderne Modellierungsansätze zur IS-Entwicklung

        285

        ▲ Als Kardinalitäten sieht Booch 1 : 1-, 0 : 1-, 0 : N-, 1 : N- und N : M-Beziehungen zwischen den beteiligten Klassen vor. – Vererbung

        – Aggregation

        – using

        ▲ In der Implementation der klasseneigenen Methoden der using class findet die used class Verwendung. • Metaklasse

        b) State-Transition-Diagramme werden für jede Klasse erstellt, um die Zustände einer Klasse darzustellen und Ereignisse abzubilden, die eine Veränderung dieser Zustände bewirken. ▲ Die Notation des State Transition Diagrams unterscheidet sich nicht von der des Dynamischen Modells von Rumbaugh.

        286

        6 Planung und Realisierung von Informationssystemen

        c) Objektdiagramme dienen der Darstellung von Objekten und ihrer Beziehungen zueinander. ▲ Ein Objektdiagramm ist eine Momentaufnahme des sich im Zeitablauf ändernden Modells. ● Objekte können entweder Actor, Server oder Agent sein: 1. Actor-Objekte können über Nachrichten das Verhalten anderer Objekte steuern, werden selbst jedoch nicht von anderen Objekten beeinflusst. Dies entspricht dem Aktiven Objekt bei Rumbaugh. 2. Server-Objekte empfangen nur Nachrichten, senden selbst also keine. Dies entspricht dem Passiven Objekt bei Rumbaugh. 3. Agent-Objekte haben die Eigenschaften von Server- und Actor-Objekten. • Allgemeine Notation

        ▲ Mit „order“ kann hier die zeitliche Abfolge der Nachrichten angegeben werden. • Synchronisation von Nachrichten – simple

        ▲ Es wird eine Nachricht an ein Objekt in Pfeilrichtung gesendet. – synchronous

        ▲ Das aufrufende Objekt wartet solange, bis der Empfänger ein Ergebnis zurückgibt. – balking

        ▲ Das aufrufende Objekt widerruft die Nachricht, wenn der Empfänger nicht sofort ein Ergebnis zurückgibt. – timeout

        ▲ Das aufrufende Objekt widerruft die Nachricht, wenn der Empfänger nicht während eines spezifizierten Zeitraums ein Ergebnis zurückgibt. – asynchronous

        ▲ Das aufrufende Objekt sendet eine Nachricht an einen Empfänger und wartet nicht auf die Rückgabe des Ergebnisses.

        6.5 Moderne Modellierungsansätze zur IS-Entwicklung ■ Beispiel:

        d) Interaktionsdiagramme drücken die zeitliche Abfolge der Nachrichten aus.

        287

        288

        6 Planung und Realisierung von Informationssystemen

        ■ Beispiel: Temperaturregelung in einem Gewächshaus

        e) Modul-Diagramme dienen der Darstellung der Implementation von Klassen auf der physischen Ebene. • Hauptprogramm ▲ In C++ ist dies der Programmteil main(...). • Spezifikation von Klassen

        ▲ In C++ entspricht dies dem Header mit der Klassendefinition (z. B. Klassenname, Slots). • Implementation von Klassenmethoden ▲ In C++ ist dies die Implementation der klasseneigenen Methoden (also der Source-Code). • Subsystem ▲ Ein Subsystem ist eine Zusammenfassung logisch zusammenhängender Module für eine Darstellung auf höherer abstrakter Ebene. • Abhängigkeiten ▲ Zur Darstellung von Abhängigkeiten bezüglich der Compilierungsreihenfolge werden Module mit Pfeilen verbunden.

        f) Prozessdiagramme dienen der Beschreibung der Verteilung der Prozesse auf die Hardwarekomponenten und der Darstellung des physischen Aufbaus des Systems.

        6.6 Klassische Realisierungsansätze

        289

        • Prozessor

        Prozessor ▲ Ein Prozessor kann Programme ausführen. • Device

        Device ▲ Ein Device kann keine Programme ausführen. ■ Beispiel: Device: Greenhouse 1

        Prozessor: Gardener Workstation

        Device: Greenhouse 2

        Device: Greenhouse 3

        Der Macro Development Process stellt die Aktivitäten des gesamten Entwicklungsteams im Wochen- oder Monatsmaßstab dar und beinhaltet fünf Schritte: 1. Feststellung der wichtigsten Anforderungen an das IS (conceptualization) 2. Analyse des Systemverhaltens und einer Vorgehensweise zur Systementwicklung (analysis) 3. Entwicklung einer Systemarchitektur (design) 4. Entwicklung des eigentlichen IS durch sukzessive Verfeinerung (evolution) 5. Sicherstellung der Wartung und Pflege des IS (maintenance)

        6.6

        Klassische Realisierungsansätze

        6.6.1

        Programmstrukturen

        Modulare Programmiersprachen sind Programmiersprachen, die es erlauben, ein Programm in viele, möglichst unabhängige Segmente (Module) zu unterteilen. ● In FORTRAN sind Module stets Funktionen oder Unteroutinen. Die Definition größerer Module (Zusammenfassung mehrerer Unterroutinen) ist nicht möglich.

        290

        6 Planung und Realisierung von Informationssystemen

        Die Datenstrukturen bezeichnen die Deklarationen von (zusammengesetzten) Datentypen. Sie werden erst durch die Definition von Variablen im Arbeitsspeicher abgelegt. ● Datenstruktur und Variable werden oft synonym verwendet. Der Scope ist der Gültigkeitsbereich von Datenstrukturen. Die meisten höheren Programmiersprachen unterscheiden mindestens: • Globaler Scope : Hier definierte Datenstrukturen sind im gesamten Programm, auch in allen Unterprogrammen (Modulen) bekannt. • Modul-Scope: Alle Datenstrukturen sind nur innerhalb eines Moduls definiert. Außerhalb dieses Bereiches sind diese Daten unbekannt. ▲ Variablen in verschiedenen Modulen dürfen gleiche Namen (Bezeichner) erhalten. Die Änderung einer lokalen Variablen in einem Modul beeinflusst nicht den Wert einer Variablen gleichen Namens in einem anderen. ■ FORTRAN 77 kennt keine globalen Variablen. Variablen, die in mehreren Modulen verwendet werden sollen, müssen über Common-Blöcke definiert werden. Lokale Variablen sind in einem Unterprogramm deklarierte Variablen. Sie gelten nur in diesem Unterprogramm. In anderen Unterprogrammen können Variablen mit identischen Namen deklariert werden. Globale Variablen hingegen sind außerhalb von Unterprogrammen definierte Variablen. Sie besitzen in allen Unterprogrammen denselben Wert. ● Es ist möglich, zu einer globalen Variablen eine lokale Variable gleichen Namens zu definieren. Innerhalb des Unterprogramms existiert dann nur diese. ▲ Die Speicherbereiche von globalen und lokalen Variablen sind völlig getrennt. Globale Variablen werden vom Compiler vor Beginn des Programmlaufes fest (statisch) im Speicher reserviert. Lokale Variablen dagegen werden während des Programmlaufes bei Aufruf eines Unterprogramms dynamisch auf dem so genannten Stack angelegt und nach Verlassen des Unterprogramms wieder freigegeben, sodass andere Unterprogramme denselben Speicherbereich für ihre Datenstrukturen nutzen können. Inhalte von lokalen Variablen sind somit i. d. R. bei erneutem Aufruf eines Unterprogramms nicht reproduzierbar. Unterprogramme stellen möglichst unabhängige Programmmodule dar. Ein Programm sollte so in Unterprogramme aufgeteilt werden, dass jedes Unterprogramm eine bestimmte Aufgabe erfüllt. Besteht diese Aufgabe aus mehreren Teilaufgaben, so sollte dieses durch mehrere Unterprogramme ersetzt werden. Eine Funktion ist ein Unterprogramm, welches dem aufrufenden Programmteil einen Wert zurückliefert. ■ y = sin(x) weist der Variablen y das Resultat der Funktion sin(x) zu, wobei x das Argument der Funktion ist. ■ In C sind alle Unterprogramme Funktionen. Argumente sind Schnittstellen zwischen aufrufendem Programmteil und aufgerufenem Unterprogramm oder aufgerufener Funktion. Es können dem Unterprogramm sowohl Daten übergeben als auch von ihm übernommen werden. ▲ Im Allgemeinen kann eine benutzerdefinierte Funktion beliebig viele Argumente erhalten, deren Anzahl jedoch nach einmaliger Definition beibehalten werden muss. Beim Aufruf des Unterprogramms oder der Funktion müssen Anzahl und Art der übergebenen Argumente mit der Definition des Unterprogramms verträglich sein. Call-by-value ist eine Art der Argumentübergabe. Beim Aufruf wird eine Kopie des übergebenen Wertes im lokalen Speicher des Unterprogramms angelegt. ● Eine Veränderung des Wertes innerhalb des Unterprogramms hat keine Auswirkung auf den Wert im aufrufenden Programmteil.

        6.6 Klassische Realisierungsansätze

        291

        ▲ Nachteil der Call-by-value-Übergabe von Argumenten ist, dass stets eine Kopie des übergebenen Objektes angelegt wird. Dazu muss Speicher reserviert und der Speicherinhalt kopiert werden. Bei größeren Datenstrukturen oder häufig aufgerufenen Unterprogrammen kann dies viel Rechenzeit und Speicherplatz verschlingen. ■ Beispiele für Sprachen mit Call-by-value-Übergabe von Argumenten sind: PASCAL, C, C++ Call-by-reference ist die häufigste Art der Argumentübergabe. Der übergebene Wert wird nicht in einen neuen Speicherbereich kopiert, sondern es wird lediglich die Adresse des die Daten enthaltenden Speicherbereiches übergeben. Unterprogramm und aufrufendes Programm verwenden denselben Speicherbereich. ● Eine Veränderung des Arguments im Unterprogramm modifiziert den Wert im aufrufenden Programm, sofern nicht im Unterprogramm die Argumente als konstant definiert werden. Dies ist eine große Gefahr von Call-by-reference. ▲ Call-by-reference ist die effizienteste Art, Daten zu übergeben, da keine Speicherbereiche (außer dem Speicherbereich, der die Adresse des Wertes enthält) kopiert werden müssen. ■ Call-by-reference kann bei allen höheren Programmiersprachen realisiert werden. Standard ist sie beispielsweise in FORTRAN. In PASCAL oder C++ muss Call-by-reference explizit angegeben werden. ▲ In C gibt es keine Call-by-reference-Parameter. Diese müssen über Zeiger simuliert werden. ● Die Möglichkeit der Auswahl zwischen Call-by-value und Call-by-reference trägt zur Datenintegrität im aufrufenden Programmteil bei. Stack bezeichnet den Speicherbereich zur temporären Speicherung lokaler Variablen in Programmmodulen. Er funktioniert nach dem Prinzip last-in-first-out. Daten werden immer oben auf den Stapel (engl. stack) abgelegt und müssen später in umgekehrter Reihenfolge wieder entfernt werden. Rekursionen sind sich selbst aufrufende Unterprogramme. Sie führen ohne geeignetes Abbruchkriterium zum Programmabsturz (Stack-Überlauf). ● Rekursive Programme können meist durch iterative Algorithmen ersetzt werden. Dies ist jedoch mit großem Aufwand verbunden. ● Rekursionen sind meist wesentlich eleganter als ihr iteratives Pendant. ▲ Enthält ein Programm viele, geschachtelte oder rekursive Aufrufe von Modulen, so werden sukzessive die lokalen Variablen auf dem Stack abgelegt. Ist der Stack zu klein bemessen, so bricht das Programm ab, wenn der Stack voll ist. ● Lokale Datenstrukturen sind notwendige Voraussetzung für modulares Programmieren. Gerade bei größeren Projekten, an denen meist mehr als ein Programmierer arbeitet, muss gewährleistet sein, dass Variablen in einem Modul nicht versehentlich durch gleiche Namen in einem anderen Modul überschrieben werden. Datenkapselung (Encapsulation) ist ein Prinzip zur Erzielung maximaler Datensicherheit und -integrität. Eine Änderung von Variableninhalten ist nur über vom Programmierer eines Programmteils fest definierte Schnittstellen möglich. Jeder direkte Zugriff auf die Variablen von außerhalb des Programmteils ist verboten. ▲ Modulare Programmierung ist ein erster Schritt zur Datenkapselung. Sie versagt jedoch bei Datenstrukturen, die in mehr als einem Modul benötigt werden. ● Der Versuch der konsequenten Realisierung von Datenkapselung führt auf das Prinzip der Objektorientierung.

        292

        6 Planung und Realisierung von Informationssystemen

        6.6.2

        Imperativer Programmentwurf

        Das Paradigma der imperativen Programmierung bildet die Grundlage der Entwicklung von Programmen mithilfe von Programmiersprachen der dritten Generation: ● Es wird strikt zwischen der Innen- und der Außensicht des Programms getrennt: Während die Außensicht dokumentiert „Was soll gemacht werden?“ bzw. „Welche Aufgabe ist zu lösen?“, beschreibt die Innensicht explizit die Lösungsverfahren einer Aufgabe, d. h. das „Wie löse ich eine Aufgabe?“. ● Bei der imperativen Programmentwicklung wird explizit das Lösungsverfahren einer Aufgabe beschrieben (Innensicht). Dieses Lösungsverfahren besteht aus der Fixierung einer Menge von Aktionen und der Ablaufsteuerung dieser Aktionen. Zur Beherrschung der Komplexität umfangreicher Programme, der Verbesserung der Zuverlässigkeit, zur Erhöhung der Lesbarkeit und der Erleichterung der Wartung der Programme wird das Prinzip der strukturierten Programmierung angewendet. Unter der strukturierten Programmierung wird eine Methode zur Konstruktion hierarchisch organisierter und geordneter modularer Programme unter Benutzung standardisierter Ablaufstrukturen verstanden. ● Strukturierte ablauforientierte Programme weisen folgende Eigenschaften auf: • Die Programme sind in eine Hierarchie von Modulen zerlegt, deren Anordnung durch ihre logischen Ablaufbeziehungen bestimmt ist. • Beim Aufruf eines Moduls erfolgt der Eintritt in diesem Modul an einem einzigen Eingangspunkt und der Austritt an definierten Ausgangspunkten. • Das hierarchisch höhere, aufrufende Modul wartet mit dem Programmfortschritt, bis das aufgerufene Modul beendet ist. • Das hierarchisch niedrigere, aufgerufene Modul gibt die Steuerung nach der Ausführung an das aufrufende Modul zurück. • Die Konstruktion eines Moduls (Strukturblock) ist durch definierte Ablaufstrukturen standardisiert. ▲ Durch die Zerlegung des Gesamtprogrammes in einzelne Module entstehen Strukturblöcke, die wiederum selbst aus einzelnen Strukturblöcken bestehen können. Dabei stellt ein Elementarer Strukturblock einen einzelnen Verarbeitungsschritt dar. Das Nassi-Schneiderman-Diagramm dient zum Entwurf eines imperativen Programms unabhängig von der verwendeten Programmiersprache und verwendet zur Darstellung der Ablaufstruktur ein besonders geeignetes Struktogramm. Die verwendeten Strukturierungssymbole sind: • Elementarer Strukturblock: Wird dargestellt in Form eines Rechtecks, wobei innerhalb des Rechtecks der Verarbeitungsschritt mithilfe eines Pseudocodes angegeben wird. • Sequenz: Abfolge aufeinander folgender elementarer Strukturblöcke. Sie wird durch mehrere übereinander liegende Rechtecke dargestellt. • Alternative oder Verzweigung: Alternative Auswahl von Strukturblöcken, die abhängig von einer Bedingung abgearbeitet werden. In ein oberes Rechteck wird ein mit der Spitze nach unten zeigendes Dreieck eingezeichnet, in das die Bedingung eingetragen wird.

        print Ladeplan

        6.6 Klassische Realisierungsansätze Abhängig von der Richtigkeit (TRUE,.T.) der Bedingung wird entweder die anschließende Sequenz 1 von Programmschritten oder bei Nichtzutreffen (FALSE,.F.) die Sequenz 2 abgearbeitet. Stehen mehr als zwei Alternativen zur Auswahl, erfolgt die Auswahl der Sequenz über einen Selektor S, der mit den Selektorwerten SW verglichen wird. Dann wird die entsprechende Sequenz Sq ausgeführt. Trifft kein Selektorwert zu, wird die Alternative SO(nst) ausgewählt und die Sequenz (Sq) So(nst) ausgeführt.

        • Wiederholung: Soll eine Sequenz von Befehlen mehrmals abgearbeitet werden, bietet sich die Ablaufstruktur Wiederholung an, die auch als Schleife bezeichnet wird. Man unterscheidet drei grundsätzliche Wiederholungstypen: – Die Unbedingte Schleife oder Zählschleife besitzt eine festgelegte Durchlaufzahl. Sie wiederholt eine Sequenz von Befehlen in Abhängigkeit von einer (oder mehreren) Steuervariablen (a,b,c).

        For i = a To b Step c z.B. Sequenz

        ▲ Die Anzahl der Wiederholungen wird hierbei durch den Wert der Steuervariablen bestimmt und ist vor Beginn der Schleife festgelegt. Hierbei wird ein Zähler (i) ausgehend von einem Startwert (a) jeweils um einen Schritt (c) erhöht, bis der Endwert (b) überschritten ist. – Die Schleife mit vorheriger Prüfung oder Kopfschleife findet immer dann Verwendung, wenn die Anzahl der Wiederholungen einer Sequenz von einer beliebigen logischen Bedingung abhängig ist und bereits vor der ersten Durchführung des Schleifenkörpers (z. B. Sequenz) eine Überprüfung möglich ist.

        Bedingung z.B. Sequenz

        ▲ Mithilfe dieser Schleife kann auch die unbedingte Schleife ersetzt werden, wenn der Zähler i vor der Schleife auf a gesetzt wird, als Bedingung das Überschreiten die Grenze b definiert und im Schleifenkörper der Zähler bei jedem Durchlauf um c erhöht wird. – Bei der Schleife mit anschließender Prüfung oder Fußschleife ist die Anzahl der Wiederholungen ebenfalls abhängig von einer Bedingung. Im Gegensatz zur Kopfschleife erfolgt die Prüfung der Bedingung jedoch erst, wenn der Schleifenkörper mindestens einmal durchlaufen ist. ▲ Ihren Einsatz findet die Schleife, wenn garantiert werden soll, dass die Sequenz wenigstens einmal ausgeführt wird, z. B. wenn die Bedingung erst innerhalb des Schleifenkörpers bestimmt wird.

        z.B. Sequenz Bedingung

        293

        294

        6 Planung und Realisierung von Informationssystemen

        • Das Unterprogramm (Prozeduraufruf oder Funktionsaufruf) dient der Modularisierung der Programme und ist somit ein sehr wichtiges Element der Strukturierten Programmierung. Es ermöglicht die hierarchische Zergliederung eines Programms in einzelne Teilprogramme. ▲ Im Nassi-Schneiderman-Diagramm ist es auch ein Hinweis auf ein weiteres Struktogramm, das die Funktionalität des Unterprogramms abbildet. ● Die einzelnen Elemente des Struktogramms sind miteinander kombinierbar. Ein Struktogramm stellt immer ein vollständiges Rechteck dar. Der oberste Programmschritt wird zuerst bearbeitet und stellt die Einsprungstelle für das aufrufende Modul dar. Das unterste Rechteck stellt das Ende der Sequenz dar, an dem die weitere Steuerung an das aufrufende Oberprogramm zurückgegeben wird. Im Fall des in der Hierarchie am höchsten stehenden Struktogramms spricht man von dem Hauptprogramm, wobei die oberste Zeile den Beginn des Programms darstellt. Am unteren Ende des Hauptprogramms wird das gesamte Hauptprogramm beendet und auf die Betriebssystemebene zurückgekehrt. ■ Nassi-Schneiderman-Diagramm mit verschiedenen Strukturelementen:

        6.6.3

        Maschinennahe Sprachen

        a) Maschinensprachen Maschinensprachen sind die einfachste Form der Programmrepräsentation. Sie bestehen aus binärem Programmcode: ■ zum Beispiel heißt 01011001 „addiere“ Streng genommen stellt diese Maschinensprache keine eigene Sprache dar, insbesondere entfällt die Übersetzung in Maschinencode. Vielmehr wurden diese Programme direkt in maschinenlesbarem Code geschrieben. • Nachteil: Abhängigkeit von der verwendeten Hardware, schlechte Lesbarkeit, Fehleranfälligkeit und Schwierigkeit der Wartung • Vorteil: optimale Ausnutzung der Hardware, höchste Effizienz in Speicherverwaltung und Ablaufgeschwindigkeit ▲ In der betrieblichen Praxis werden heute keine Anwendungen mehr in diesem Maschinencode geschrieben. Es gibt jedoch noch Altprogramme, die zum Teil weiter gepflegt werden.

        6.6 Klassische Realisierungsansätze

        295

        b) Assemblersprachen Auch die Assemblersprachen sind maschinenorientierte Sprachen. Allerdings wurden zur besseren Verständlichkeit die binären Befehle durch mnemotechnische Abkürzungen ersetzt. Beispielsweise heißt der Additionsbefehl „ADD“. Damit der Computer das Programm ausführen kann, bedarf es der Übersetzung des so genannte Quellcodes durch den Assembler in einen maschinenlesbaren Code. ● Da Assembler-Programme optimal hinsichtlich Geschwindigkeit und Speicherplatzausnutzung programmiert werden können, setzt man Assemblersprachen noch heute zur Entwicklung von Systemsoftware oder auch als Unterprogramme für zeitkritische Prozesse in Programmen, die zum größten Teil in einer problemorientierten Programmiersprache codiert sind, ein. ■ Mess- und Regeltechnik

        • Vorteil: Hohe Effizienz in Speicherverwaltung und Geschwindigkeit, leichter zu warten als eine Maschinensprache • Nachteil: Wie bei einer Maschinensprache große Schwierigkeiten bei der Portierung auf eine andere Hardware-Umgebung.

        6.6.4

        Höhere Programmiersprachen

        a) Prozedurale problemorientierte Sprachen Eine häufig verwendete Klasse von Programmiersprachen sind die so genannten prozeduralen problemorientierten Programmiersprachen. Diese erlauben die Codierung von Programmen in einer an die Fachsprache des jeweiligen Problembereichs angelehnten und damit maschinenunabhängigen Form. Die Umsetzung des Quellcodes erfolgt mittels eines Übersetzers (Compiler oder Interpreter), der einen maschinenlesbaren Code (Binär-Code) erzeugt. Ein Compiler übersetzt den gesamten Quellcode in einem Durchgang vor der Ausführung und erzeugt ein sofort ablauffähiges Programm. ▲ Die meisten prozeduralen problemorientierten Sprachen verwenden Compiler. ■ C, COBOL, FORTRAN, PASCAL, MODULA Der Interpreter liest den Quellcode bei jeder Ausführung eines Programmes und übersetzt die einzelnen Programmschritte. Dies ist besonders während der Programmentwicklung mit vielen Testläufen von Vorteil, wenn der Programmcode nicht bei jeder kleinen Änderung komplett neu übersetzt werden muss. ■ JAVA, Perl, Control Languages von Betriebssystemen, frühe BASIC-Implementationen ▲ Kompilierte Programme laufen i. Allg. schneller ab als interpretierte. Dafür muss bei jeder Änderung im Programmcode das Programm erneut übersetzt werden. ● Programmcode in Compiler-Sprachen ist zwar im Prinzip auf beliebige Rechnersysteme portierbar, erfordert jedoch stets die Kompilierung, bevor das Programm ausgeführt werden kann. Dies macht Compiler-Sprachen weniger geeignet, wenn verschiedenste Rechner-Plattformen in einem gemeinsamen Netzwerk dieselben Programme ausführen sollen, da in diesem Falle auf jeder Plattform der Code kompiliert werden müsste. Hier sind Interpreter-Sprachen bevorteilt. ■ JAVA ist eine Kombination aus Compiler- und Interpreter-Sprache. Der Quellcode wird von ei-

        nem Compiler in einen der Maschinensprache ähnlichen, aber plattformunabhängigen Pseudocode übersetzt. Dieser Pseudo-Code kann dann auf verschiedensten Rechner-Plattformen über die JAVA Virtual Machine mit relativ hoher Geschwindigkeit interpretiert und ausgeführt werden.

        296

        6 Planung und Realisierung von Informationssystemen

        ● Verbreitete problemorientierte Programmiersprachen: • BASIC: leicht erlernbar, für Ausbildungszwecke entwickelt, für professionelle umfangreiche Programmentwicklung weniger geeignet. • C: zusammen mit dem Betriebssystem UNIX entwickelt, gestattet relativ maschinennahe Programmierung und damit kurze Programmlaufzeiten, universell einsetzbar, relativ schwer lesbar. • COBOL: für betriebswirtschaftliche Anwendungen am verbreitetsten, für technische oder mathematische Problemstellungen weniger geeignet. • FORTRAN: speziell für technische und mathematische Problemstellungen geeignet, in Sprachumfang und -strukturelementen relativ beschränkt und damit unhandlich. • PASCAL: universell einsetzbar, für Ausbildungszwecke entwickelt, in der professionellen Anwendungsentwicklung weniger verbreitet. • PERL: Interpretersprache mit umfangreichem Befehlsumfang zur Verarbeitung von Zeichenketten. Mischung aus verschiedensten Programmiersprachen (BASIC, C). Besonders auf Betriebsystemebene zur Erstellung von automatischen Befehlsabläufen geeignet. Sehr langsam. Nicht für die Anwendungsprogrammierung geeignet. • MODULA: Weiterentwicklung von PASCAL, reine Lehrsprache, in der Anwendungsentwicklung praktisch nicht verwendet. ▲ Ein Vorteil der prozeduralen problemorientierten Sprachen besteht in deren Standardisierung. Es wird ein von Herstellern und Betriebssystem unabhängiger Standardsprachschatz angestrebt (ANSIStandard). Hält man sich bei der Programmierung daran, ist eine Portierung auf unterschiedliche Betriebsysteme und Hardwareumgebungen mit nur geringen Änderungen möglich. ■ Setzen Programme darüber hinaus nicht auf der Betriebssystemebene auf, sondern verwenden zum Ansprechen der Hardware standardisierte Schnittstellen (bspw. zur Anzeige von Eingabefenstern in einem GUI), so können diese Programme auf verschiedenen Hardwareplattformen verwendet werden, für die diese (Quasi-)Standards implementiert sind. ■ JAVA Virtual Machine, Active-X, OpenWindows, X-Window

        ● Leider gibt es nur wenige, bei allen Herstellern gleichermaßen anerkannte und unterstützte Standards, da jeder Hersteller sein Produkt favorisiert.

        6.6.5

        Moderne Realisierungsansätze

        a) Deskriptive Sprachen Bei deskriptiven Programmiersprachen muss der Programmierer nicht angeben, WIE ein bestimmtes Problem gelöst werden muss, sondern WAS gelöst werden soll. Der Übersetzer bestimmt dann die konkrete Abfolge von Befehlen (das WIE). ■ Zu den Vertretern der deskriptiven Programmiersprachen gehören insbesondere Abfragesprachen für Datenbanksysteme. • SQL: (Structured Query Language) (Quasi-Standard für relationale Datenbanken) • NATURAL: Sprache für das Datenbanksystem Adabas • ACCESS BASIC: Programmiersprache der PC-Datenbank MS-Access • XBASE: Programmiersprache von zu dBase kompatiblen PC-Datenbanken ■ VisualdBase, FoxPro, Clipper, u. a.

        b) Wissensbasierte Sprachen Wissensbasierte Sprachen sind Programmiersprachen, die die Formulierung von Sachverhalten in Form von Regeln ermöglichen.

        6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL

        297

        Regeln sind kausale Beziehungen zwischen komplexen Bedingungen und einer Konklusion. Die Auswertung erfolgt nach der so genannten Horn Regel. ■ Wenn der Auftraggeber bekannt und seine Bonität gesichert ist, dann liefere Ware gegen Rechnung. ▲ Wissensbasierte Sprachen sind ein Teilgebiet der Künstlichen Intelligenz (KI). ■ Zu den Vertretern der wissensbasierten Sprachen zählen: PROLOG (Programmiersprache zur Unterstützung der regelorientierten Programmierung), LISP, SCHEME (stellen spezielle Prozeduren zur Verarbeitung von „Listen“ zur Verfügung).

        6.7

        Datenbankmanagement auf Basis der relationalen Sprache SQL

        SQL (Structured Query Language) ist eine Standardsprache für relationale Datenbanken. ▲ Eine Normierung von SQL erfolgte durch ISO (International Standardization Organization) und ANSI (American National Standards Institute). SQL bildet die Basis aller gängigen Relationalen Datenbankmanagementsysteme (RDBMS). Die Verfügbarkeit von SQL ist entscheidendes Merkmal der „Güte“ eines RDMBS.

        a) SQL als Data Definition Language (DDL) Unter einer Data Definition Language (DDL) (synonym: Data Description Language) wird eine Sprache zur Generierung des intensionalen Relationenschemas verstanden. SQL als DDL beinhaltet drei grundlegende Befehle: • Anlegen einer Relation (create): CREATE TABLE ( , , ... datentyp_n>) ■ Anlegen einer Relation Auftrag, die aus den Attributen Auftragsnummer, Kundennummer, Datum und Mitarbeiternummer des Kundenbetreuers besteht. SQL> CREATE TABLE AUFTRAG ( auftrag_no number(4) not null, kunden_no number(4), datum date, mitarbeiter_no number(4)); • Ändern des Schemas einer Relation (alter), Hinzufügen oder Ändern eines Attributes: ALTER TABLE ADD/MODIFY ( , , ..., ) ■ Hinzufügen des Attributes Position der Relation MITARBEITER SQL> ALTER TABLE MITARBEITER ADD (position char (20) CHECK position in(’Techniker’, ’Kundenbetreuer’, ’Rechnungswesen’)); • Löschen einer Relation (drop): DROP TABLE ■ Löschen der Relation MITARBEITER: SQL> DROP TABLE MITARBEITER;

        298

        6 Planung und Realisierung von Informationssystemen

        Allgemeine Datentypen (datenbankabhängig, hier ORACLE): number(x) ganzzahliger numerischer x-stelliger Wert number(x,y) numerischer Wert mit x − y Vorkomma- und y Nachkommastellen char(x) alphanumerische Zeichenkette mit x Zeichen date Datum Spezielle Zusätze für Datentypen zur Integritätssicherung: not null Attribut muss für jeden Tupel einen Wert haben unique Attribut darf für verschiedene Tupel keine identischen Werte haben primary key not null und unique, sowie Primärschlüssel der Tabelle references sichert Integrität bei Fremdschlüsselbeziehungen check definiert Wertebereiche einer Domäne ■ Beispiele: SQL> CREATE TABLE BANKLEITZAHL (blz number(8) primary key, bankname char (20)); SQL> CREATE TABLE MITARBEITER (pers_nr number(5) primary key, nachname char(20), vorname char(15), geschlecht number(1), strasse char(20), plz number(5), wohnort char(20), blz number(8) references BANKLEITZAHL, abt_nr number(2), gehalt number(7) check (gehalt between 2000 and 1000000));

        6.7.1

        SQL als Data Manipulation Language (DML)

        Eine Data Manipulation Language (DML) dient der Veränderung der extensionalen Datensicht und beinhaltet drei grundlegende Befehle: • Einfügen von Tupeln (INSERT) INSERT INTO VALUES (, INSERT INTO MITARBEITER values (79, ’Silcher’, ’Angela’, 2, ’Heiligenstr. 82’, 60054, ’Frankfurt’, 6, 4900, ’Kundenbetreuer’); • Ändern von Tupeln (UPDATE) UPDATE SET = WHERE ■ Aufgrund der guten Leistungen der Abteilung 3 (Debitorenbuchhaltung) erhalten die Mitarbeiter dieser Abteilung 5% mehr Lohn SQL > UPDATE MITARBEITER SET gehalt = gehalt * 1.05 WHERE abt_nr=3; • Löschen von Tupeln (DELETE) SQL> DELETE FROM WHERE ■ Der Mitarbeiter mit der Personalnummer 19 scheidet aus dem Unternehmen aus und wird aus der Relation Mitarbeiter entfernt: SQL> DELETE FROM MITARBEITER WHERE pers_nr=19;

        6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL

        6.7.2

        299

        SQL als Query Language (QL)

        Eine Query Language (QL) ist eine Abfragesprache zur Extraktion von Daten bzw. Informationen aus der Datenbank. Grundlage ist der Select-Befehl, wobei der einfachste Select-Befehl die vollständige Anzeige aller Tupel einer Relation ist: SQL> SELECT * FROM Grundfunktionen: • Projektion: Auswahl einzelner Spalten (Attribute) aus den Tabellen. Die Projektion generiert aus einer Relation B eine Relation A, indem eine Teilmenge der Attribute der Relation B in A eingehen. SELECT , , ..., FROM ■ Auswahl der Attribute pers_nr, vorname, nachname und gehalt aus der Relation MITARBEITER SQL > SELECT pers_nr, vorname, nachname, gehalt FROM MITARBEITER; ▲ Werden durch eine Projektion mehrere identische Tupel generiert, so sind die identischen Tupel

        nach der Relationenlehre zu entfernen. Diese Forderung wird von den meisten RDBMS jedoch nicht unterstützt. SQL> SELECT position FROM MITARBEITER; Falls ein RDBMS nicht automatisch Duplikate entfernt, ist, um wirklich nur die unterschiedlichen Berufe zu erhalten, folgender SQL-Befehl auszuführen: SQL> SELECT DISTINCT(position) FROM MITARBEITER; • Selektion: Auswahl einzelner Zeilen (Datentupel) aus den Tabellen nach gewissen Kriterien. Die Selektion generiert aus einer Relation B eine Relation A durch Bildung einer Teilmenge der Tupel, die einer bestimmten Bedingung genügen: SELECT * FROM WHERE ■ Auswahl aller Mitarbeiter der Abteilung 3 SQL > SELECT * FROM MITARBEITER WHERE abt_nr=3; Weitere Selektionsoperatoren: – Sortieren – Mathematische Funktionsoperatoren – Gruppierung – Logische Operatoren: AND, OR, NOT – Arithmetische Operatoren: =, >, =, SELECT * FROM MITARBEITER WHERE abt_nr=3 AND geschlecht=2; – Auswahl aller Mitarbeiter, die entweder in Abteilung 3 oder Abteilung 4 arbeiten SQL> SELECT * FROM MITARBEITER WHERE abt_nr=3 OR abt_nr=4; – Auswahl aller Mitarbeiter, die ein Gehalt zwischen 4000 und 5000 beziehen und weiblich sind, oder die ein Gehalt zwischen 5000 und 6000 beziehen und männlich sind

        300

        6 Planung und Realisierung von Informationssystemen SQL> SELECT * FROM MITARBEITER WHERE (gehalt>4000 AND gehalt SELECT m.pers_nr, m.nachname, m.vorname, m.abt_nr, a.bezeichnung, m.gehalt, m.konto_nr, m.blz, b.bankname FROM MITARBEITER m, ABTEILUNG a, BANK b WHERE m.abt_nr=a.abt_nr AND.blz=b.blz; ▲ Bei den Bezeichnern a,b und m handelt es sich um so genannte Alias-Namen, unter denen in

        diesem Beispiel die Relationen Mitarbeiter, Abteilung und Bank angesprochen werden. • Vereinigung: Aus zwei oder mehr Relationen wird eine Relation gebildet, die die Vereinigungsmenge dieser Relationen bildet.

        SELECT FROM UNION SELECT FROM ▲ Die Operation Union ist nur für Projektionen von Relationen durchführbar, deren Attribute identische Domänen aufweisen. ■ Neben der uns bereits bekannten Relation Lieferant existiert auch eine Relation Kunde. Zur Einführung eines EDI-Systems werden von allen Geschäftspartnern (Kunden und Lieferanten) die Daten Name, Strasse, PLZ und Ort benötigt. SQL > SELECT lieferantenname, strasse, plz, ort FROM LIEFERANT UNION SELECT kundenname, strasse, plz, ort FROM KUNDE; • Differenz: Differenzmenge aus einer Menge von Relationen. Diese Verknüpfung zweier Relationen wird in einer neuen Relation dargestellt, die alle Zeilen (Tupel) der einen Relation enthält, ohne diejenigen, die auch in der anderen vorhanden sind.

        SELECT FROM MINUS SELECT FROM

        6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL

        301

        ▲ Operation Differenz ist nur für Projektionen von Relationen durchführbar, deren Attribute identische Domänen aufweisen. ■ Selektion aller Lieferanten, die nicht auch Kunden sind. SQL> SELECT lieferantenname, strasse, plz, ort FROM LIEFERANT MINUS SELECT kundenname, strasse, plz, ort FROM KUNDE; • Schnittmenge: Verknüpfung zweier Relationen in einer neuen Relation, die alle Zeilen (Tupel), die sowohl in der einen Relation wie auch in der anderen vorhanden sind, enthält.

        SELECT FROM INTERSECT SELECT FROM ▲ Die Operation Schnittmenge ist nur für Projektionen von Relationen durchführbar, deren Attribute identische Domänen aufweisen. ■ Die Finanzbuchhaltung benötigt die Daten aller Lieferanten, die auch Kunden sind, um bspw. eine Verrechnung von Soll- und Habenpositionen vorzunehmen: SQL> SELECT lieferantenname, strasse, plz, ort FROM LIEFERANT INTERSECT SELECT kundenname, strasse, plz, ort FROM KUNDE; Spezielle Operatoren: • Sortieren von Datensätzen Am Ende des SELECT-Befehls steht der Zusatz ORDER BY [DESC] ■ Absteigendes Sortieren der Relation Kunde nach dem Namen: SQL > SELECT * FROM KUNDE ORDER BY name DESC; Der Zusatz DESC bewirkt eine Sortierung in absteigender Reihenfolge. • Mathematische Operatoren – Zählen: SELECT COUNT(*) FROM WHERE ■ Anzahl aller Mitarbeiter in der Abteilung mit der Nummer 4: SQL> SELECT COUNT(*) FROM MITARBEITER WHERE abt_nr=4; – Addieren: SELECT SUM() FROM WHERE... ■ Gehaltssumme aller Mitarbeiter: SQL> SELECT SUM(gehalt) FROM MITARBEITER; – Minimum: SELECT MIN() FROM WHERE... ■ Niedrigstes Gehalt aller Mitarbeiter: SQL> SELECT MIN(gehalt) FROM MITARBEITER; – Maximum: SELECT MAX() FROM WHERE... ■ Höchstes Gehalt aller Mitarbeiter: SQL> SELECT MAX(gehalt) FROM MITARBEITER;

        302

        6 Planung und Realisierung von Informationssystemen – Mittelwert: SELECT AVG() FROM WHERE... ■ Durchschnittsgehalt aller Mitarbeiter: SQL> SELECT AVG(gehalt) FROM MITARBEITER; – Standardabweichung: SELECT STDDEV() FROM WHERE... ■ Standardabweichung der Gehälter aller Mitarbeiter: SQL> SELECT STDDEV(gehalt) FROM MITARBEITER;

        Gruppierung von Datensätzen: Group by: Datensätze lassen sich mithilfe der Anweisung GROUP BY nach einem zu spezifizierendem Kriterium gruppieren. SELECT FROM GROUP BY ; ■ Beispielsweise kann eine Aufstellung der Anzahl gestellter Rechnungen pro Datumstag vorgenommen werden. SQL > SELECT datum, COUNT(*) FROM RECHNUNG GROUP BY datum; Spezielle Datenbankoperatoren: Having ■ Ermittlung der durchschnittlichen Gehälter der Berufsgruppen. Aus statistischen Gründen sollen nur Gruppen, die mindestens vier Tupel beinhalten, ausgewertet werden. SQL> SELECT position, AVG(gehalt) FROM MITARBEITER GROUP BY position HAVING COUNT(*) > 4; In, geschachtelte Select-Befehle: ■ Ermittlung der Lieferantennummer und der Namen aller Lieferanten, die das Teil No. 3 bereits geliefert haben. SQL> SELECT lieferanten_no, name FROM LIEFERANT WHERE lieferanten_no IN (SELECT lieferanten_no FROM BESTELLUNG WHERE teil_no=3); ▲ Die Verschachtelung über die In-Klausel kann beliebig tief erfolgen. Exists: ■ Ermittle die Namen der Lieferanten, die alle Teile liefern. SQL> SELECT lieferantenname FROM LIEFERANT l WHERE NOT EXISTS (SELECT * FROM TEILE t WHERE NOT EXISTS (SELECT * FROM BESTELLUNG b WHERE lieferanten_no=l.lieferanten_no AND teile_no=t.teile_no)); Anlegen einer Relation aus bereits in der Datenbank existierenden Daten: Das SQL-Kommando CREATE kann auch zum Anlegen einer Relation aus bereits in der Datenbank existierenden Daten verwendet werden. CREATE TABLE AS SELECT ... ▲ Der Select-Teil des Create-Kommandos kann dabei alle Basisoperationen wie Projektion, Selektion, Join, Union usw. beinhalten.

        6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL

        6.7.3

        303

        Views

        Views (Sichten) sind virtuelle Tabellen, in denen die Daten nicht physisch gespeichert werden, sondern der SQL-Befehl zur Erzeugung der View gespeichert wird. Die Generierung der Relation erfolgt dynamisch zur Laufzeit. ● Die Generierung von Views erfolgt analog zur Erzeugung von Relationen: CREATE VIEW AS SELECT ... ■ Um uns den Aufwand eines Joins zu ersparen, wird ein View angelegt: SQL> CREATE VIEW TEST AS SELECT m.pers_nr, m.nachname, m.vorname, m.abt_nr, a. bezeichnung, m.gehalt, m.konto_nr, m.blz, b.bankname FROM MITARBEITER m, ABTEILUNG a, BANK b WHERE m.abt_nr=a.abt_nr AND m.blz=b.blz; Die Abfrage der Daten, die Mitarbeiter, Abteilungsname sowie die komplette Bankverbindung beinhaltet, erfolgt nun einfach über den Befehl: SQL> SELECT * FROM TEST; ▲ Es ist möglich, Views beliebig tief zu schachteln. SQL> CREATE VIEW TEST1 AS SELECT * FROM TEST WHERE abt_nr=3;

        6.7.4

        Query By Example

        Query by Example (QBE) soll eine an Beispielen orientierte grafische Sprache zur Durchführung von Abfragen bereitstellen. ■ Produktbeispiel: QBE ist realisiert worden im Rahmen von QMF von IBM. Vorteil: Der Anwender braucht nicht SQL zu lernen. Nachteil: Diese Sprache ist weniger mächtig im Vergleich zu SQL. Beispielsweise beinhaltet QBE nicht die Möglichkeit der Durchführung einer Abfrage, die ein NOT EXISTS beinhaltet. ■ Bearbeiten der Mitarbeiter-Tabelle: Darstellung der intensionalen Struktur einer Tabelle: SQL>draw MITARBEITER MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. Projektion: Um die einzelnen Spalten anzeigen zu lassen, wird in den Spalten ein p. (present) eingetragen. Das entsprechende SQL-Statement würde lauten: SQL> SELECT pers_nr, name, vorname, blz, abt_nr FROM MITARBEITER; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p. p. p. p. p. Im Ergebnis werden nur die mit p. ausgezeichneten Spalten angezeigt. Selektion: Zur Selektion wird das Kriterium in der entsprechenden Spalte eingetragen. SQL> SELECT * FROM MITARBEITER WHERE abt_nr=3; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p. p. p. p. p. p. p. p.3 p.

        304

        6 Planung und Realisierung von Informationssystemen

        SQL> SELECT * FROM MITARBEITER WHERE gehalt >4000; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p. p. p. p. p. p. p. p. p.> 4000 Join: Um mehrere Tabellen mittels JOIN zu verknüpfen, wird in den entsprechenden Spalten „_[Ausdruck]“ eingetragen. Der Ausdruck darf nur ein Zeichen lang sein. SQL> SELECT a.pers_nr, a.abt_nr, b.bezeichnung FROM MITARBEITER a, ABTEILUNG b WHERE a.abt_nr=b.abt_nr; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p. p._A p. ( ( ((( (((( ( ( (((( ((( ( ( ( ( (((( (((

        ABTEILUNG Abt_nr Bezeichnung _A p. Sortieren: ao. = aufsteigende Sortierung (ascending order) do. = absteigende Sortierung (descending order) SQL> SELECT * FROM MITARBEITER ORDER BY pers_nr; MITARB. Pers_nr Name Vorname Strasse PLZ Wohnort BLZ Abt_nr Gehalt Pos. p.ao. p. p. p. p. p. p.3 p. p. ▲ Bei mehreren zu sortierenden Feldern wird in Klammern die Reihenfolge hinzugefügt, z. B. ao(1) ao(2).

        6.7.5

        Deskriptive Anwendungsentwicklung

        Bei der deskriptiven Anwendungsentwicklung ist (im Idealfall) nur das zu lösende Problem an sich zu spezifizieren. ■ Beispiele: NATURAL, SQL, SQL*Forms ▲ Bei Programmiersprachen der 3. Generation (3GL) (Beispiele: C, COBOL, PASCAL etc.) ist in einem Algorithmus zu spezifizieren, WIE ein Problem zu lösen ist. ▲ Mithilfe der deskriptiven Anwendungsentwicklung lässt sich innerhalb relativ kurzer Zeit ein Prototyp erstellen. ● Ein wichtiges Instrument der deskriptiven Anwendungsentwicklung ist das Konzept der Ereignisorientierung, welches bedeutet, dass Aktionen durch das Auftreten von Ereignissen ausgelöst werden: Ereignis → Aktion ● Für die Menge der möglichen Ereignisse muss festgelegt werden, welche Reaktion auf welches Ereignis folgt. Die Definitionen von Aktionen auf der Basis von Ereignissen erfolgt auf der Basis von Triggern (Auslöser). ■ Beispiele für von Triggern ausgelöste Aktionen (auf Basis von SQL*Forms): • Einfügen (INSERT) • Ändern (UPDATE) • Löschen (DELETE)

        6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL

        305

        ● Bei ereignisorientierter Software wird zur Laufzeit vom System ständig überprüft, ob bestimmte Ereignisse eingetreten sind. Ereignis → Auslösung des Triggers ● Der Trigger ist ein kleines Programm, das Ereignisse im IS verarbeitet. Nach Ausführung des Triggers wird die Kontrolle des Systems wieder an die Ereignisabfrage übergeben. ■ Beispiele für Ereignisse und zugehörige Klassen von Triggern: – Datenmanipulationen → Datenmanipulationstrigger – Navigationen des Benutzers in der Anwendung → Navigationstrigger – Betätigung einer Taste → Keytrigger ● Datenmanipulationstrigger: • ON-VALIDATE-FIELD-TRIGGER: Auslösung nach Eingabe in einem Feld • PRE-DELETE-TRIGGER: Auslösung vor dem Löschen eines Tupels • PRE-INSERT-TRIGGER: Auslösung vor dem Einfügen eines Tupels • POST-DELETE-TRIGGER: Auslösung nach Löschen eines Tupels • POST-INSERT-TRIGGER: Auslösung nach dem Einfügen eines Tupels • POST-UPDATE-TRIGGER: Auslösung nach Änderung ■ PRE-DELETE-Trigger: Vor dem Löschen einer Abteilung wird überprüft, ob in den Relationen der Datenbank noch Mitarbeiter in dieser Abteilung existieren. Wenn ja, erfolgt eine Fehlermeldung und die Löschung wird nicht vollzogen. Implementierung des Triggers in PL/SQL: DECLARE anzahl number(3); BEGIN SELECT COUNT(mitarbeiter_nr) INTO anzahl FROM MITARBEITER WHERE abteil_nr=:block.zu_löschende_Abteil_nr; IF anzahl > 0 THEN MESSAGE (’Es sind noch Mitarbeiter in dieser Abteilung!!’); RAISE form_trigger_failure; ELSE commit_form; END IF; END; ▲ PL/SQL ist eine Erweiterung von SQL um prozedurale Komponenten (in Anlehnung an ADA).

        PL/SQL beinhaltet prozedurale Konzepte wie IF-ELSE-Klausel und Schleifen (loop). Implementierung in reinem SQL: SELECT ’x’ INTO global.erfolg FROM DUAL WHERE EXISTS (SELECT mitarbeiter_nr FROM MITARBEITER WHERE abteil_nr=:block.zu_löschende_abteil_nr); MESSAGE(’Es sind noch Mitarbeiter in dieser Tabelle!!’); RAISE forms_trigger_failure; EXCEPTION WHEN no_data_found THEN commit_form; ● Navigationstrigger: • PRE-FORM-TRIGGER: Auslösung bevor Maske (Form) gestartet wird • PRE-BLOCK-TRIGGER: Auslösung bevor in einen Block gewechselt wird

        306

        6 Planung und Realisierung von Informationssystemen • PRE-FIELD-TRIGGER: Auslösung bevor in ein Feld gewechselt wird • POST-BLOCK-TRIGGER: Auslösung nach Verlassen eines Blocks • POST-FIELD-TRIGGER: Auslösung nach Verlassen eines Feldes

        ■ Beispiel für einen Navigationstrigger: In einer Datenmaske soll vom Anwender in einem Feld eine Kundennummer eingegeben und der entsprechende Kundenname der Tabelle KUNDE angezeigt werden. Für das Feld, in dem die Eingabe erfolgt, wird ein POST-FIELD-Trigger definiert, der den entsprechenden Datensatz mit einem SQLKommando selektiert oder eine Fehlermeldung bringt, falls der Kunde nicht vorhanden ist. Triggerdefinition: SELECT Kundenname INTO BLOCK.name FROM KUNDE WHERE Kund_Nr=:block.nummer EXCEPTION WHEN no_data_found THEN MESSAGE (’Kunde nicht vorhanden’); RAISE form_trigger_failure;

        POSTFIELD

        POSTFIELD

        Schema zur Veranschaulichung der Arbeitsweisen von Triggern ▲ Außer den SQL-Kommandos können in den Triggern von SQL-Forms auch Navigationskommandos verwendet werden. ■ GO_BLOCK (’Blockname’);

        GO_FIELD(’Feldname’); NEXT_FIELD; PREVIOUS_FIELD; NEXT_BLOCK; ● Keytrigger werden durch Tastendruck des Benutzers ausgelöst. ■ Aus einer Tabelle mit Abteilungen soll eine Abteilung gelöscht werden: Über eine Taste, die einen Trigger namens KEY-DELREC auslöst, wird der entsprechende Datensatz am Bildschirm gelöscht. Um einem Anwender z. B. die Löschung eines Tupels aus der Tabelle RECHNUNG „zu verbieten“, ist z. B. folgender Trigger zu generieren: Trigger: KEY-DELREC Block: RECHNUNG

        6.7 Datenbankmanagement auf Basis der relationalen Sprache SQL

        307

        Field: null Trigger Style: V3 Show Keys: X Description: null Trigger Text: BEGIN MESSAGE(’Loeschungen nicht möglich!’); RAISE sqlforms.form_trigger_failure; END;

        6.7.6

        Ausgewählte Probleme relationaler Datenbanken

        ▲ Große Hochlasttransaktionssysteme laufen i. d. R. auf Basis hierarchischer Datenbanksysteme. Obwohl das Konzept der relationalen Datenbank mehr Flexibilität eröffnet als ältere Datenbankmodelle, erreicht es seine Grenzen (Wenn z. B. innerhalb einer relationalen Datenbank Rückschlüsse von vorhandenen Daten (Beziehungen) auf neue Daten (Beziehungen) abgebildet werden sollen und wenn zeitliche Veränderungen im Sinne eines Versioning dargestellt werden sollen).

        Deduktion in RDBMS: Ein deduktives Datenbanksystem ist in der Lage, aus vorhandenen (extensionalen) Fakten neue Fakten abzuleiten. ■ Es seien folgende Fakten gegeben: 1. C ist die Mutter von B. 2. B ist die Mutter von A. Diese Aussagen lassen sich in einem „traditionellen“ relationalen Datenbanksystem mithilfe der Relation MOTHER_OF abbilden: MOTHER DAUGHTER C B B A ▲ In einem deduktiven Datenbanksystem ist es nun zusätzlich möglich, eine Regel einzufügen, die

        es erlaubt, aus den gegebenen Fakten das Faktum „C ist die Großmutter von A“ abzuleiten. Eine solche Regel hat die folgende Form: forall x forall y forall z (if mother of (x,y) and mother of (y,z) then grandmother of (x,z)). ● Diese Form von Deduktion lässt sich auch mit Unterstützung eines relationalen Datenbanksystems modellieren. ■ Dazu ist z. B. ein View mit folgendem SQL-Statement zu generieren: SQL > CREATE VIEW GRANDMOTHER_OF (grandmother, granddaughter) AS SELECT m1.mother, m2.daughter FROM MOTHER_OF m1, MOTHER_OF m2 WHERE m1.daughter=m2.mother; ▲ Kommen weitere Fakten hinzu, z. B. „D ist die Mutter von C“, so wird die Herleitung mit SQL

        zunehmend komplexer, während mit der regelbasierten Darstellung nur eine einfache Erweiterung der oben angeführten Regel erforderlich ist.

        308

        6 Planung und Realisierung von Informationssystemen

        Abbildung von Zeitabhängigkeiten in RDBMS: ▲ Bei den bisherigen Betrachtungen wurden zeitabhängige Aspekte nicht berücksichtigt. Wir gingen von der impliziten Annahme aus, dass für eine Unternehmung nur Daten/Informationen über den aktuellen Zeitpunkt von Bedeutung sind. ■ Folgende Beispiele zeigen, dass eine Abbildung von Zeitabhängigkeiten durchaus von Bedeutung sein kann: • Einkommen des Mitarbeiters X im Mai 1990. • Seit wann hat eine Unternehmung welche Kunden? • Preise eines Produktes im Jahr 1989. Lösungsansätze zur Abbildung von Zeitabhängigkeiten: 1. Jede Relation erhält zwei zusätzliche Attribute START und ENDE, die den Zeitpunkt des Beginns des Gültigseins eines Tupels und des Endes desselben repräsentieren. Kunden_no Name Anschrift START ENDE 3 Maier A-Str. 1.10.92 4 Schmidt B-Str. 2.10.92 Bei Änderung der Anschrift des Kunden mit No. 3 am 19.10.92 führt das zu folgender Änderung der Relation KUNDE: Kunden_no 3 4 3

        Name Maier Schmidt Maier

        Anschrift A-Str. B-Str. C-Str.

        START ENDE 1.10.92 19.10.92 2.10.92 19.10.92

        ▲ Die Attribute START und ENDE der Relationen sollen dabei vom RDBMS verwaltet werden, sodass der Anwender sich nicht um das Handling zu kümmern braucht. Der Primärschlüssel der Relation KUNDE setzt sich aus der Kunden_no und dem Attribut START zusammen. ▲ Problem: Unterscheidung zwischen effective time und update time, die auseinanderfallen können. 2. Jede Relation enhält zusätzlich je zwei Attribute START und ENDE für die effective time und die update time. ▲ Problem der Alternativen 1 und 2: Start- und Endzeitpunkte sollten bestimmten Attributen (z. B. Anschrift) zugeordnet werden und nicht ganzen Tupeln, da i. d. R. einzelne Attributwerte und nicht gesamte Tupel Gegenstand von Updates sind. ▲ Dies gilt natürlich nicht bei Löschoperationen.

        6.8

        Objektorientierte Modellierung: UML

        a) Was bedeutet Objektorientierung? Objektorientierung bedeutet das Zusammenführen von Daten und Funktionen in Form von Objekten. ● Ein Objekt besitzt Eigenschaften, das sind Attribute und Operationen, die entweder von außen zugreifbar oder nur innerhalb des Objekts sichtbar sind. Objekte kommunizieren durch den Austausch von Nachrichten miteinander. Eine von einem Objekt empfangene Nachricht löst i. d. R. die Ausführung einer Operation auf dem betreffenden Objekt aus. ● Objektorientierte Entwicklung heißt daher, das zu realisierende System als eine Menge kommunizierender Objekte zu modellieren und zu implementieren.

        6.8 Objektorientierte Modellierung: UML

        309

        Der Einsatz objektorientierter Konzepte wurde in den späten 60er Jahren bereits mit SIMULA verwirklicht. Während aber SIMULA noch in erster Linie für die Entwicklung von Simulationssoftware eingesetzt wurde und daher unverdientermaßen einen geringen Verbreitungsgrad hatte, ist der Siegeszug der objektorientierten Nachfolgesprachen, allen voran Smalltalk, C++ und Java, bereits Geschichte. Zu den Wurzeln der Objektorientierung gehören aber auch die Bereiche des Artificial Intelligence und der Datenbanksysteme. Innerhalb der Artificial Intelligence-Forschung sind es vor allem die Wissensrepräsentation mit Sprachen wie KL-ONE, die als Vorläufer der Objektorientierung gelten. Im Bereich der Datenbanksysteme sind es vor allem die Konzepte der (semantischen) Datenmodellierung, wie z. B. Aggregation und Generalisierung (vgl. Entity-Relationship-Modell in Abschnitt 6.4), die sich in den objektorientierten Konzepten wiederfinden.

        b) Was bedeutet objektorientierte Modellierung? Objektorientierte Modellierung bedeutet, ausgehend von der Problemstellung, den Problembereich (universe of discourse) als eine Menge kommunizierender und interagierender Objekte zu beschreiben, die sukzessive in den Lösungsbereich, d. h. in das zu implementierende System, überführt werden. Dabei umfasst objektorientierte Modellierung sowohl die frühen Phasen der Software-Entwicklung wie Anforderungsbeschreibung und Analyse, als auch die späten Phasen wie Systementwurf und Detailentwurf (vgl. auch Planungs-, Definitions- und Entwurfsphase des Phasenkonzepts in Abschnitt 6.1). ▲ Der entscheidende Vorteil der objektorientierten Modellierung gegenüber der traditionellen strukturierten Analyse und des strukturierten Entwurfs ist dabei die Durchgängigkeit der Konzepte. Das heißt, Objekte und ihre Eigenschaften werden im Problembereich identifiziert, mithilfe einer Modellierungssprache modelliert, im Laufe des Entwicklungsfortschritts verfeinert und schließlich in einer (idealerweise) objektorientierten Implementierungsumgebung (Sprache, Datenbanksystem, Middleware etc.) umgesetzt.

        c) Warum UML? Bis Mitte der 90er-Jahre waren weit über ein Dutzend objektorientierter Modellierungsmethoden am Markt erhältlich. Abhängig von der Vergangenheit der jeweiligen Entwickler hatten die Methoden einen starken Datenmodellierungs- oder Programmiersprachenbezug. Die Hauptvertreter waren: • OMT von Rumbaugh et al., • die Booch-Methode und • OOSE von Jacobson. ▲ OMT war ein klarer Vertreter der ersten Gruppe mit enger Verbindung zur Datenmodellierung. Die Entwickler von OMT wollten vor allem die Modellierung von komplexen Objekten im Sinne einer objektorientierten Erweiterung des Entity-Relationship-Modells (vgl. Abschnitt 6.4) unterstützen. ▲ Die Booch-Methode hatte aufgrund ihrer Ada-nahen Vergangenheit einen starken Bezug zur dynamischen Modellierung und zu Programmiersprachenkonzepten. Sie ist besonders zur Modellierung von Echtzeitsystemen und nebenläufigen Systemen geeignet. ▲ OOSE schließlich fiel etwas aus dieser Klassifikation heraus, indem es als der Vertreter der Skandinavischen Schule angesehen werden kann, bei der die Modellierung und die Simulation von Vorgängen der realen Welt im Vordergrund stehen. OOSE wurde ursprünglich zur Modellierung von Telekommunikationssystemen entwickelt und wies daher einen engen Bezug zu den dort eingesetzten Modellierungstechniken auf. Um die Aufgaben der objektorientierten Modellierung nicht durch eine reine Notationsdiskussion zu überfrachten, hatte die OMG (Object Management Group), das wichtigste Standardisierungsgremium für objektorientierte Entwicklung, im Jahre 1996 einen Aufruf zur Spezifikation eines Modellierungsstandards

        310

        6 Planung und Realisierung von Informationssystemen

        erlassen. Booch, Jacobson und Rumbaugh arbeiteten zu diesem Zeitpunkt bereits an einer Vereinheitlichung ihrer Ansätze. Deren Vorschlag wurde am 17.11.1997 als Unified Modeling Language (UML) in der Version 1.1 von der OMG als Modellierungsstandard akzeptiert. Zurzeit (Sommer 2000) existiert UML in der Version 1.3, deren Konzepte auf den folgenden Seiten beschrieben werden. ● UML ist eine grafische Modellierungssprache zum Spezifizieren, Konstruieren, Visualisieren und Dokumentieren von Softwaresystemen. ▲ Ein solches System wird nicht „in einem Wurf“ entwickelt, sondern im Verlauf eines Entwicklungsprozesses stufenweise verfeinert und aufgebaut. Die dabei entstehenden grafischen Repräsentationen beschreiben auf vorgegebenen Abstraktionsniveaus einen bestimmten Aspekt des Problembereichs oder des zu realisierenden Systems, wie z. B. die involvierten Objekte und ihre Beziehungen zueinander, die Interaktionen zwischen den Objekten und die Verteilung auf unterschiedliche Rechner. ▲ Diese Diagramme bieten auch Hilfestellung bei der Kommunikation zwischen Entwicklern und Kunden und den Entwicklern untereinander. Die Softwaretechnik folgt damit dem guten Beispiel anderer technischer Disziplinen, wie z. B. der Elektrotechnik und der Architektur, die sich längst grafischer Modellierungssprachen bedienen. So folgt der Schaltplan eines Videorecorders und der Plan eines Hauses einer international standardisierten Syntax und Semantik und ist damit „für jedermann“ lesbar. ● In diesem Sinn ist UML die „Lingua franca“ der objektorientierten Software-Entwicklung, indem es als Modellierungssprache dem Entwickler wesentliche Modellierungskonzepte und eine intuitive grafische Repräsentation derselben für die Konstruktion objektorientierter Softwaresysteme in die Hand gibt. UML unterscheidet acht Diagrammarten: • Anwendungsfalldiagramm • Klassendiagramm • Sequenzdiagramm • Kollaborationsdiagramm • Zustandsdiagramm • Aktivitätsdiagramm • Komponentendiagramm • Verteilungsdiagramm ▲ Während das Anwendungsfalldiagramm und das Klassendiagramm die statische Struktur des

        zu entwickelnden Systems beschreiben, werden die vier Diagramme Sequenzdiagramm, Kollaborationsdiagramm, Zustandsdiagramm und Aktivitätsdiagramm zur Darstellung der dynamischen Struktur herangezogen. Komponentendiagramm und Verteilungsdiagramm werden auch als Implementierungsdiagramme bezeichnet, da sie zur Visualisierung der Hardware- und Softwaretopologie auf der Ebene der Implementierung dienen. ▲ Welche Diagramme bei der Entwicklung eines Softwaresystems konstruiert werden, hängt nicht zuletzt auch von der Art des zu entwickelnden Systems und vom zugrunde liegenden Entwicklungsprozess ab. Von der UML wird kein Entwicklungsprozess vorgeschrieben, vielmehr ist UML mit jedem beliebigen Entwicklungsprozess kombinierbar (so z. B. mit dem Phasenkonzept aus Abschnitt 6.1). ■ Die acht Diagramme von UML werden hier anhand der Entwicklung eines Bibliothekssystems vorgestellt. Mit dem Bibliothekssystem sollen so unterschiedliche Werke wie Bücher, CD-ROMs und Zeitschriften sowohl beschafft als auch entliehen werden können.

        d) Anwendungsfalldiagramm (Use Case Diagram) Auch wenn in der objektorientierten Entwicklung die identifizierten Objekte, ihre Beziehungen zueinander und ihre Interaktionen im Mittelpunkt stehen, so ist für den Auftraggeber und Benutzer eines IS die Funktionalität dieses Systems am wichtigsten, wie auch immer diese Funktionalität realisiert wird.

        6.8 Objektorientierte Modellierung: UML

        311

        ● Das Anwendungsfalldiagramm dient zur Beschreibung der geforderten Funktionalität des zu entwickelnden Gesamtsystems in den frühen Phasen der Software-Entwicklung. Es besteht aus einer Menge von Anwendungsfällen und Schnittstellen zur Außenwelt in Form von kommunizierenden Akteuren. ● Ein Anwendungsfall (use case) beschreibt ein bestimmtes Verhalten, das von dem zu entwickelnden System erwartet wird. Er wird durch eine mit dem Namen des Anwendungsfalls beschriftete Ellipse dargestellt. Alle Anwendungsfälle zusammen machen die Funktionalität des Gesamtsystems aus. Wer mit dem System interagieren soll, wird durch Akteure festgelegt. ● Akteure (actors) stehen klar außerhalb des Systems. Sie benutzen das System, indem sie die Ausführung von Anwendungsfällen initiieren, oder sie werden vom System benutzt, indem sie selbst Funktionalität zur Realisierung einzelner Anwendungsfälle zur Verfügung stellen. UML kennt für Akteure zwei Darstellungsformen: Ein Rechteck, das mit dem Namen des Akteurs und dem Schlüsselwort actor beschriftet ist oder die piktografische Darstellung in Form eines beschrifteten Strichmännchens. ■ Anwendungsfalldiagramm Beschaffung: Das zu realisierende Bibliothekssystem muss sowohl die Beschaffung von neuen Werken als auch die Entleihung von Werken unterstützen. Aus Platzgründen wird im Anwendungsfalldiagramm nur die Beschaffung näher spezifiziert. Zur Beschaffung gehören die Anwendungsfälle Werk bestellen, Verlag erfassen, sofern dieser dem System noch nicht bekannt ist, Lieferung bearbeiten und das erworbene Werk beschlagworten. Die Beschaffung wird von einem Bediensteten der Bibliothek durchgeführt, der sich des Systems bedient (Akteur Bediensteter). Zur Beschlagwortung wird auch das Fachwissen eines Fachvertreters herangezogen (Akteur Fachvertreter). Beim Bearbeiten der Lieferung gibt es Tätigkeiten, die von der Art des Werks unabhängig sind (z. B. Eingang bestätigen), und werkspezifische Tätigkeiten. Letztere werden in den spezialisierten Anwendungsfällen Zeitschrift bearbeiten, Zeitschriftenausgabe bearbeiten, Buch bearbeiten und CD-ROM bearbeiten behandelt.

        Da bei der Modellierung zwischen menschlichen und nicht menschlichen Akteuren unterschieden werden kann, gilt als Konvention, dass die Strichmännchendarstellung für menschliche Akteure (vgl. Bediensteter im Anwendungsfalldiagramm) und die Rechtecksdarstellung für nicht menschliche Akteure (vgl. Drucker im Sequenzdiagramm) verwendet wird. ● Ein Schlüsselwort (keyword) dient der textuellen Differenzierung von UML-Konstrukten, z. B. Klassen, Interfaces und Akteure, die alle durch dasselbe grafische Symbol (in diesem Fall ein Rechteck)

        312

        6 Planung und Realisierung von Informationssystemen

        dargestellt werden. Um sie zu unterscheiden, wird außer bei Klassen ein Schlüsselwort in doppelten Spitzklammern ( . . . ) neben dem Namen des jeweiligen UML-Konstrukts vermerkt. Jeder Akteur muss mindestens eine Kommunikationsbeziehung zu einem Anwendungsfall haben, er kann aber auch mit mehreren Anwendungsfällen kommunizieren. ● Eine Kommunikationsbeziehung (communication relationship) wird zwischen genau einem Akteur und genau einem Anwendungsfall spezifiziert und ist ungerichtet, d. h. die Kommunikation kann in beiden Richtungen erfolgen. Darüber hinaus können Anwendungsfälle auch untereinander in Beziehung stehen, wobei man drei Beziehungsarten unterscheidet. ● Die include-Beziehung (include relationship) ist eine gerichtete Beziehung zwischen zwei Anwendungsfällen und besagt, dass das Verhalten vom zu inkludierenden Anwendungsfall in den inkludierenden Anwendungsfall eingefügt wird (entspricht einem Unterprogrammaufruf in der prozeduralen Programmierung). Die include-Beziehung wird durch einen gestrichelten Abhängigkeitspfeil dargestellt, der mit dem Schlüsselwort include beschriftet ist. Streng genommen müsste man daher von einer „include-Abhängigkeit“ reden, doch hat sich der Begriff der Beziehung in diesem Kontext in der Literatur durchgesetzt. Dies ist auch insofern korrekt, als in UML eine Abhängigkeit eine spezielle Form einer Beziehung darstellt. ● Die extend-Beziehung (extend relationship) ist ebenfalls eine gerichtete Beziehung zwischen zwei Anwendungsfällen und besagt, dass das Verhalten des erweiternden Anwendungsfalls in den zu erweiternden Anwendungsfall eingefügt werden kann (aber nicht muss!), vorausgesetzt, dass eine etwaig spezifizierte Bedingung erfüllt ist. Die extend-Beziehung wird durch einen mit dem Schlüsselwort extend beschrifteten Abhängigkeitspfeil dargestellt. Die Bedingung (condition) wird in eckigen Klammern ebenfalls zur extend-Beziehung vermerkt. Für jede extend-Beziehung können außerdem eine oder mehrere Erweiterungsstellen (extension points) im zu erweiternden Anwendungsfall definiert werden, die angeben, wo der erweiternde Anwendungsfall einzufügen ist. ● Bei der Generalisierungsbeziehung (generalisation relationship) erbt ein Anwendungsfall das gesamte Verhalten inklusive Kommunikationsbeziehungen von einem anderen Anwendungsfall, wobei er das geerbte Verhalten verändern und ergänzen kann. Die Generalisierung wird durch einen Pfeil mit einem nicht ausgefüllten gleichseitigen Dreieck als Spitze notiert, der von dem spezielleren zum generischeren Konstrukt führt. Generalisierungsbeziehungen können nicht nur zwischen Anwendungsfällen, sondern z. B. auch zwischen Klassen und zwischen Paketen spezifiziert werden (siehe auch weiter unten). UML erlaubt es, UML-Konstrukte durch so genannte Eigenschaften näher zu beschreiben. ● Eine Eigenschaft (property) ist entweder vordefiniert oder benutzerdefiniert und wird in geschwungenen Klammern neben dem Namen des betroffenen Konstrukts angeführt. ● Werden identische Teilaspekte von unterschiedlichen Anwendungsfällen in einem eigenen Anwendungsfall zusammengefasst, der aber für sich genommen keine ausführbare Funktionalität darstellt, so spricht man von einem abstrakten Anwendungsfall (abstract use case). Ein solcher wird durch Angabe der vordefinierten Eigenschaft {abstract} modelliert. ■ Ein Beispiel für einen abstrakten Anwendungsfall ist Lieferung bearbeiten im Anwendungsfalldiagramm Beschaffung).

        e) Paket (Package) Für nichttriviale Problemstellungen können die einzelnen Diagramme schnell sehr unübersichtlich werden. Für solche Fälle kennt UML den Abstraktions- bzw. Strukturierungsmechanismus des Pakets.

        6.8 Objektorientierte Modellierung: UML

        313

        ● Ein Paket ermöglicht es, eine beliebige Anzahl von UML-Konstrukten und -Diagrammen zu gruppieren und davon zu abstrahieren. Dabei können Pakete selbst wieder Pakete beinhalten. Ein Paket wird in UML durch ein Rechteck mit aufgesetztem kleinen Rechteck dargestellt („Karteikarte mit Reiter“). Wird der Paketinhalt nicht gezeigt, so steht der Paketname innerhalb des großen Rechtecks. Wird der Paketinhalt dargestellt, so steht der Paketname im Reiter. ■ Paket Bibliotheksverwaltung: Das gesamte zu realisierende Bibliothekssystem wird als Paket Bibliotheksverwaltung mit dem vordefinierten Stereotyp systemModel modelliert und enthält alle für die Beschreibung des zu implementierenden Systems relevanten Informationen. Dieses spezielle Paket ist die Wurzel aller geschachtelten Pakethierarchien eines Systems. Es ist das einzige Konstrukt in UML, das selbst nicht als Teil eines anderen Konstrukts auftreten muss. Im Beispiel enthält das Paket Bibliotheksverwaltung die beiden Pakete Entlehnung und Beschaffung. Das Paket Beschaffung besteht u. a. aus jenem Teil des Anwendungsfalldiagramms, der im vorangegangenen Beispiel diskutiert wurde. Im Paket Entlehnung wiederum sind alle jene Informationen gekapselt, die den Entleihvorgang genauer spezifizieren.

        Die im Beispiel vorkommenden Stereotypen stellen einen Erweiterungsmechanismus in UML dar. ● Ein Stereotyp (stereotype) ermöglicht die Kategorisierung von UML-Elementen. Ein Stereotyp wird textuell durch ein Schlüsselwort (s. o.) oder grafisch durch ein Piktogramm repräsentiert. Bezüglich der textuellen Darstellung wird der Name des Stereotyps in doppelten Spitzklammern (. . . ) in der Nähe des Namens des betroffenen UML-Elements angegeben. ■ Das Paket Bibliotheksverwaltung wird durch den vordefinierte Stereotyp Paketkategorie Systemmodell zugeordnet.

        systemModel

        der

        Damit der Paketinhalt in kontrollierter Weise von außen sichtbar und damit auch zugreifbar wird, werden Sichtbarkeiten der einzelnen Elemente und Beziehungen zwischen den Paketen festgelegt. ● Die Sichtbarkeit (visibility) wird als Präfix zum Namen des betreffenden Elements hinzugefügt. Sie gibt die Sichtbarkeit des Elements außerhalb seines umschließenden Pakets an: • + . . . öffentlich sichtbar, • # . . . geschützt sichtbar, d. h. nur für erbende Pakete sichtbar, • – . . . außerhalb des Pakets nicht sichtbar („privat sichtbar“). Bei den Beziehungen zwischen Paketen unterscheidet man die Genehmigungsabhängigkeit und die Generalisierungsbeziehung. ● Die Genehmigungsabhängigkeit (permission dependency) eines Pakets von einem anderen Paket impliziert, dass die Elemente des ersten, „abhängigen“ Pakets alle Elemente mit ausreichender Sichtbarkeit des zweiten, „unabhängigen“ Pakets referenzieren können. Die Genehmigungsabhängigkeit existiert in zwei Ausprägungen und wird durch einen Abhängigkeitspfeil mit den Stereotypen access bzw. import von einem Paket zu einem anderen zum Ausdruck gebracht. ● Die Generalisierungsbeziehung (generalisation relationship) von einem Paket zu einem anderen bedeutet, dass ersteres alle öffentlich und geschützt sichtbaren Elemente des zweiten Pakets erbt und diese dann wie seine eigenen Elemente referenzieren kann.

        314

        6 Planung und Realisierung von Informationssystemen

        f) Klassendiagramm (Static Structure Diagram, Class Diagram) ● Das Klassendiagramm zeigt im Wesentlichen Klassen und deren Beziehungen, kann allerdings auch einige andere „klassenähnliche“ Konstrukte enthalten (Interfaces, Klassenschablonen, Typen, Referenzen auf Entwurfsmuster u. v. m.). Darüber hinaus können auch konkrete Instanzierungen, also Objekte und Objektbeziehungen repräsentiert werden, um bestimmte Sachverhalte exemplarisch zu illustrieren. Aufgrund dieser Mannigfaltigkeit lautet die offizielle Bezeichnung des Klassendiagramms in UML „static structure diagram“. ■ Ausschnitt aus einem Klassendiagramm für das Bibliothekssystem (Detaillierungsniveau gemäß einer frühen Phase des Software-Entwicklungsprozesses):

        ● Eine Klasse (class) definiert die strukturellen Eigenschaften (Attribute) und das Verhalten (Operationen) einer Menge gleichartiger Objekte (Instanzen der Klasse). Das Rechtecksymbol für eine Klasse ist in Abschnitte untergliedert. Mit Ausnahme des obersten dürfen alle Abschnitte fehlen. Im obersten Abschnitt sind der Name und optional allgemeine Charakteristika der Klasse vermerkt (Stereotyp textuell oder als Piktogramm, Eigenschaftsangaben in geschwungenen Klammern), der zweite Abschnitt enthält die Attribute und der dritte Abschnitt die Operationen. Weitere Abschnitte mit frei wählbarer Semantik sind zulässig. ● Eine abstrakte Klasse (abstract class) ist eine Klasse, die nicht instanziert werden kann. Sie wird durch die Eigenschaftsangabe {abstract} charakterisiert. Alternativ zur Angabe von {abstract} kann eine abstrakte Klasse auch durch Notierung des Klassennamens in Kursivschrift gekennzeichnet werden. ■ Werk ist im Gegensatz zu CDROM, Buch und Zeitschriftenausgabe nicht instanzierbar und daher als abstract markiert.

        6.8 Objektorientierte Modellierung: UML

        315

        ● Ein Attribut (attribute) ist ein Datenelement, über das jedes Objekt der entsprechenden Klasse verfügt. Falls es für jedes Objekt einen individuellen Wert aufweisen kann, spricht man genauer von einem Instanzattribut, teilen sich alle Objekte einer Klasse denselben Wert des Attributs, handelt es sich um ein Klassenattribut. Ein Attribut wird durch seinen Namen definiert. Zusätzliche optionale Angaben umfassen den Datentyp, die Multiplizität (im Standardfall 1), den Initialwert und die Sichtbarkeit (public oder + für öffentliche Sichtbarkeit, private oder – für private Sichtbarkeit, protected oder # für geschützte Sichtbarkeit). Abgeleitete (berechenbare) Attribute werden durch einen vorangestellten Schrägstrich markiert. Am Ende der Spezifikation kann dem Attribut eine Liste mit Eigenschaftsangaben hinzugefügt werden. Klassenattribute werden in UML unterstrichen. ■ Die Klasse Entlehnung verfügt u. a. über das Attribut dauer vom Datentyp Integer mit dem Initialwert 30. ■ Eine vollständigere Attributspezifikation aus einer späteren Phase des Software-Entwicklungsprozesses, um barcode aus der Klasse Werk als geschütztes, optionales (Multiplizität 0 oder 1) Integer-Attribut zu definieren, für das ein einmal zugewiesener Wert nicht mehr verändert werden darf (Eigenschaft {frozen}), würde lauten: # barcode[0..1]: Integer {frozen} ● Eine Operation (operation) stellt eine Dienstleistung dar, die von einem anderen Objekt durch eine Nachricht angefordert werden kann. Operationen werden durch Methoden implementiert. Eine Operation aus dem dritten Abschnitt des Klassensymbols wird ähnlich einem Attribut durch Sichtbarkeit, Name, und Eigenschaftsangaben spezifiziert, wobei zusätzlich eine (eventuell leere) Parameterliste angegeben werden muss. Je Parameter sind folgende Angaben möglich: Name, Datentyp, Datenflussrichtung (in, out, inout) und Standardwert. Nach der Parameterliste kann der Ergebnistyp der Operation angegeben werden. Klassenoperationen, das sind solche, die auf der jeweiligen Klasse ausgefürt werden und für alle Instanzen dieser Klasse dasselbe Ergebnis liefern, werden von Instanzoperationen durch Unterstreichen unterschieden. ■ Die Klassenoperation identifizieren(k:String):Werk der Klasse Werk sucht aus allen Instanzen der Klasse Werk jene mit dem Schlüssel k und gibt diese zurück. ● Eine abstrakte Operation (abstract operation) ist eine Operation einer abstrakten Klasse, deren Implementation an eine Unterklasse (s. u.) delegiert wird. Eine abstrakte Operation wird durch die Eigenschaftsangabe {abstract} definiert. Alternativ dazu kann die Signatur der Operation auch kursiv gesetzt werden. ● Ein Interface (interface) ähnelt einer Klasse, kann aber lediglich Operationen, Generalisierungsbeziehungen und allenfalls hinführende unidirektionale Assoziationen aufweisen. Es spezifiziert durch die Vereinbarung von Operationen gewünschtes Verhalten, das es aber selbst nicht implementiert. Dazu bedarf es „echter“ Klassen, die mit dem Interface in einer so genannten Realisierungsbeziehung (eine Art Abhängigkeit, s. u.) stehen. Ein Interface wird durch ein Klassensymbol notiert, das i. Allg. lediglich den Namensabschnitt (mit dem Schlüsselwort interface versehen) und Operationssignaturen aufweist. ■ Die Klasse Entlehnung benutzt das Interface KannDrucken, das vom Akteur Drucker angeboten wird. Dadurch wird die Klasse von der konkreten Wahl des Akteurs entkoppelt. Notizen bieten generell die Möglichkeit, UML-Diagramme verbal zu erläutern. Ihre Verwendung ist nicht auf Klassendiagramme beschränkt. ● Eine Notiz (note) wird durch Rechteck mit Eselsohr dargestellt und durch eine gestrichelte Linie mit dem beschriebenen Modellelement verbunden. Als Inhalte von Notizen sind z. B. Kommentare, Einschränkungen oder Programmcode denkbar.

        316

        6 Planung und Realisierung von Informationssystemen

        Im obigen Beispiel-Klassendiagramm finden sich zwei Notizen, die jeweils eine Einschränkung enthalten. Diese Einschränkungen sind in OCL (Object Constraint Language) formuliert, die es als Teil des UMLStandards erlaubt, semantische Zusatzbedingungen zu definieren. ● Eine Assoziation (association) beschreibt gleichartige Beziehungen zwischen Objekten als Beziehung zwischen den zugehörigen Klassen. Binäre (zweistellige) Assoziationen werden durch einfache Verbindungslinien (Kanten) zwischen den beteiligten Klassen dargestellt. Folgende zusätzliche Angaben sind u. a. möglich: Name der Assoziation (eventuell mit Angabe der Leserichtung durch ein schwarzes gleichseitiges Dreieck), Bezeichnung der Rollen, welche die beteiligten Objekte im Rahmen der Beziehung spielen sowie Multiplizitäten der einzelnen Rollen (erlaubte Anzahl von „Partnerobjekten“ des beteiligten Objekts). Assoziationskanten können auch gerichtet sein, um explizit anzugeben, in welche Richtung die Navigation von einem Objekt zu seinem Partnerobjekt erfolgen kann. Ungerichtete Kanten signalisieren „keine Angabe über Navigationsmöglichkeiten“. ■ Die Assoziation zwischen den Klassen Schlagwort und Werk heißt klassifiziert. Sie wird von Schlagwort nach Werk gelesen („Ein Schlagwort klassifiziert ein Werk“). Die Multiplizität ihrer beiden (unbenannten) Rollen ist jeweils „*“, was dem Intervall [0..∞) entspricht. ■ Zwischen Werk und Person bestehen zwei unbenannte Assoziationen, die einem Werk eine Reihe von Personen als Autoren bzw. als Herausgeber zuordnen (vgl. die beiden Assoziationsrollen). Gemäß einer der Klasse Werk zugeordneten Einschränkung werden im gegenständlichen System entweder Autoren oder Herausgeber zugeordnet, jedoch nicht beides gleichzeitig. ■ Die Assoziation verlegt zwischen Verlag und Werk kann im Bibliothekssystem nur in einer Richtung verfolgt (navigiert) werden: Der Zugriff von einem Werk zu seinem Verlag wird unterstützt, der Zugriff auf alle Werke eines bestimmten Verlags hingegen nicht. ● Bei einer qualifizierten Assoziation (qualified association) wird die Menge der Objektbeziehungen durch qualifizierende Attribute in disjunkte Teilmengen zerlegt. ■ Eine CD-ROM kann nicht nur als eigenständiges Werk, sondern auch als Beilage zu einem Buch verwaltet werden. Ein solches Buch kann mehrere CD-ROM-Beilagen aufweisen, durch das qualifizierende Attribut lfdNr wird die Multiplizität bei CDROM jedoch auf maximal eins reduziert: Einer Buchinstanz und einem bestimmten Wert für lfdNr ist genau eine CD-ROM zugeordnet (die Null ist nötig, da viele Bücher gar keine CD-ROM besitzen). ● Eine Assoziationsklasse (association class) ist einer Assoziation zugeordnet. Auf Ausprägungsebene entsprechen die Objekte einer Assoziationsklasse einzelnen Objektbeziehungen. Diese Beziehungen werden durch die Attribute der Assoziationsklasse näher beschrieben. Eine Assoziationsklasse wird durch ein eigenes Klassensymbol notiert, das durch eine gestrichelte Linie mit der entsprechenden Assoziationskante verbunden ist. ■ Die Beziehung zwischen Werk und Entlehner wird als Assoziationsklasse Entlehnung modelliert, deren Attribute einen konkreten Entleihfall charakterisieren. ● Eine mehrstellige Assoziation (n-ary association) beschreibt eine Beziehung zwischen mehr als zwei Partnerobjekten. Sie wird durch eine Raute dargestellt, die mit allen Klassen, die an der Assoziation teilnehmen, durch eine Kante verbunden ist. Der Assoziationsname wird in der Umgebung der Raute notiert. ● Die Aggregation (aggregation, part-of relationship) ist ein Spezialfall der allgemeinen Assoziation. Sie wird auch „Teile-Ganzes-Beziehung“ genannt und stellt eine asymmetrische Beziehung zwischen nicht gleichwertigen Partnern dar. Bei Vorliegen einer Aggregation wird jenes Ende der Assoziationskante, das zur Aggregatklasse, also „zum Ganzen“ hinführt, durch eine kleine (nicht ausgefüllte) Raute markiert.

        6.8 Objektorientierte Modellierung: UML

        317

        ■ Ein Buch-Objekt kann (u. a.) aus mehreren CDROM-Beilagen bestehen, die durch das qualifizierende Attribut lfdNr durchnummeriert werden. ● Die Komposition (composition) stellt eine spezielle, strengere Form der Aggregation dar, die durch eine ausgefüllte Aggregationsraute notiert wird. In der Kompositionsbeziehung gelten folgende Einschränkungen für die beteiligten Instanzen: • Ein Teil darf „Kompositionsteil“ höchstens eines Ganzen sein. • Ein Teil existiert höchstens so lange wie sein Ganzes. • Viele Operationen des Ganzen werden an seine Teile propagiert, typischerweise Kopier- und Löschoperationen. ■ Eine Zeitschrift „besteht aus“ ihren einzelnen Ausgaben, letztere können ohne die Zeitschrift nicht existieren. ● Die Generalisierung (generalization, is-a-Beziehung) stellt eine taxonomische Beziehung zwischen einer spezialisierten Klasse (Unter- oder Subklasse) und einer allgemeineren Klasse (Ober-, Basisoder Superklasse) dar, wobei die Subklasse die Charakteristika (Attribute, Operationen, Assoziationen) der Superklasse erbt (Eigenschaftsvererbung) und weitere Charakteristika hinzufügen kann, sowie geerbte Operationen anpassen kann. Die Generalisierung wird durch einen Pfeil mit einem gleichseitigen Dreieck als Spitze notiert, der von der Subklasse zur Superklasse führt. Mehrere Generalisierungspfeile, die zur selben Superklasse führen, können zu einem „Mehrfachpfeil“ verschmelzen. Diese Darstellungsvariante ist semantisch äquivalent zur entsprechenden Menge von Einzelpfeilen. ■ Die Klassen CDROM, Buch und ZeitschriftenAusgabe werden zur abstrakten Klasse Werk generalisiert. Sie verfügen durch Vererbung über die Attribute titel, jahr und barcode sowie über die Operationen klassifizieren, swEntfernen (zum Hinzufügen und Entfernen von Schlagwörtern) und identifizieren. Die Generalisierungsbeziehung kann durch Angabe von Einschränkungen in unmittelbarer Nähe der Pfeilspitze näher charakterisiert werden. Falls mehrere Pfeile betroffen sind, erfolgt die Zuordnung über eine gestrichelte Linie, die alle betroffenen Pfeile kreuzt. Folgende Einschränkungen sind vordefiniert: • complete (vollständig, Standardannahme) bzw. incomplete (unvollständig): In einer vollständigen Generalisierungshierarchie muss jedes Element der Superklasse gleichzeitig auch Element mindestens einer Subklasse sein. In einer unvollständigen Generalisierungshierarchie wird dies nicht gefordert. • disjoint (disjunkt, Standardannahme) bzw. overlapping (überlappend): In einer disjunkten Generalisierungshierarchie kann ein Objekt nur Element höchstens einer Subklasse sein. In einer überlappenden Hierarchie kann es auch mehreren Subklassen angehören. ■ Generalisierungshierarchie von Person: {incomplete} ⇒ es kann Personen geben, die weder Bedienstete noch Entleiher sind (nämlich Autoren bzw. Herausgeber). {overlapping} ⇒ es kann Bedienstete geben, die auch Entleiher sind. ● Steht eine Unterklasse in Generalisierungsbeziehung zu mehreren Oberklassen, spricht man von Mehrfachvererbung (multiple inheritance). Typ versus Instanz Instanzen (Objekte, Objektbeziehungen (links) etc.) werden von den zugehörigen Typen (Klassen, Assoziationen etc.) in UML durch einen einheitlichen Mechanismus unterschieden: Es wird für die Instanz dasselbe grafische Symbol wie für den Typ benutzt, wobei jedoch der Name der Instanz und eine allfällige Typangabe unterstrichen werden. Objekten können darüber hinaus Attributwerte zugeordnet werden. ● Ein Klassendiagramm, das nur Objekte und Objektbeziehungen darstellt, heißt Objektdiagramm (object diagram). ■ Ausschnitt aus einem Objektdiagramm für ein konkretes Buch im Bibliothekssystem:

        318

        6 Planung und Realisierung von Informationssystemen

        g) Sequenzdiagramm (Sequence Diagram) Zur Darstellung des Systemverhaltens dienen in der UML Sequenz-, Kollaborations-, Zustands- und Aktivitätsdiagramme. Sequenz- und Kollaborationsdiagramme beschreiben das so genannte Interobjektverhalten, das ist die Art und Weise, wie einzelne Objekte durch Nachrichtenaustausch interagieren, um eine bestimmte Aufgabe zu erfüllen. Sie werden daher auch als Interaktionsdiagramme (interaction diagrams) bezeichnet. ● Ein Sequenzdiagramm dient primär zur Modellierung eines Szenarios, d. h. der exemplarischen Darstellung eines Ablaufs (Anwendungsfall oder Operation). Die Erweiterung zu vollständigen Algorithmen ist möglich (Symbolik für Fallunterscheidungen, Wiederholungen), kann jedoch leicht zu unleserlichen Diagrammen führen. ● Die vertikale Dimension des Sequenzdiagramms entspricht einer ordinal skalierten Zeitachse, horizontal werden die an dem Szenario teilnehmenden Objekte angeordnet. Sie werden durch eine gestrichelte Lebenslinie (lifeline) repräsentiert, die mit einem Objektsymbol beginnt. ● Aktivierungsbalken (activation bars) markieren jene Bereiche, in denen ein Objekt über den Kontrollfluss verfügt, also eine seiner Operationen ausgeführt wird. ● Aktive Objekte (active objects) besitzen einen durchgängigen Aktivierungsbalken und ein Objektsymbol mit fettem Rand. ● Nachrichten (messages) die zwischen den Objekten ausgetauscht werden, sind als Pfeile zwischen den Lebenslinien notiert. Diese Pfeile sind mit dem Namen und den Argumenten der Nachricht beschriftet. Durch entsprechende Pfeilspitzen wird zwischen synchroner (Prozeduraufruf), asynchroner (Signal) und unspezifizierter (nicht näher charakterisierter) Nachrichtenübermittlung unterschieden. Über einen gestrichelten Pfeil kann die Rückgabe eines Ergebnisses sichtbar gemacht werden. Nachrichten, die Objekte erzeugen, werden direkt an das Objektsymbol geführt. Wird ein Objekt gelöscht, endet seine Lebenslinie in einem X. ● Eine Überwachungsbedingung (guard condition, kurz: Bedingung) legt fest, wann eine Nachricht gesendet wird. Die „überwachte“ Nachricht wird nur übermittelt, wenn die in eckigen Klammern angegebene Bedingung erfüllt ist. Sollen Wiederholungen notiert werden, so sind die zu wiederholenden Nachrichten durch ein Rechteck einzurahmen, über dessen unterem Rand sich Angaben über die Wiederholung befinden. ■ Sequenzdiagramm für den Anwendungsfall Buch entlehnen: Der Akteur kommuniziert mit dem Bibliothekssystem über ein aktives Kontrollobjekt, das die Eingabemaske für die Entleihung darstellt und den Anwendungsfall steuert. Die Eingaben des Akteurs (Strichcode des Buchs bzw. der entleihenden Person, Schaltfläche „Ok“) werden als (unspezifizierte) Nachrichten an die Entleihmaske modelliert. Diese ermittelt zunächst das entsprechende Buchbzw. Entleihobjekt b und p, indem sie die (synchrone) Operation identifizieren aktiviert, die von den Klassen Werk und Entlehner als Klassenoperation angeboten wird (man beachte, dass die beiden Klassen als Instanzen der vordefinierten Metaklasse Class dargestellt sind und als solche mit Klassenoperationen auf Nachrichten reagieren). Diese Operation lädt das jeweilige durch seinen Strichcode identifizierte Objekt mithilfe der eigenen Operation laden vom Massenspeicher und gibt

        6.8 Objektorientierte Modellierung: UML

        319

        die resultierenden Objekte als Funktionswerte zurück. Unter der diesem Szenario zugrunde liegenden Annahme, dass die Identifikation erfolgreich war, legt das Kontrollobjekt eine neue Entlehnung-Instanz e an. Dieser werden im Zuge ihrer Initialisierung die als Argumente der Operation new übermittelten Referenzen auf das Buch und den Entleiher zugeordnet. Danach wird e angewiesen, eine entsprechende Bestätigung zu drucken. Zu diesem Zweck eruiert e mittels geeigneter Zugriffsoperationen (getTitel etc.) die zu druckenden Daten des Buchs. Im Fall, dass der Drucker als „bereit“ erkannt wird (eine Alternative dazu ist im vorliegenden Szenario nicht vorgesehen), wird der eigentliche Ausdruck durch die Operation drucken veranlasst (asynchron, es wird nicht auf ein Ergebnis gewartet). Schließlich wird das Entleihungsobjekt e gespeichert und der Akteur vom erfolgreichen Abschluss des Anwendungsfalls informiert.

        h) Kollaborationsdiagramm (Collaboration Diagram) Als zweiter Vertreter der so genannten Interaktionsdiagramme zeigt auch das Kollaborationsdiagramm die für einen bestimmten Zweck notwendigen Interaktionen zwischen Objekten. Das Kollaborationsdiagramm ist dem Sequenzdiagramm dabei insofern überlegen, als es zusätzlich zu den Interaktionen auch den ihnen zugrunde liegenden Kontext in Form von Objektbeziehungen darstellt (Kollaboration, s. u.). Umgekehrt wird darauf verzichtet, die Zeit als eigene grafische Dimension zu modellieren, sodass die Reihenfolge von Nachrichten durch Nummerieren spezifiziert werden muss. ● Eine Kollaboration (collaboration – manche deutschsprachigen Autoren übersetzen den Begriff zur Vermeidung der historischen Konnotation mit „Kooperation“) wird in der UML als Ausschnitt aus der statischen Modellstruktur definiert, welcher genau jene Modellelemente enthält, die zur Erreichung eines definierten Ziels kooperieren. Dabei werden die Modellelemente auf Instanzebene (als Objekte und Objektbeziehungen) dargestellt. Zusätzlich ist es möglich, in einer Kollaboration auch temporäre Beziehungen anzugeben: • parameter: Das Zielobjekt ist Parameter einer Methode. • local: Das Zielobjekt ist lokal zu einer Methode.

        320

        6 Planung und Realisierung von Informationssystemen • • •

        global:

        Das Zielobjekt ist global verfügbar. self: Das Zielobjekt ist das Objekt selbst. association (Standardangabe, kann entfallen): Die Objektbeziehung entspricht einer gewöhnlichen Assoziation aus dem Klassendiagramm.

        ● Gerichtete Objektbeziehungen dokumentieren eingeschränkte Navigierbarkeit. ● Ein Kollaborationsdiagramm entsteht aus einer Kollaboration, indem auf den Beziehungskanten der Nachrichtenaustausch zwischen den beteiligten Objekten dargestellt wird. ■ Kollaborationsdiagramm für den Anwendungsfall Buch entleihen (vgl. das zuvor gezeigte Sequenzdiagramm mit analoger Semantik):

        ● Eine Nachricht (message) wird durch einen Pfeil und eine textuelle Spezifikation notiert. Die Pfeilspitze gibt die Art des Nachrichtenaustausches an, wobei dieselben Typen wie im Sequenzdiagramm zulässig sind: synchron, asynchron und unspezifiziert. Die Nachrichtenspezifikation beginnt im Normalfall mit einer eindeutigen Sequenznummer für jede Nachricht. Diese Nummer folgt dem Format einer hierarchischen Klassifikation. Jede Klassifikationsebene entspricht einer Kontrollflussschachtelung, innerhalb derer sequenzielle Nachrichten gemäß ihrer Abfolge mit den Zahlen 1, 2, usw. durchnummeriert werden. Es gilt also für zwei Sequenznummern N.n und N.(n+1) mit gleichem Präfix N, dass die Nachricht N.(n+1) unmittelbar nach N.n erfolgt und dass beide Nachrichten zur Behandlung der Nachricht N dienen. Wird für n anstelle einer Zahl ein Name angegeben, so wird Nebenläufigkeit spezifiziert. Liegen ausschließlich nebenläufige Nachrichten vor, werden die Sequenznummern einem „flachen“ Nummernkreis entnommen. Bei bedingten Nachrichten wird die Bedingung (guard condition) in eckigen Klammern angegeben. Eine Iteration wird durch einen Stern nach der Sequenznummer notiert, wobei zusätzlich die Iterationsbedingung angegeben werden kann. Ein optionaler Doppelstrich rechts des Sterns deutet an, dass die einzelnen Schleifendurchgänge nebenläufig erfolgen können. ■ Als 3. Schritt zur Behandlung der Nachricht 2 werden in einer Schleife n Nachrichten übermittelt: 2*||[i=1..n]:verarbeite(i) Der Sequenznummer kann bei nebenläufigen Nachrichten eine Synchronisationsangabe (synchronization) vorangestellt sein. Diese Bedingung besteht aus einer Liste von Sequenznummern, die Vorgängernachrichten bezeichnen, gefolgt von einem Schrägstrich. Die gegenständliche Nachricht wird erst gesendet, wenn alle Vorgängernachrichten gesendet worden sind. ■ Die Nachricht C (starteC) kann nur nach A und B gesendet werden: A,B/C:starteC()

        6.8 Objektorientierte Modellierung: UML

        321

        Numerische Sequenznummern synchronisieren implizit mit einer einzigen Vorgängernachricht: Eine Nachricht N.(n+1) kann erst erfolgen, nachdem N.n erfolgt ist. Nachrichten können über Argumente verfügen, die in Pseudocode oder einer Programmiersprache notiert werden. Ergebnisse einer Nachricht werden durch eine Liste von Namen bezeichnet, die links vom Zuweisungssymbol „:=“ stehen. Diese Namen können als Rollennamen für Objektbeziehungen herangezogen werden (vgl. 4:b:=identifizieren(b-barcode) und die Objektbeziehung mit der Rolle b für Nachricht 7.1 im obigen Beispiel), als Argumente für weitere Nachrichten dienen, in Bedingungen auftreten etc. Alternativ zur textuellen Notation von Ergebnissen und Argumenten sind auch eigene Objektfluss-Pfeile möglich, die mit den Namen der Ergebnisse bzw. mit den Argumentausdrücken markiert sind und entgegen bzw. entlang der Senderichtung der Nachricht gerichtet sind (vgl. das Ergebnis p der Operation 5). Objekte und Objektbeziehungen, die während einer durch ein Kollaborationsdiagramm beschriebenen Interaktion erzeugt bzw. gelöscht werden, können durch die Einschränkung {new} bzw. {destroyed} gekennzeichnet werden (vgl. die Entlehnung e). Für die Kombination {new destroyed} ist die Abkürzung {transient} vorgesehen. ● Aktive Objekte (active objects) werden durch die Eigenschaftsangabe {active} oder durch einen fetten Symbolrand markiert.

        i)

        Zustandsdiagramm (State Chart Diagram)

        Zustandsdiagramme beschreiben Intraobjektverhalten, d. h. die möglichen Folgen von Zuständen, die ein einzelnes Objekt einer bestimmten Klasse • während seines „Lebenslaufs“, also von seiner Erzeugung bis zu seiner Destruktion, bzw. • während der Ausführung einer Operation der Reihe nach einnehmen kann. Zustandsdiagramme basieren auf Verallgemeinerungen von endlichen Automaten. ● Ein Zustandsdiagramm stellt einen Graph dar, dessen Knoten den Zuständen entsprechen, die von Objekten eingenommen werden können und dessen gerichtete Kanten die möglichen Zustandsübergänge angeben. Zustandsübergänge werden i. Allg. von exogenen Stimuli ausgelöst, die als Ereignisse bezeichnet werden. ● Ein Zustand (state) charakterisiert eine Situation, in der das betrachtete Objekt auf bestimmte äußere Ereignisse in situationsspezifischer Weise reagiert. Objekte verweilen eine gewisse Zeit lang in einem bestimmten Zustand, bis ein Ereignis (event) einen Zustandsübergang auslöst. Ein Zustandssymbol im Diagramm (Rechteck mit abgerundeten Ecken) kann in zwei Abschnitte unterteilt sein. Ein Zustand kann durch einen Namen im oberen Abschnitt charakterisiert sein (unbenannte Zustände gelten grundsätzlich als voneinander verschieden). Der untere Abschnitt kann Angaben über Aktivitäten und so genannte innere Transitionen (s. u.) enthalten. Zuständen können andauernde Aktivitäten (activities) zugeordnet werden. ● Aktivitäten (activities) werden ausgeführt, so lange sich das Objekt in dem Zustand befindet, dem die Aktivität zugeordnet ist. Eine Aktivität wird im Zustandssymbol nach dem Präfix do/ angegeben und kann durch ein eigenes Zustandsdiagramm näher beschrieben werden. Transitionen hingegen können mit so genannten Aktionen assoziiert werden. ● Aktionen (actions) sind atomare (nicht unterbrechbare) Tätigkeiten, die im Zuge des Zustandsübergangs durchgeführt werden und (konzeptuell) ebenfalls keine Dauer aufweisen.

        322

        6 Planung und Realisierung von Informationssystemen

        ■ Lebenslauf der Klasse Werk:

        ● Eine Transition (transition) ist der Übergang von einem Zustand zu seinem Folgezustand. Sie wird i. Allg. durch ein Ereignis ausgelöst und erfolgt, ohne selbst Zeit in Anspruch zu nehmen. Eine Transition wird durch einen i. Allg. beschrifteten Pfeil dargestellt, der einen Zustand mit seinem Folgezustand verbindet. Die Beschriftung enthält folgende Angaben: • Das auslösende Ereignis, das durch Argumente näher beschrieben sein kann. Sobald das Ereignis auftritt und die zugeordnete Bedingung erfüllt ist (s. u.), erfolgt (schaltet) die Transition. Eine eventuelle noch andauernde, dem Zustand zugeordnete Aktivität wird dabei unterbrochen. Fehlt die Angabe des Ereignisses, so schaltet die Transition nach Beendigung der Aktivität im Zustand. Tritt ein Ereignis ein, dem im aktuellen Zustand keine Transition zugeordnet ist, wird es ignoriert – es „geht verloren“. Sind dem Ereignis mehrere Transitionen zugeordnet, so schaltet hiervon nur eine (nichtdeterministisch). ■ Ereignisse im Beispieldiagramm sind etwa Lieferung oder Rechnung trifft ein. ■ Mit dem Ende der Aktivität beschlagworten wird der Zustand zur Ansicht verlassen.

        • Eine optionale Bedingung (guard condition), die die Transition überwacht. Tritt das Ereignis ein und ist die Bedingung nicht erfüllt, so erfolgt kein Zustandsübergang. Das „nicht konsumierte“ Ereignis geht verloren, d. h. die Transition kann nicht ohne neuerliches Ereignis schalten. ■ Der Übergang von zur Ansicht nach entlehnbar erfolgt nur unter der Bedingung

        [angenommen]. • Aktionen, die im Zuge der Transition auszuführen sind. Einen besonderen Rang nimmt dabei das Senden einer Nachricht ein, wofür eine eigene Syntax vorgesehen ist. Werden mehrere Aktionen angeführt, so entspricht die Reihenfolge der Ausführung der Reihenfolge der Spezifikation. ■ Aktionen sind z. B. bezahlen, Rücksendung, e:=send Entlehnung.new (der Klasse

        Entlehnung wird die Nachricht new übermittelt, das Ergebnis wird e genannt).

        6.8 Objektorientierte Modellierung: UML

        323

        ● Innere Transitionen (internal transitions) werden ebenfalls von Ereignissen ausgelöst, verlassen aber den aktuellen Zustand nicht. Ihre Spezifikation erfolgt im unteren Abschnitt des Zustandssymbols in der Form Ereignis/Aktion Ereignis. An die Stelle von echten Ereignissen können auch die beiden Pseudoereignisse entry und exit treten. Die ihnen zugeordneten Aktionen werden immer dann ausgeführt, wenn das Objekt in den Zustand eintritt bzw. ihn verlässt. ■ Bei Eintritt in den Zustand nicht mehr vorhanden wird die Aktion deinventarisieren ausgeführt, egal, über welche Transition der Zustand erreicht wurde. Eine innere Transition, die von demselben Ereignis ausgelöst wird wie eine äußere Transition, maskiert die äußere. Sie wird also anstelle der äußeren Transition ausgeführt, wenn das Ereignis eintritt. Die UML unterscheidet folgende Arten von Ereignissen: • SignalEvent: Es wird ein Signal von einem anderen Objekt empfangen. Der Ereignisname bezeichnet das Signal. ■ Zu dieser Kategorie können verschwunden-Meldung oder zerstört-Erkennung gezählt werden. • CallEvent: Es wird eine Nachricht im Sinne eines Operationsaufrufs „empfangen“. Die Notation entspricht jener des Typs SignalEvent, wobei der Ereignisname die auszuführende Operation bezeichnet. ■ Entlehnung, Rückstellung. • ChangeEvent: Eine bestimmte Bedingung wird erfüllt. Ein solches Ereignis hat die Form when (logischer Ausdruck) und tritt ein, sobald der Wert des logischen Ausdrucks von falsch auf wahr wechselt. Ein weiteres Mal kann das Ereignis erst wieder eintreten, wenn der Wert des logischen Ausdrucks zuvor auf falsch gewechselt hat. • TimeEvent: Eine vorgegebene Zeitspanne seit einem bestimmten Vorgänger-Ereignis ist abgelaufen. Format: after (konstante Zeitspanne, optionales Bezugsereignis). Fehlt das Bezugsereignis, bezieht sich die Zeitspanne auf den Zeitpunkt des Eintritts in den aktuellen Vorzustand. ■ after(1 Sekunde), was gleich bedeutend ist mit after(1 Sekunde seit Eintritt in den Vorzustand) ■ Im Beispieldiagramm: after(3 Wochen) ● Pseudozustände sind notationstechnische Hilfszustände, die sofort verlassen werden müssen:

        • Der Startzustand (initial state) markiert den „Beginn“ eines Zustandsdiagramms und besitzt keine eingehenden Transitionen. Die eindeutige ausgehende Transition wird sofort ausgelöst, sobald das System den Startzustand erreicht. • History-Zustände dienen als „Rücksprung-Adressen“ in ODER-verfeinerte Zustände (s. u.). • Zum Aufbau komplexer Transitionen aus mehreren einzelnen „Segment-Transitionen“ dienen statische Verzweigungsstellen (static branch points), dynamische Entscheidungsstellen (dynamic decision points) und Synchronisationsbalken (synchronization bars). Verzweigungs- und Entscheidungsstellen werden in sequenziellen Systemen eingesetzt, Synchronisationsbalken werden beim Übergang von sequenziellen zu nebenläufigen Systemen (Gabelung, bzw. umgekehrt: Vereinigung) verwendet. ■ Die Gabelung und Vereinigung aus dem Beispieldiagramm werden durch Synchronisationsbal-

        ken ausgedrückt. • Synch-Zustände erlauben die Synchronisation von Zustandsübergängen innerhalb eines UNDverfeinerten Zustands (s. u.).

        324

        6 Planung und Realisierung von Informationssystemen

        ● Der Endzustand (final state – kein Pseudozustand) markiert das Ende des Ablaufs. Er besitzt keine ausgehenden Transitionen. Bei geschachtelten Diagrammen definiert er das Ende der Aktivität des übergeordneten Zustands, auf oberster Ebene entspricht er dem Destruktionspunkt des Objekts. Die UML kennt zwei Formen der Verfeinerung von Zustandsdiagrammen, die ODER-Verfeinerung und die UND-Verfeinerung. ● Mit der ODER-Verfeinerung wird ein so genannter komplexer Zustand (Superzustand; composite state) in Subzustände zerlegt, wobei das Objekt immer in genau einem der Subzustände ist, sobald es sich im Superzustand befindet (mutually exclusive disjoint substates). Diese Form kommt in zwei Varianten vor: • Angabe eines getrennten Zustandsdiagramms, das den Superzustand verfeinert und im Symbol des Superzustands durch Angabe von include/ gefolgt vom Namen der Verfeinerung referenziert wird. • Angabe der Verfeinerung des Superzustands direkt in einem eigenen Abschnitt innerhalb des (i. Allg. stark vergrößerten) Zustandssymbols. ■ Der Zustand entlehnt sowie beide nebenläufigen Subzustände von vorhanden sind ODER-verfeinert. ● Mit der UND-Verfeinerung erfolgt die Zerlegung in nebenläufige, gleichzeitig aktive Subzustände (concurrent substates). Auch die UND-Verfeinerung wird in einem eigenen Abschnitt des Zustandssymbols angegeben, der durch gestrichelte Linien in horizontale Unterabschnitte (Regionen; concurrent regions) zerlegt wird, die jeweils einem nebenläufigen Subzustand entsprechen und i. Allg. je eine ODER-Verfeinerung dieses Subzustands enthalten. Innerhalb der einzelnen nebenläufigen Subzustände erfolgen die Zustandsübergänge unabhängig voneinander. ■ Der Zustand vorhanden ist in zwei nebenläufige Subzustände UND-verfeinert (die ihrerseits beide ODER-verfeinert sind). Verlassen wird ein UND-verfeinerter Zustand durch zwei alternative Mechanismen: • Sobald in den Zustandsdiagrammen aller Subzustände die Endzustände erreicht worden sind, wird der komplexe Zustand über die in diesem Fall eindeutige und unmarkierte Transition verlassen. Es erfolgt also eine implizite Synchronisation der Abläufe in den Subzuständen: Jeder Subzustand muss „bereit“ für den Austritt aus dem Superzustand sein, bevor dieser Austritt erfolgen kann. • Existiert eine Transition, die direkt vom Zustandsdiagramm eines Subzustands aus dem komplexen Zustand hinausführt, so wird der komplexe Zustand verlassen, sobald dieser Zustandsübergang erfolgt, und zwar ohne Rücksicht auf die anderen nebenläufigen Subzustände, die dadurch ebenfalls verlassen werden. ■ Im [nicht angenommen]-Fall nach Verlassen des Zustands zur Ansicht wird der Superzustand vorhanden ebenfalls verlassen. ● Zwei nebenläufige Regionen in einer UND-Verfeinerung können durch einen Synch-Zustand (synch state) synchronisiert werden, womit i. Allg. Produzent-Konsument-Beziehungen modelliert werden: Ein Synch-Zustand „zählt“, wie oft seine eingehende Transition schaltet. So lange dieser „Zähler“ positiv ist, gilt der Pseudozustand als aktiv, d. h. die ausgangsseitige komplexe Transition kann schalten. Im Zuge einer solchen Transition wird der Zähler im Synch-Zustand dekrementiert. Sobald der Zähler null wird, ist die ausgangsseitige komplexe Transition so lange blockiert, bis eingangsseitig ein Zustandsübergang erfolgt und der Zähler wieder erhöht wird. Die Zahl im Synch-Zustand bezeichnet die Kapazität des Zählers, ihr Wert kann nicht überschritten werden. „*“ steht für Kapazität ∞. ■ Die Transition von verrechnet nach bezahlt kann nur schalten, wenn zuvor der Zustandsübergang von zur Ansicht nach entlehnbar erfolgt ist. ● „Vererbung“ von Transitionen: Transitionen, die von einem Superzustand zu einem bestimmten Ziel wegführen, gelten als für alle Subzustände dupliziert, und zwar zum selben Ziel führend. Eine solcherart

        6.8 Objektorientierte Modellierung: UML

        325

        „geerbte“ Transition kann aber lokal redefiniert werden, indem bei einem einzelnen Subzustand eine explizite Transition mit demselben auslösenden Ereignis angegeben wird. ■ Das Ereignis after(3 Wochen) führt von jedem Subzustand von entlehnt in den Subzustand gemahnt. Aus dem Subzustand normal heraus entspricht das der ersten Mahnung, aus gemahnt heraus jeder weiteren Mahnung. ■ Das Ereignis verschwunden-Meldung führt von jedem Subzustand von vorhanden in den Zustand nicht mehr vorhanden. Transitionen, die zu einem Superzustand hinführen, entsprechen Transitionen in den Startzustand der Verfeinerung (bzw. in alle Startzustände aller nebenläufigen Regionen bei UND- Verfeinerungen). Alternativ kann eine solche Transition direkt in einen Subzustand („in die Verfeinerung hinein“) führen – ist die Verfeinerung nicht sichtbar, muss dieser Zielzustand durch einen kurzen senkrechten Strich innerhalb des Symbols des Superzustands notiert werden (Rumpfzustand mit Rumpftransition; stubbed state, stubbed transition). ■ Die Transition, die von Lieferung ausgelöst wird, aktiviert die beiden nebenläufigen Startzustände des Superzustands vorhanden. ■ Die dem Ereignis Entlehnung entsprechende Transition aktiviert den Startzustand von entlehnt. ● Ein History-Zustand (history state indicator) in einem ODER-verfeinerter Zustand „merkt sich“ den zuletzt aktiven Subzustand der Verfeinerung, in der er sich befindet, der im Zuge einer Transition in den History-Zustand automatisch wieder angenommen wird. Durch Verwendung eines tiefen HistoryZustands (deep history indicator) wird das „Gedächtnis“ auf alle geschachtelten Verfeinerungsebenen des komplexen Zustands ausgedehnt.

        j) Aktivitätsdiagramm (Activity Diagram) Obwohl bei der objektorientierten Modellierung das Konzept des Objekts und seine Interaktionen mit anderen Objekten im Vordergrund stehen, ist es auch notwendig, Abläufe zu beschreiben. Abläufe treten auf gänzlich unterschiedlichen Detaillierungsebenen auf. Beispiele sind die Realisierung einer Operation, die einzelnen Schritte eines Anwendungsfalls oder das Zusammenspiel mehrerer Anwendungsfälle zur Realisierung (von Teilen) des Gesamtsystems. Aktivitätsdiagramme stammen von den Datenflussdiagrammen der strukturierten Analyse ab (s. a. Abschnitt 6.4) und ermöglichen die Beschreibung solcher Abläufe, wobei spezifiziert werden kann: • was die einzelnen Schritte des Ablaufs tun (durch Angabe einer Bezeichnung des Schritts und der durch ihn manipulierten Objekte), • in welcher Reihenfolge sie ausgeführt werden und • wer für sie verantwortlich zeichnet (optional). Die einzelnen Schritte eines Ablaufs werden als Aktionen oder Subaktivitäten bezeichnet. ● Aktionen (actions) sind nicht weiter zerlegbare Schritte eines Ablaufs. ● Subaktivitäten (subactivities) werden in einem eigenen Aktivitätsdiagramm weiter detailliert. Im Aktivitätsdiagramm beschreibt man beide durch Angabe von Zuständen, in denen Aktionen bzw. Subaktivitäten ausgeführt werden. ● Ein Zustand (state) im Aktivitätsdiagramm wird durch ein Rechteck mit konvexen Vertikalen dargestellt, das den Namen der auszuführenden Aktion bzw. Subaktivität enthält. Die Verfeinerung von Subaktivitäten und damit ihre grafische Unterscheidung zu Aktionen wird durch ein stilisiertes Aktivitätsdiagramm im Zustandssymbol dargestellt. Falls nicht inhaltlich irreführend, werden – einer intuitiveren Schreibweise gehorchend – i. F. Aktionen und Subaktivitäten zu Aktivitäten und deren Zustände zu Aktivitätszuständen zusammengefasst.

        326

        6 Planung und Realisierung von Informationssystemen

        Ein Großteil der Eigenschaften von Zustandsdiagrammen ist auch auf Aktivitätsdiagramme übertragbar. So werden Beginn und Ende eines Ablaufs wie in Zustandsdiagrammen durch einen eindeutigen Start- und möglicherweise mehrere Endzustände markiert. ● Kontrollflusskanten (control flow) verbinden Aktivitäten untereinander und werden durch Transitionspfeile dargestellt, die die Ausführungsreihenfolge der einzelnen Schritte festlegen. Der Abschluss einer Aktivität fungiert dabei als impliziter Trigger für die Ausführung der Folgeaktivität. Ereignisse als explizite Auslöser von Transitionen werden nur in Ausnahmefällen modelliert (s. u.). Eine Transition kann jedoch mit einer Überwachungsbedingung (guard) in eckigen Klammern und weiteren Aktionen beschriftet werden. In einem solchen Fall wird die Transition nur dann ausgeführt, wenn die vorangegangene Aktivität abgeschlossen und die Bedingung erfüllt ist. Ist dies der Fall, werden die angegebenen Aktionen en passant ausgeführt, bevor die Aktivität, zu der die Transition führt, angestoßen wird. Jeder Aktivität müssen mindestens eine eingehende und mindestens eine ausgehende Transition zugeordnet sein. Sind mehrere ausgehende Transitionen ohne annotierte Bedingungen zugeordnet, wird indeterministisch ein Zustandsübergang ausgeführt. Werden den ausgehenden Transitionen einer Aktivität einander wechselseitig ausschließende Bedingungen zugeordnet, wird damit ein alternativer Ablauf modelliert. ● Mithilfe eines Entscheidungsknoten (decision node) genannten Pseudozustands können alternative Abläufe auch explizit gemacht und komplexe Entscheidungen in Form von Entscheidungsbäumen dargestellt werden. Einem Entscheidungsknoten sind eine oder mehrere eingehende Transitionen und zwei oder mehrere ausgehende Transitionen zugeordnet. Alle ausgehenden Transitionen müssen einander wechselseitig ausschließende Bedingungen tragen, wobei auch die vordefinierte Bedingung [else] möglich ist. Ein Kontrollfluss, der durch Entscheidungsknoten aufgespalten wurde, kann bei Bedarf auch durch dasselbe Symbol wieder vereinigt werden. Der Entscheidungsknoten wird in dieser Rolle dann als Merge bezeichnet. Einem Merge sind zwei oder mehrere eingehende Transitionen und eine ausgehende Transition zugeordnet. Diese ausgehende Transition darf weder ein Ereignis noch eine Überwachungsbedingung tragen. Mit den Pseudozuständen Gabelung und Vereinigung können auch nebenläufige Abläufe, d. h. parallele Teilfolgen von Aktivitäten, dargestellt werden. ● Die Gabelung (fork) zeigt den Beginn einer Nebenläufigkeit durch einen so genannten Synchronisationsbalken an, von dem mehrere Transitionen wegführen. Transitionen, die eine Gabelung verlassen, können auch Überwachungsbedingungen tragen. Sollte eine solche Bedingung zum Zeitpunkt des Schaltens der Transition nicht erfüllt sein, wird der zugehörige Zweig im Aktivitätsdiagramm nicht aktiviert. ● Analog zeigt die Vereinigung (join) das Ende einer Nebenläufigkeit durch einen Synchronisationsbalken an, in den mehrere Transitionen münden. Die Vereinigung schaltet, sobald alle über die eingehenden Transitionen verbundenen Aktivitäten beendet worden sind. Ist bei der zugehörigen Gabelung aufgrund einer Überwachungsbedingung ein bestimmter Zweig nicht aktiviert worden, so ist dieser auch für die Vereinigung irrelevant, d. h. es wird nicht „auf ihn gewartet“. ● Aktivitätsdiagramme unterstützen in Anlehnung an Datenflussdiagramme die Modellierung von Objektflüssen (object flows), indem Objekte entweder als Eingabe oder als Ausgabe einer oder mehrerer Aktivitäten modelliert werden. Abhängig davon wird das entsprechende Objektsymbol, ein Rechteck mit dem unterstrichenen Namen des Objekts und seinem aktuellen Verarbeitungszustand in eckigen Klammern, als Eingabe zu oder als Ausgabe von einer Aktivität spezifiziert, indem eine gerichtete gestrichelte Kante vom Objektsymbol zur verarbeitenden Aktivität bzw. umgekehrt gezeichnet wird. Sofern der Objektfluss den Kontrollfluss zwischen zwei Aktivitäten vollständig spezifiziert, wird nur der Objektfluss dargestellt.

        6.8 Objektorientierte Modellierung: UML

        327

        Für die Ausführung der Aktivitäten können verantwortliche Objekte oder Akteure (Verantwortungsträger) spezifiziert werden. Da Aktivitätsdiagramme meist relativ früh im Entwicklungsprozess eingesetzt werden, können diese „Objekte“ aber auch sehr grob granulare Einheiten, z. B. die Abteilungen eines Unternehmens, dessen Geschäftsprozesse beschrieben werden, sein. ● Verantwortungsträger und die von ihnen ausgeführten Aktivitäten werden zu Verantwortlichkeitsbereichen (swimlane) zusammengefasst, das sind Regionen im Aktivitätsdiagramm, die mit den jeweils verantwortlichen Objekten beschriftet sind und durch vertikale Linien voneinander getrennt werden. ■ Aktivitätsdiagramm für den Anwendungsfall Lieferung bearbeiten: Der Anwendungsfall Lieferung bearbeiten ist Teil der Beschaffung (siehe Anwendungsfalldiagramm weiter oben). Zur Bearbeitung der Lieferung sind vier Verantwortungsträger involviert, nämlich ein Bediensteter, die Bibliotheksverwaltung, die Buchhaltung und ein Fachvertreter. Die einzelnen Schritte, aus denen der Anwendungsfall Lieferung bearbeiten besteht, sind Aktionen, die nicht weiter zerlegt werden. Die Lieferung wird von einem Bediensteten bestätigt, bevor parallel die Werkdaten ergänzt und die Rechnung bearbeitet werden kann. Ergibt die Beschlagwortung, dass das Werk nicht benötigt wird, so wird ebenfalls parallel die Bezahlung abgebrochen und das Werk zurückgesandt. Im positiven Fall wird parallel inventarisiert und bezahlt. Als Ergebnis ist das Werk sowohl im Zustand bezahlt als auch im Zustand entlehnbar.

        Aktivitätsdiagramme beschreiben i. d. R. einen prozeduralen Ablauf und kein ereignisgesteuertes System. Will man dennoch das Senden bzw. Empfangen von Ereignissen oder Signalen modellieren, werden zwei eigene Knotensymbole verwendet. ● Für den Empfang eines Ereignisses (signal receipt) ist ein „Rechteck mit Nut“ vorgesehen, das mit dem Namen des Ereignisses beschriftet und mit zwei unmarkierten Transitionen mit einer Vorgängerund einer Nachfolgeraktivität verbunden ist. Optional kann ein Senderobjekt durch einen gestrichelten

        328

        6 Planung und Realisierung von Informationssystemen

        Pfeil auf das Ereignissymbol verweisen. Die Vorgängeraktivität wird zuerst abgeschlossen, bevor das spezifizierte Ereignis empfangen werden kann. ● Ein duales Symbol („Rechteck mit Feder“) ist für das Senden eines Ereignisses (signal sending) im Zuge einer Transition vorgesehen. ■ Aktivitätsdiagramm für den (komplexen) Anwendungsfall Beschaffung: Die Beschaffung wurde bereits im Anwendungsfalldiagramm weiter oben beschrieben und wird nun präzisiert. Die Subaktivität Lieferung bearbeiten wurde im vorangegangenen Aktivitätsdiagramm detailliert. Sobald die Lieferung eingetroffen ist, kann sie bearbeitet werden. Dabei dient das zu bearbeitende Werk im Zustand bestellt als Eingabe.

        k) Komponentendiagramm (Component Diagram) und Verteilungsdiagramm (Deployment Diagram) Die bisher vorgestellten Diagrammarten von UML werden von den frühen Phasen der SoftwareEntwicklung an verwendet. UML bietet mit dem Komponentendiagramm und dem Verteilungsdiagramm aber auch diagrammatische Unterstützung zur Dokumentation des implementierten Systems. Die beiden Diagramme stellen die implementierten Softwarekomponenten, ihre Abhängigkeiten untereinander und ihre Zuordnungen zu einzelnen Knoten einer Hardwaretopologie dar. ● Ein Komponentendiagramm (component diagram) ist ein Graph, dessen Knoten Komponenten und dessen Kanten Abhängigkeiten zwischen diesen Komponenten repräsentieren. ● Komponenten (components) existieren in der UML nur während der Implementierung bzw. Laufzeit des Systems und sind entweder: • Quellcode-Komponenten, • Binärcode-Komponenten oder • ausführbare Komponenten. Eine Komponente wird durch ein Rechteck mit zwei kleinen, den linken Rand überlagernden Rechtecken dargestellt. Innerhalb des Rechtecks wird der Komponentenname, etwaige Eigenschaften und ein möglicher Stereotyp geschrieben. Komponenten können sowohl auf der Typebene als auch auf der Instanzebene existieren. Eine Komponenteninstanz wird durch das Komponentensymbol und – in Analogie zum Objekt – mit Namen und Typbezeichner durch Doppelpunkt getrennt oder unbenannt mit Doppelpunkt gefolgt vom Typbezeichner dargestellt. Die gesamte Zeichenkette wird unterstrichen, um sie von einem Komponententyp zu unterscheiden. Es macht auch nur Sinn, bei ausführbaren Komponenten zwischen Typ und Instanz einer Komponente zu unterscheiden. Alle anderen Komponentenarten existieren nur auf der Typebene. Eine Komponente bietet eine Menge von Schnittstellen (interfaces) und deren Realisierung an. Daher kann eine Komponente jederzeit durch eine andere Komponente substituiert werden, die zumindest

        6.8 Objektorientierte Modellierung: UML

        329

        die Schnittstelle(n) der ursprünglichen Komponente anbietet. Dies entspricht genau der Philosophie der komponentenorientierten Software-Entwicklung, die die Spezifikation von angebotenen und benötigten Schnittstellen in den Vordergrund stellt und strikt zwischen Funktionalität, d. h. Schnittstellen, und deren Realisierung unterscheidet. ● Die möglichen Abhängigkeiten zwischen Komponenten sind, neben den von der UML vordefinierten Übersetzungsabhängigkeiten zwischen Quellcode-Komponenten und Ausführungsabhängigkeiten zwischen ausführbaren Komponenten, benutzerdefiniert und abhängig von der verwendeten Sprache und Entwicklungsumgebung. Sie werden durch den bereits bekannten Abhängigkeitspfeil (gestrichelter Pfeil) dargestellt. Komponentendiagramme werden immer dann eingesetzt, wenn das entwickelte System hinreichend komplex ist. Da damit physische Abhängigkeiten zwischen Komponenten beschrieben werden, im Gegensatz zu logischen Beziehungen zwischen Klassen während der Modellierung, stellen Komponentendiagramme wichtige Informationen für Konfigurationsmanagement und Versionierung der Software zur Verfügung. Komponentendiagramme existieren aber ausschließlich auf der Typebene und können daher keine Komponenteninstanzen beinhalten. Solche können nur im Zusammenhang mit einem Verteilungsdiagramm gezeigt werden, indem angegeben wird, auf welchem konkreten Knoten (Prozessor) die Komponenteninstanz ausgeführt wird. Eine Komponenteninstanz kann auch eine geschachtelte Struktur aufweisen, indem sie selbst wieder Komponenteninstanzen, Pakete, aber auch Objekte beinhaltet, die innerhalb dieser Komponente existieren und ausgeführt werden. ■ So zeigt das Verteilungsdiagramm für das Bibliothekssystem (s. u.) die Komponenteninstanz beschaffung, die auf dem Knoten biblioServer:Host ausgeführt wird und selbst die Objekte verlag und buch enthält. beschaffung hat eine Ausführungsabhängigkeit zur am selben Knoten ablaufenden Datenbankschnittstellenkomponente jdbc. ● Ein Verteilungsdiagramm (deployment diagram) zeigt die eingesetzte Hardwaretopologie und das zugeordnete Laufzeitsystem in Form von Softwarekomponenten und eingebetteten Objekten. Ein Verteilungsdiagramm ist ein Graph, dessen Knoten Verarbeitungseinheiten, i. d. R. Prozessoren, repräsentieren und dessen Kanten Kommunikationsbeziehungen zwischen diesen Verarbeitungseinheiten darstellen. Ein Knoten wird als Quader dargestellt, die Kommunikationsbeziehung zwischen den Knoten als durchgezogene Linie. Die Benennung von Knoteninstanzen erfolgt analog zu Komponenteninstanzen. Obwohl Verteilungsdiagramme sowohl auf der Typ- als auch auf der Instanzebene definiert sind, werden sie vor allem auf der Instanzebene eingesetzt und beschreiben hier eine konkrete Hardware- und Softwarekonfiguration. Auch können Knoten, wie Komponenten, geschachtelt sein und Pakete oder direkt Komponenten beinhalten. Es können natürlich nur solche Komponenten Knoten zugeordnet werden, die während der Laufzeit existieren und instanzierbar sind, d. h. ausführbare Komponenten sind. Im Verteilungsdiagramm werden neben den Kommunikationsbeziehungen zwischen den Knoten auch die Abhängigkeitsbeziehungen zwischen den Komponenten dargestellt. ■ Ein mögliches Verteilungsdiagramm für das Bibliothekssystem besteht aus fünf Knoten mit vier Kommunikationsbeziehungen. Am Knoten biblioServer:Host läuft das Bibliothekssystem im Wesentlichen in zwei Komponenten, in der Komponente beschaffung und der Komponente entlehnung. Beide Komponenten sind über die Datenbankschnittstellenkomponente jdbc mit dem Datenbankserver (Knoten dbServer) verbunden, auf dem das Datenbankverwaltungssystem läuft (nicht explizit dargestellt). Sicherungen der Datenbank werden auf einem Band gespeichert (Knoten bandlaufwerk mit benutzerdefiniertem Stereotyp device), mit dem über eine SCSI-Schnittstelle kommuniziert wird (Kommunikationsbeziehung zwischen dbServer und bandlaufwerk mit benutzerdefiniertem Stereotyp scsi). Da das Bibliothekssystem als Web-Anwendung realisiert ist, wird auf die Komponenten beschaffung und entlehnung über die Web-Server-Komponente :W3Server mithilfe ei-

        330

        6 Planung und Realisierung von Informationssystemen

        nes cgi-Aufrufs zugegriffen. Im Beispiel wird der Zugriff auf die Beschaffungssoftware (Knoten beschaffClient:PC) getrennt vom Zugriff auf die Entlehnsoftware (Knoten entlehnClient:PC) modelliert, was aufgrund sicherheitstechnischer Überlegungen sehr leicht vorstellbar ist. In beiden Fällen wird über einen Web-Browser (Komponente beschaff:W3Browser bzw. entlehn:W3Browser) auf den entsprechenden Web-Server (Komponente :W3Server auf dem Knoten biblioServer:Host) zugegriffen.

        6.9

        Ein ganzheitlicher Entwicklungsansatz: CASE

        Ende der 70er-Jahre waren zwar Modelle und Methoden verfügbar, mit denen alle wesentlichen Phasen der Informationssystementwicklung und Sichten auf Informationssysteme beschrieben werden konnten. Die Vielzahl existierender, meist jedoch nicht wartungsfreundlicher Software führte zur so genannten Softwarekrise. Die düstere Prognose, dass Ende der 80er-Jahre nahezu keine Neuentwicklungen mehr möglich sein würden, weil alle Entwicklungsressourcen durch Wartung verbraucht werden, bewahrheitete sich glücklicherweise nicht. Neben der konsequenten Trennung fachlicher und realisierungsbezogener Beschreibungen hat dazu vor allem die Mitte der 80er-Jahre einsetzende Verfügbarkeit computergestützter Entwicklungsumgebungen (CASE = Computer-Aided Systems / Software Engineering) beigetragen. In CASE-Umgebungen stehen rechnergestützte Werkzeuge für alle Phasen und Sichten der Informationssystementwicklung zur Verfügung und erlauben es im Idealfall, unter einer gemeinsamen Oberfläche und auf der Grundlage einer gemeinsamen Entwicklungsdatenbank Informationssysteme in integrierter Form zu entwickeln und früher entwickelte Systembeschreibungen konsequent wiederzuverwenden. ● CASE-Werkzeuge sind Softwareprodukte, die die bei der Erstellung von Software benötigten Funktionen anbieteten. ● CASE-Umgebungen stellen CASE-Werkzeuge auf einer CASE-Entwicklungsplattform zur Verfügung und besitzen meist ein Repository zur Datenverwaltung sowie einen Message Service zur Koordination der Benutzer. ● Ziele des Einsatzes von CASE: • Erhöhung der Produktivität • Verbesserung der Qualität • Erleichterung des Software-Managements

        6.9 Ein ganzheitlicher Entwicklungsansatz: CASE

        331

        ● Nach dem ECMA-Referenzmodell existieren folgende Bestandteile einer CASE-Umgebung: • Repository-Services: Entitäten, Objekte und ihre gegenseitigen Beziehungen werden durch sie verwaltet. Ebenso wird die Ausführung und Steuerung von verteilten Prozessen unterstützt. • Data Integration-Services: Eine Versions- und Konfigurationsverwaltung für das Repository wird durch sie zur Verfügung gestellt. Zudem unterstützen sie den Austausch von Daten. • Tools: Software die nicht Bestandteil der CASE-Plattform ist und durch Dienstleistungen die Entwicklungswerkzeuge unterstützt. • Process Management-Services: Die Prozessverwaltung erlaubt die Erstellung von Aufrufsequenzen für die Werkzeuge der CASE-Plattform. Information über Benutzer und Rollen im SoftwareEntwicklungsprozess, sowie deren Bezüge werden durch das PMS verwaltet. • Message-Services: Sie sorgen für die Kommunikation zwischen CASE-Werkzeugen und CASEDienstleistungen. • User Interface-Services: Die Benutzerschnittstelle liefert eine einheitliche Oberfläche zu den verschiedenen CASE-Funktionalitäten. ● Sicherheit: Es können verschiedene Sicherheitsbereiche bei der Entwicklung in einem offenen verteilten System eingerichtet werden. ● Verwaltung und Konfiguration der CASE-Plattform: Die CASE-Umgebung muss auf die Bedürfnisse der einzelnen Entwicklungsaufgabe zugeschnitten werden können ● CASE-Werkzeugkategorien: Nach den Schwerpunkten des Einsatzes können folgende CASE Werkzeugkategorien unterschieden werden: • Upper-CASE (front end-CASE): Unterstützen frühe Phasen der Software-Entwicklung (Planung, Definition, Entwurf). • Lower-CASE (back end-CASE): Unterstützen späte Phasen der Software-Entwicklung (Einführung, Wartung). • I-CASE (integrated-CASE): Phasenübergreifende Werkzeuge die ein Softwareprodukt über seinen ganzen Lebenszyklus hinweg begleiten (cross life cycle tools, vertical tools). ● CASE-Tools unterstützen folgende Arten des Software-Engineering: • Forward Engineering: Das fertige Softwaresystem ist das Ergebnis des Entwicklungsprozesses. • Reverse Engineering: Das vorhandene Softwaresystem ist Ausgangspunkt der Analyse. • Reengineering: Umbau eines vorhandenen Softwaresystems mit Elementen des Reverse Engineering zu Beginn und Forward Engineering gegen Ende des Prozesses. • Round Trip Engineering: Der Entwicklungsprozess kann sowohl mit Forward Engineering als auch mit Reverse Engineering begonnen werden und benutzt beide Entwurfsansätze im Wechsel. ● Allgemeine Anforderungen an CASE-Werkzeuge: • Konsistente Unterstützung der Entwicklungsmethode ■ Beispielsweise können SA-Methoden schlecht mit OOA-Methoden kombiniert werden, daher

        macht die Integration beider Tools in ein CASE-Werkzeug keinen Sinn. • Bereitstellung der notwendigen Basisfunktionalität ■ Die Erstellung aller für den Gesamtentwicklungsprozess benötigten Teilleistungen muss unter-

        stützt werden. • Bereitstellung von effizienzsteigernden Funktionen ■ Hierzu dienen z. B. Makrorekorder, Versionsverwaltungssysteme oder Navigationshilfen.

        • Bereitstellung von qualitätsteigernden Funktionen ■ Hier kann man die Integration von qualitätssichernden Werkzeugen in den Entwicklungsprozess

        einordnen: z. B. die Überprüfung von Konsistenz, Redundanzfreiheit und Vollständigkeit des Entwurfs sowie die automatische Erstellung von Fehlerprotokollen.

        332

        6 Planung und Realisierung von Informationssystemen • Übernahme von Hilfs- und Routinearbeiten ■ Ein Beispiel hierfür sind OOA-Werkzeuge die bei der Neuentwicklung von Modellen das Objekt-

        Repository auf ähnliche Objektstrukturen hin überprüfen und den Benutzer darüber informieren. • Bereitstellung von Export-/Importschnittstellen ■ Das CDIF (CASE-Data Interchange Format) bzw. das MIF (Metadata Interchange Format) sind

        Ansätze den Datenaustausch zwischen CASE-Systemen zu standardisieren. • Integrierbarkeit in CASE-Plattformen: ■ CASE-Werkzeuge sollten in mehrere CASE-Plattformen integrierbar sein. Dazu sind mehrere

        Schnittstellen notwendig. Die Konzeption von CASE-Tools als Schichtenarchitektur ist hierfür sinnvoll. ● Die Anforderungen an CASE-Plattformen resultieren in erster Linie aus deren Schittstellenfunktion. Dies sind Integrationsfähigkeit, Offenheit und Multiprojektfähigkeit.

        6.9.1

        Werkzeuge zur Daten- und Objektmodellierung

        ● Am Markt verfügbare Werkzeuge zur Unterstützung der Entwicklung von Datenmodellen, z. B. • IEF • Rational Rose • ORACLE*CASE • ARIS-Toolset In der Regel bieten sie eine Unterstützung beim Entwurf von Prozess- und Datenmodellen nach den gängigen Modellierungsverfahren ERM, EPK, UML usw. Das Information Engineering bietet eine Trennung der Daten- und Funktionssicht. ■ IEF: Werkzeugbasierte Unterstützung der Methode des Information Engineering von James Martin. Es handelt sich um einen top-down-Ansatz, bei dem das gesamte Vorgehen in 4 Phasen eingeteilt wird:

        • Planning – Strategische Informationsplanung – Daten und Funktionen aus ganzheitlicher Sicht auf den abzubildenen Realitätsausschnitt, z. B. Unternehmung – Definition von Business Areas • Analysis Differenzierung der Funktionen und Methoden innerhalb der Business Areas • Design Transaktionen, Benutzerschnittstelle u. a.

        6.9 Ein ganzheitlicher Entwicklungsansatz: CASE

        333

        • Construction Code-Generierung

        Datenmodellierung in IEF Die Datenmodellierung ist ein Teil des Systementwurfs, neben der Funktionsmodellierung und Datenflussmodellierung. Als Methode der Datenmodellierung werden Entity Relationship Diagramme verwendet, wobei Beziehungstypen nach der Krähenfußnotation dargestellt werden. Es ist möglich, Subjekte zu generieren, die eine Abstraktion einer Menge von Objekten darstellen.

        6.9.2

        CASE-Werkzeug: ORACLE Designer

        Im Folgenden wird Oracle Designer/2000 als Beispiel einer CASE-Umgebung betrachtet. Designer/2000 umfasst neben grafischen Werkzeugen zur Daten-, Datenfluss- und Funktionsmodellierung auch ein Prozessmodellierungswerkzeug sowie Werkzeuge zur grafischen Modellierung von Relationen, von Benutzerschnittstellen und von prozeduralen Modulen. Generatoren gibt es nicht nur für Oracles Viertgenerationssprachen, sondern auch für die Programmierspraschen Visual Basic, C++, Microsoft Help sowie für den Oracle Webserver. Es wird damit möglich, auf Grundlage einer durchgängigen, alle Lebenszyklusphasen abdeckenden CASE-Konzeption neben Client/Server-Anwendungen auch Internet/Intranet-Anwendungen zu erzeugen.

        334

        6 Planung und Realisierung von Informationssystemen

        Diese Abbildung zeigt das Hauptmenü von Designer/2000 (Release 1.3). Die verschiedenen Werkzeuge sind jeweils einer bestimmten Phase der Systementwicklung zugeordnet. Die wichtigsten Werkzeuge sind: 1. Phase „Unternehmens-/Prozessmodellierung“: Mit dem Business Process Modeller werden in dieser Phase die Organisationseinheiten, Aufgaben und Daten des relevanten Realitätsbereichs in aggregierter, aber dafür integrierter Form abgebildet. Aufgaben sind über eine einfache oder komplexe Steuerungslogik miteinander sowie mit verarbeiteten/erzeugten Daten verknüpft und können Organisationseinheiten zugeordnet werden. Die erzeugten Modelle sind mehrstufig verfeinerbar. 2. Phase „Fachkonzept“: In dieser Phase werden mit dem Function Hierarchy Modeller die Funktionshierarchie, mit dem Dataflow Diagrammer die Datenflüsse und mit dem Entity Relationship Diagrammer die Datenstrukturen (ER-Modell) unabhängig voneinander und in beliebigem Detaillierungsgrad modelliert. Eine rudimentäre Integration der Sichten erfolgt über die Wiederverwendung bestimmter Elemente des (integrierten) Unternehmensmodells sowie über bestimmte Qualitätsprüfungsmechanismen. 3. Phase „DV-Konzept“: Designer/2000 unterstützt sowohl die Transformation der Ergebnisse des fachlichen Entwurfs auf eine DV-technische Beschreibungsebene wie auch die Verfeinerung des DVKonzepts. ● Generierung des DV-Konzepts aus den Ergebnissen der Anforderungsanalyse: Mit so genannten Design Wizards (d. h. automatisierten, interaktiven Generierungsprozeduren) werden auf Grundlage der Datenverwendung der modellierten Funktionen Module zur Abbildung des Systemverhaltens erstellt. Aus dem konzeptionellen Schema werden u. a. Relationen und Integritätsbedingungen zur Abbildung struktureller Systemaspekte generiert. ● Zur Verfeinerung des DV-Konzepts werden die generierten Relationenschemata bzw. Modulhierarchien nach DV-orientierten Kriterien überarbeitet (Data Schema Diagrammer bzw. Module Structure Diagrammer). Außerdem erfolgt die Modellierung der Benutzerschnittstelle (Module Data Diagrammer) und der Ablaufstruktur prozeduraler Module (Module Logic Navigator). 4. Phase „Implementierung“: Designer/2000 generiert aus • dem Relationenschema Server-Datenstrukturen, • aus Modulspezifikationen 4GL-Maskenanwendungen, 4GL-Berichtsanwendungen oder grafische Auswertungen, • aus Modulspezifikationen Visual-Basic-Programme oder C++-Klassendefinitionen, • aus Dokumentationstexten MS-Help-Anwendungen und • aus Modulspezifikationen Anwendungen für Oracle WebServer. Phasenbegleitende und -übergreifende Aktivitäten sind die Verwaltung der integrierten Entwicklungsdatenbank (Struktur, Zugriffsrechte und Inhalte) und die Erzeugung einer Vielzahl von Berichten/Dokumenten.

        7

        Vernetzung als Wettbewerbsfaktor

        Die Erstellung und Einrichtung webbasierter Geschäftsprozesse nimmt einen immer größeren Raum neben den oftmals auf lokaler Ebene modellierten klassischen IT-Anwendungen (z. B. ERP) für große und mittelständische Unternehmen ein. Die zunehmende Bedeutung einer weitreichenden Vernetzung wird in diesem Kapitel zum einen in einer allgemeinen Übersicht über die Methoden und Möglichkeiten des Electronic Business gewürdigt, zum anderen findet eine Erläuterung der dazu notwendigen Schlüsseltechnologien wie Softwareagenten, XML und EDI statt. In zwei weiteren Abschnitten kommen Sicherheitsaspekte in Netzwerken und die ökonomische Bedeutung von Standards zur Sprache.

        7.1

        Electronic Business

        Electronic Business (E-Business) bezeichnet den Einsatz moderner Informations- und Kommunikationstechnologien zur elektronischen Unterstützung von Geschäfts- und Kommunikationsprozessen zwischen in Beziehung stehenden Akteuren in potenziell allen beruflichen und privaten Bereichen. ▲ Man unterscheidet in Abhängigkeit der Teilnehmer und der Nachfragerichtung die folgenden Beziehungen: • Business-to-Business (B2B): Unterstützung von Prozessen zwischen Unternehmen, z. B. im Rahmen der Beschaffung direkter oder indirekter Güter (E-Procurement). • Business-to-Consumer (B2C): Unterstützung von Transaktionen zwischen Unternehmen und Endverbrauchern, z. B. durch Shoplösungen. • Consumer-to-Business (C2B): Unterstützung von Transaktionen zwischen Privatpersonen die ein Gut offerieren und Unternehmen, die dieses nachfragen. • Consumer-to-Consumer (C2C): Transaktionen zwischen Konsumenten bzw. Privatpersonen (z. B. ebay.com und ricardo.de) ▲ Darüber hinaus kann eine Klassifikation nach der Anzahl der an einer Beziehung beteiligten Akteure vorgenommen werden. Neben verschiedenen Formen so genannter 1-1 (z. B. Beschaffung von Gütern zwischen genau zwei Unternehmen) und 1-n (Verkauf von Gütern an unterschiedliche Nachfrager) Beziehungen, haben sich vermehrt Ansätze herauskristallisiert, die n-n Beziehungen unterstützen. Hierzu zählen insbesondere Portale und elektronische Marktplätze.

        7.1.1

        Portale

        Der Begriff Portal bezeichnet einen zentralen Einstiegs- und Navigationspunkt, der dem Anwender Zugang zu einem virtuellen Angebotsraum bietet und ihn auf weiterführende Informationen – entsprechend seiner jeweiligen Interessen – lenkt. Web- bzw. Internetportale, deren Ursprünge in Aggregatoren (die verschiedene Inhalte zusammenfassen) und Suchdiensten begründet liegen, manifestieren sich in Form von Webseiten. Sie dienen der strukturierten Recherche und Präsentation von Inhalten im World Wide Web. Durch die dezentrale Organisation des Internet, können Web-Portale als Ansatz zu Lösung von Navigationsproblemen interpretiert werden. ▲ Die Navigation erfolgt aus Sicht des Anwenders über Verweise (Links), die Eingabe von Stichworten oder Kataloge. Wichtige Elemente sind Informationsverzeichnisse, Nachrichten, Diskussionsforen und Suchdienste. Um Portale insbesondere für Endverbraucher möglichst attraktiv zu gestalten, bieten Betreiber häufig eine Reihe kostenloser Services, etwa E-Mail-Accounts, Markt- und Preisvergleiche sowie den Download von Software (z. B. Shareware) an.

        336

        7 Vernetzung als Wettbewerbsfaktor

        ▲ Webportale sind i. Allg. durch eine Informationsorientierung gekennzeichnet, die sie von transaktionsorientierten Konzepten wie elektronischen Märktplätzen unterscheidet. Die Grenzen zwischen beiden Konzepten verlaufen fließend.

        7.1.2

        Elektronische Märkte

        Ein vergleichsweise junger E-Business-Ansatz sind elektronische Marktplätze. Diese mithilfe moderner Informations- und Kommunikationstechnologien geschaffenen virtuellen Orte dienen als Plattform für das Zusammentreffen von Angebot und Nachfrage, indem sie neben allgemeinen Informationen, der Beschreibung von Produkten und Dienstleistungen respektive deren Anbietern verschiedene Funktionen und Dienste anbieten, die eine Interaktion zwischen Anbieter und Nachfrager unterstützen.

        a) Marktplatzarten nach Zielgruppen Als eines der wesentlichen Merkmale von elektronischen Marktplätzen gilt die Abgrenzung der Zielgruppe. Diese kann sich an privaten, beruflichen oder geographischen Kriterien orientieren oder sämtliche Nutzer des Internets mit einbeziehen. Eine häufige Klassifizierung bildet die Unterscheidung horizontaler und vertikaler Marktplätze. • Horizontale Marktplätze sind durch ein weit gefächertes Angebot an allgemeinen Inhalten gekennzeichnet, das auf Funktionen und Prozesse vieler Branchen ausgerichtet ist. Sie werden daher auch als neutral bzw. branchen- und produktunabhängig bezeichnet. Einen Schwerpunkt bildet die Beschaffung indirekt wertschöpfender Güter und Dienstleistungen (z. B. Büromaterialien oder Computerzubehör), die häufig unter dem Begriff MRO (Maintenance, Repair and Organisation) zusammengefasst werden. • Vertikale Marktplätze fokussieren spezifische Themengebiete und sind auf eine bestimmte Interessensgemeinschaft, eine so genannte Community, ausgerichtet. Im Mittelpunkt können die Bedürfnisse einer Gruppe oder die einer ganzen Branche (z. B. der Chemieindustrie) stehen. Beispiele sind covisint.com in die Automobilindustrie und cpgmarket.com in der Konsumgüterindustrie. Darüber hinaus existieren offene (die sämtliche Nutzer des World Wide Web adressieren) und geschlossene Systeme (die entsprechend nur für einen definierten Teilnehmerkreis zugänglich sind). Die Ausprägungen der einzelnen Marktplätze werden häufig miteinander kombiniert. So existieren bspw. Marktplätze, die sowohl branchenspezifische als auch -neutrale Güter und Dienstleistungen anbieten oder solche, die auf eine spezielle Region begrenzt sind. ● Funktionale Abgrenzung: Aus funktionaler Sicht werden Schwarze Bretter, Katalogbasierte Dienste, Börsen, Auktionen und Mehrwertdienste unterschieden. • Schwarze Bretter (Pinboards) sind die einfachste funktionale Marktplatzart. Sie unterstützen durch eine Systematisierung, z. B. von Produkten, lediglich die Anbahnung einer Transaktion. Die eigentliche Vereinbarung und Abwicklung wird bilateral zwischen Anbieter und Nachfrager vollzogen. • Im Mittelpunkt Katalogbasierter Dienste stehen aggregierte Produkt- und Anbieterkataloge, die dem Nachfrager einen transparenten Überblick über das gesamte Angebotsspektrum eröffnen. Produkte und Leistungen können mit identischen, verwandten oder komplementären Artikeln in konzentrierter Form dargestellt werden. Sofern eine Integration mit den Warenwirtschaftssystemen der Anbieter besteht, können Verfügbarkeit und Preise in Echtzeit abgefragt werden. • Bei Börsen, die insbesondere in der Vermarktung von Restmengen und –kapazitäten angewendet werden, wird das Zusammenfinden von Anbieter und Nachfrager durch einen Dienst gesteuert. Nachfrager werden nach Abgabe eines Gebotes über einen Dienst zu einem Anbieter weitergeleitet. • Auch im Fall von Auktionen wird das Zusammentreffen von Anbieter und Nachfrager über einen Dienst gesteuert. Im Gegensatz zu Börsen, müssen die Eigenschaften des zu versteigernden Gutes

        7.1 Electronic Business

        337

        oder der zu versteigernden Dienstleistung klar zu beschreiben sein. Den Ausgangspunkt bildet i. d. R. ein Mindestgebot. Im Allgemeinen ist zudem der zeitliche Horizont einer Auktion durch einen Stichtag befristet. • Als bislang komplexeste funktionale Ausprägung elektronische Marktplätze gelten so genannte Mehrwertdienste, Plattformen, die über ihr Funktionsspektrum bspw. die kollaborative Entwicklung von Produkten, Funktionen für das Supply Chain Management (z. B. eine Unternehmensübergreifende Bedarfsplanung) oder die Konvertierung von Daten heterogener Anwendungssysteme anbieten. Katalogbasierte Dienste und Auktionen bilden i. d. R. einen integralen Bestandteil.

        b) Phasen einer Marktplatztransaktion Marktplatztransaktionen lassen sich im Wesentlichen in vier Bereiche, die Informations-, Vereinbarungs, Abwicklungs- und eine After-Sales-Phase, untergliedern:

        Anbieter Vertragsabschluss Transaktionsende Gebotseingabe

        Nachfrager

        Informationsphase

        Vereinbarungsphase

        Abwicklungsphase

        After-Salesphase

        • In der Informationsphase werden Informationen über potenzielle Anbieter und Nachfrager gesucht. Das Informationsangebot kann je nach Marktplatzart neben allgemeinen Informationen (z. B. Brancheninformationen) verschiedene Produkt- bzw. Leistungsspezifikationen und Eigenschaften der Anbieter und Käufer (z. B. Termintreue, Liquidität) umfassen. Diese werden im Rahmen eines ggf. alternativen Vergleichs verarbeitet und anschließend für die Kaufs- bzw. Verkaufsentscheidung eingesetzt. Informationsasymmetrien zwischen Marktplatzpartnern verlieren an Bedeutung, da Angebot und Nachfrage für beide Seiten transparent sind. Die Recherche wird gängigerweise durch Suchdienste und Kataloge (z. B. ein Business Directory) unterstützt. • In der anschließenden Vereinbarungsphase treten Anbieter und Nachfrager auf dem Marktplatz in Kontakt. Ziel ist es, Menge, Preis, Qualität, Lieferkonditionen, Zahlungsbedingungen und Garantie- und Serviceleistungen zu bestimmen. Die Komplexität der Phase unterliegt dem Preisfindungsmechanismus, der bspw. über Auktionen oder Börsen, Festpreise oder bereits vorverhandelte Verträge bestimmt wird. Mit der Zustimmung von Käufer und Verkäufer wird ein rechtsgültiger Vertrag geschlossen, der das Ende der Vereinbarungsphase bildet. • Auf Grundlage des geschlossenen Vertrages erfolgt in der Abwicklungsphase der eigentliche Leistungsaustausch. Im Bereich materieller Güter umfasst dieser den Versand des Gutes, die Bereitstellung relevanter Informationen (z. B. ein Online-Tracking über die Datenbestände beteiligter Dienstleistungsunternehmen), die Zahlungsabläufe und ggf. verschiedene Mehrwertdienste. Der Leistungsaustausch bei Informationsprodukten kann hingegen vollständig online erfolgen.

        338

        7 Vernetzung als Wettbewerbsfaktor

        • Die After-Sales-Phase schließt sich dem eigentlichen Leistungsaustausch an. Sofern Nachfrager ergänzende Leistungen oder zusätzliche Informationen benötigen, z. B. für die Bearbeitung von Reparaturen und Garantieleistungen, werden historische Transaktionsdaten, die i. d. R. auf elektronischen Marktplätzen gesichert werden, genutzt. Anbieter- und Nachfragerverhalten können zudem in eine Teilnehmerbewertung einfließen, die anderen Marktplatzteilnehmern bereitgestellt werden kann. Die Phasen können vollständig, aber auch zu einzelnen Teilen auf einem Marktplatz stattfinden.

        7.2

        Internet-Auktionen

        ● Internet-Auktionen haben – analog zu traditionellen Auktionen – das Ziel, ein Gut (eine Ware oder eine Dienstleistung) durch einen Bietprozess mit konkurrierenden Bietern zu verkaufen. Sie nutzen das Internet • zur Informationsdarstellung (Produktpräsentation, Gebote der Teilnehmer, etc.), • zur Unterstützung der Teilnehmer am Prozess der Versteigerung und • zur Ermittlung/Vermittlung der Ergebnisse, d. h. der Zuordnung des zu versteigernden Objektes an den Bieter mit dem „besten“ Gebot, teilweise inklusive einer Online-Zahlung. Aus ökonomischer Sicht stellen sie somit eine digitale Form von Allokationsverfahren dar. ▲ Der Einsatz des Internets bringt vor allem die folgenden Vorteile: • Die Teilnehmer sind nicht an einen realen Ort der Versteigerung gebunden. • Die Anzahl der Teilnehmer ist nahezu unbeschränkt. • Der Bietprozess einschließlich Vertragsabschluss und -abwicklung kann sehr schnell ablaufen. • Die Transaktionskosten werden für alle Beteiligten gesenkt. ▲ Demgegenüber stehen u. a. Probleme • der Sicherheit, • des Vertrauens und • der unvollständigen Darstellbarkeit von Gütern. ■ Seit dem Start der ersten Internet-Auktionen im Jahr 1995 etablieren sich zunehmend diese digitalen Allokationsmechanismen und gelten als einer der am stärksten wachsenden Bereiche im E-Commerce. In mittlerweile Hunderten von Auktionshäusern werden sehr unterschiedliche Güter gehandelt. Der Schwerpunkt liegt auf der Allokation von Gütern mit starkem Preisverfall (z. B. Hard-/Software, Flugtickets) und auf der Allokation in ineffektiven Märkten mit seltenen Gütern (z. B. Sammlerstücke, Antiquitäten, Gebrauchtwagen). Da Informationen auf elektronischem Weg ausgetauscht werden und die gehandelten Güter nicht „vor Ort“ in Augenschein genommen werden, sind standardisierte Güter jedoch ein klassischer Markt für Internet-Auktionen. ● Die wichtigsten Businessmodelle für Internetauktionen sind: • Business-to-Consumer: Der überwiegende Teil der Auktionshäuser hat ausgewählte Händler als Geschäftspartner und bietet Konsumenten ausschließlich Objekte dieser Händler an. • Consumer-to-Consumer: Einige Auktionshäuser, wie z. B. ebay, ermöglichen es ihren Kunden, für eigene Objekte Auktionen zu initiieren. • Business-to-Business: Im Bereich der elektronischen Beschaffung (e-Procurement) werden vor allem (standardisierte) Produkte für Bürobedarf bzw. -ausstattung oder Rohstoffe (Stahl, Strom etc.) in Auktionsplattformen gehandelt. • Government-to-Business: Auch öffentliche Ausschreibungen als eine spezielle Form von Auktionen werden über Internetplattformen realisiert. Gerade dadurch wird es möglich, z. B. europaweite Ausschreibungsverfahren mit relativ geringem Aufwand durchzuführen.

        7.2 Internet-Auktionen

        339

        ● Auktionsformen im Internet: Im Folgenden werden grundlegende Auktionsformen vorgestellt, die bei Internet-Auktionen Einsatz finden. • Die Mehrzahl der Internet-Auktionen basiert auf der English Auction. Dabei handelt es sich um eine Auktionsform, in der die Bieter ihre Gebote so lange sukzessiv erhöhen, bis nur noch ein Bieter übrig bleibt. Dieser erhält den Zuschlag zum Preis des von ihm zuletzt genannten Gebots. • Bei der Dutch Auction gibt der Auktionator einen Startpreis bekannt, den er so lange senkt, bis der erste Bieter ein Gebot abgibt. Dieser erhält den Zuschlag zum Preis des von ihm genannten Gebots. • In der First Price Sealed Bid Auction gibt jeder Bieter genau ein verdecktes Gebot ab. Den Zuschlag erhält der Bieter mit dem höchsten Gebot zum Preis des von ihm genannten Gebots. • Die Second Price Sealed Bid Auction oder auch Vickrey Auction unterscheidet sich von der First Price Sealed Bid Auction lediglich dadurch, dass der Bieter mit dem höchsten Gebot den Zuschlag zum Preis des zweithöchsten Gebots erhält. • In einer Double Auction bieten sowohl Käufer (Gebote zum Kauf, so genannte bids) als auch Verkäufer (Gebote zum Verkauf, so genannte asks). Eine Transaktion kommt zustande, wenn das aktuell beste Gebot eines Käufers bzw. Verkäufers akzeptiert wird. ▲ Die Bezeichnung von Auktionen im Internet unterscheidet sich häufig von den in der Literatur verwendeten Termini. So wird die English Auction z. B. auch als Traditional Auction oder Internet Auction bezeichnet, die Dutch Auction z. B. auch als Descending Auction und die First Price Sealed Bid Auction auch als Non-Published Auction oder Silent Auction. Neben der von der Literatur zur Auktionstheorie abweichenden Bezeichnung finden sich im Internet auch neue Ausprägungen von Auktionsformen. So bietet uBid eine so genannte Wall Street Auction an, die im Wesentlichen einer hybriden English Auction und Dutch Auction entspricht: Wird der gegebene Mindestpreis überboten, findet eine English Auction statt, anderenfalls wird der Preis gesenkt bis der Markt geräumt ist. Onsale bietet eine so genannte Yankee Auction an, bei der bis zu einem gegebenen Zeitpunkt eine English Auction durchgeführt wird und anschließend eine First Price Sealed Bid Auction. ● Erfolgsfaktoren für Internetauktionen: Neben den zugrunde liegenden Auktionsformen, den gehandelten Produktarten und dem Businessmodell kann eine Beurteilung von Internet-Auktionen u. a. über die Kriterien • Bedienungskomfort (ease of use), • Zusatzinformation (on site ressources) und • Kundenzufriedenheit vorgenommen werden. ■ Beim Bedienungskomfort sind bspw. die Strukturierung des Angebots in einer Produktgruppenhierarchie und Suchfunktionen zur gezielten Suche oder Volltextrecherche maßgeblich. Als Zusatzinformationen können z. B. Produktinformationen über Links zu Hersteller bzw. Fachzeitschriften bekanntgegeben werden. Darüber hinaus bieten einige Auktionshäuser die Möglichkeit, sich per E-Mail über neue Produkte bzw. Angebote informieren zu lassen („keep an eye on an item“) oder den Auftrags- bzw. Gebotsstatus abzufragen. Kundenzufriedenheit versucht z. B. Onsale über ein Help-Desk-System zu erzielen. ▲ Darüber hinaus spielen für diesen Bereich der Schutz der Kundendaten und die Gewährleistung sicherer Verbindungen durch Secure Sockets Layer (SSL)-Protokolle sowie eine hohe Verfügbarkeit und Perfomance eine wichtige Rolle für die Zufriedenheit der Kunden. ● Probleme/Zukunftsaussichten: Internet-Auktionen geraten immer wieder in negative Schlagzeilen, die vor allem auf mangelnde Regulierung und Sicherheitsprobleme zurückzuführen sind. So ist es bei der Menge der Anbieter bzw. Bieter in Internet-Auktionen für regulierende Instanzen wie die Federal Trade Commision in den USA nicht möglich, die Vertrauenswürdigkeit aller Teilnehmer zu prüfen. Dies bezieht sich angebotsseitig auf die Art der eingestellten Waren (in großen Consumer-to-

        340

        7 Vernetzung als Wettbewerbsfaktor

        Consumer Auktionshäusern finden sich entgegen der Richtlinien der Betreiber immer wieder Angebote für menschliche Organe, Waffen etc.) und bieter- bzw. anbieterseitig auf die Sicherheit der Transaktion, auf den Schutz der Kundendaten, auf die Verifikation der Identität der Teilnehmer, auf eine Zertifizierung von Anbietern/Webseiten, auf die Qualität der Produkte und die Verbindlichkeit und Nachvollziehbarkeit von Geboten und Abschlüssen (repudiation). ▲ Hinzu kommt das Problem der Preistreiberei: Bieterseitig durch so genannte „shielders“, die fingierte Gebote abgeben und diese kurz vor Auktionsende zurückziehen und anbieterseitig durch so genannte „shillers“, die durch eigene Gebote versuchen, Preise in die Höhe zu treiben. Durch die genannten Probleme werden Forderungen nach Zertifizierung und Regulierung von Internet-Auktionen laut. Insbesondere die bisherige Trennung der Internet-Auktion von bestehendem Auktionsrecht ist jedoch von entscheidendem Einfluss auf die Entwicklung von Internet-Auktionen. ● Ihre Chancen liegen jedoch auch weiterhin in der großen Zahl von (potenziellen) Teilnehmern, der hohen Performance, der einfachen Teilnahme/Bedienung durch Kunden, den niedrigen (Transaktions-) Kosten und dem hohen Erlebniseffekt (entertainment). Forschungen auf dem Gebiet elektronischer Verhandlungen (e-Negotiations) werden weitere wichtige Erkenntnisse bezüglich geeigneter Auktionsformen und ihrer Allokationswirkungen sowie völlig neue Formen elektronischer Verhandlungen hervorbringen. Innovative Ansätze werden bi- und multilaterale Verhandlungen und diese nicht nur über den Preis sondern auch über weitere Eigenschaften von Waren und Dienstleistungen, wie etwa Liefertermine oder Zahlungsziele in so genannten multiattributiven Verhandlungen bzw. Auktionen anbieten. ● Auf technischer Ebene führen die neuen Entwicklungen der multimedialen Präsentation z. B. zu neuen Möglichkeiten, den Erlebniseffekt und das gesellschaftliche Ereignis realer Auktionen in InternetAuktionen abzubilden. Mobile Endgeräte werden den Auktionsteilnehmer noch ortsungebundener machen. Darüber hinaus bieten Softwareagenten Automatisierungsmöglichkeiten für verbesserte Suchmaschinen („elektronische Schnäppchenjäger“) und proaktiven Kundenservice durch Gebotsassistenten: Z. B. informieren so genannte „alert-agents“ den Bieter, wenn er überboten wird, oder so genannte „bidagents“ generieren – nach der vom Bieter eingegebenen Strategie – in festgelegten „ticks“ Gebote, bis ein vom Bieter spezifiziertes Preislimit erreicht ist.

        7.3

        Softwareagenten

        Ein Softwareagent ist ein Programmobjekt (siehe objektorientierte Programmierung) innerhalb eines Softwaresystems (Agentenplattform), welches autonom, d. h. ohne die direkte Intervention von Menschen oder anderen Softwareagenten, mit seiner Umwelt interagiert, um die von einem Anwender spezifizierten Ziele zu verfolgen. Der Softwareagent besitzt die Kontrolle über seinen inneren Zustand und seine Aktionen. SOFTWAREAGENT Ereignis

        Aktion

        UMWELT

        Softwareagent in Wechselwirkung mit seiner Umwelt Softwareagenten besitzen die Grundeigenschaften: • Reaktivität, d. h. die Fähigkeit, die Umwelt wahrzunehmen und zeitnah auf die Veränderung dieser zu reagieren, ohne dabei die Zielvorgaben zu verlassen und/oder • Proaktivität, d. h. das Ausführen von zielgerichteten Aktionen aus eigener Initiative.

        7.3 Softwareagenten

        341

        Diese Eigenschaften bestimmen ihre Verhaltensweisen und werden durch unterschiedliche interne Softwarestrukturen (Agentenarchitekturen) generiert. Es werden dabei meist drei grundlegende Agentenarchitekturtypen unterschieden.

        7.3.1

        Deliberative Softwareagenten

        ● Deliberative Softwareagenten besitzen ein explizites Modell der Umwelt, welches in symbolischer Repräsentation im Agenten gespeichert ist. Sie treffen mithilfe von logischen Schlussfolgerungstechniken die Entscheidung darüber, welche Handlungen A als nächste durchzuführen sind. Deliberative Softwarearchitekturen ermöglichen proaktives Verhalten der Softwareagenten. ● Ein einfaches Modell eines deliberativen Softwareagenten kann wie folgt aussehen: ▲ Die Funktion see repräsentiert die Fähigkeit eines Softwareagenten, seine Umwelt wahrzunehmen. Die Umwelt eines Softwareagenten ist charakterisiert durch ihren Zustand S. Wenn mit P die Menge der Wahrnehmungen bezeichnet wird, ergibt sich für die Funktion see: see S → P ■ Die wahrgenommenen Umwelteigenschaften werden als logische Ausdrücke in einer internen Datenbank des Agenten ∆ gespeichert. Beispiele für solche Wahrnehmungen sind: Temperature(reactor4726,321) Pressure(tank776,28) ▲ Außerdem führen wir die Funktion next ein, die den Inhalt einer Datenbank ∆ mittels einer Wahrnehmung auf eine neue agenteninterne Datenbank abbildet. Die Gesamtmenge der internen Zustände bzw. Datenbanken ∆ der Agenten wird mit D bezeichnet. next D × P → D ▲ Das Verhalten des Agenten wird bestimmt durch eine Menge von Aktionsregeln , welche in klassischer Prädikatenlogik als Inferenzregeln definiert sind. ▲ Der Entscheidungsprozess eines Softwareagenten wird durch die Aktionsregeln  und Aktionsbeschreibungen ϕ modelliert. Wir schreiben ∆  ϕ , wenn die Aktionsbeschreibung ϕ mittels der Inferenzregel  auf Basis der Datenbank ∆ verifiziert werden kann. ■ Beispiel für eine Aktionsbeschreibung: Open(valve221) ■ Ein Aktionsregel könnte lauten: Pressure(tank776,28) ∧ Temperature(reactor4726,321) −→ Open(valve221) ▲ Der Entscheidungsprozess eines Softwareagenten wird durch die Funktion action repräsentiert: action D → A Der Pseudocode dieser Funktion ist der folgende: 1 function action (∆ : D) : A 2 begin 3 for each a ∈ A do 4 if ∆  Do(a) then 5 return a 6 end-if 7 end-for 8 for each a ∈ A do 9 if ∆  ¬Do(a) then 10 return a 11 end-if

        342

        7 Vernetzung als Wettbewerbsfaktor

        12 end-for 13 return null 14 end function action • Im ersten Teil der Funktion action (Zeilen 3-7) versucht der Softwareagent, nacheinander für jede mögliche Handlungsalternative die Aktionsbeschreibung Do(a) (mit Do(a) ∈ ϕ ) der Datenbank mithilfe der Inferenzregeln  zu verifizieren und führt im Falle eines Erfolges die entsprechende Handlungsalternative a durch. Die Aktionsregeln  in der Datenbank ∆ sind dabei so definiert, dass für den Fall einer Verifizierung von Do(a), a die optimale Handlungsalternative ist. • Kann der Softwareagent den Ausdruck Do(a) für keine der Handlungsalternativen a beweisen, so versucht er, eine Handlungsalternative zu finden, die mit den Inferenzregeln und der Datenbank konsistent bzw. nicht explizit verboten ist, d. h. für die ¬ Do(a) nicht abgeleitet werden kann (Zeilen 8-12) und führt diese durch. • Falls keine verifizierbare Handlungsalternative gefunden werden kann, wird die Aktion null ausgegeben und damit keine Aktion durchgeführt (Zeile 13).

        7.3.2

        Reaktive Softwareagenten

        ● Reaktive Softwareagenten besitzen kein internes, symbolisches Modell ihrer Umwelt und verzichten aus Komplexitätsgründen auf Schlussfolgerungstechniken. Ihr Verhalten wird durch einfache ReizAntwort-Schemata beschrieben, welche vordefinierte Verhaltensweisen für bestimmte Umweltzustände vorsehen. Komplexes Verhalten entsteht bei reaktiven Agentenarchitekturen nur als Ergebnis der Interaktion vieler Agenten in einem Multiagentensystem. Ein solches Systemverhalten wird auch als Emergenz bezeichnet. ● Eine typische reaktive Agentenarchitektur ist die Subsumptions-Architektur von Rodney Brooks: ▲ Ein Softwareagent besteht aus einer Reihe von Verhaltensmodulen, in denen die Verhaltensweisen des Agenten gespeichert sind. Die Verhaltensweisen werden durch Regeln repräsentiert, welche aus einem wahrgenommenen Input direkt eine Aktion ableiten: situation −→ action ▲ Eine Verhaltensregel ist definiert als ein Paar (c, a), bei dem c eine so genannte condition und a ∈ A eine Handlungsalternative darstellt, wobei c ∈ P aus der Menge der möglichen Wahrnehmungen stammt. Eine Verhaltensregel (c, a) wird aktiviert, wenn die Bedingung see(s) ∈ c für diesen Umweltzustand s ∈ S erfüllt ist. Mit Beh = {(c, a)| c ⊆ P und a ∈ A} bezeichnen wir die Menge aller möglichen Verhaltensregeln. ■ Beispiele für Verhaltensregeln sind: (1.1) if Alert(reactor4726,On) then Open(valve334) (1.2) if Temperature(reactor4726,321) and Pressure(tank776,28) then Open(valve221) (1.3) if Flowrate(tube211,588) and Level(tank776,28) then Close(valve221) ▲ Die Verhaltensmodule sind hierarchisch in Ebenen angeordnet, wobei die am unteren Ende der Hierarchie angesiedelten Module für grundlegende Aufgaben vorgesehen sind. Diese besitzen die Möglichkeit, die Ausführung von Aktionen auf höheren Ebenen bei Interessenkollision zu verhindern. Mit fallendem Rang in der Hierarchiestufe wächst die Priorität, mit der Aktionen weiter oben liegender Module unterbunden werden können. ▲ Zur Realisierung der Hierarchie der Verhaltensmodule ist auf die Menge der Verhaltensregeln R ⊆ Beh eine Inhibitionsrelation definiert: ≺⊆ R x R. Wir schreiben b1 ≺ b2 , wenn (b1 , b2 ) ∈≺, was bedeutet, dass die Verhaltensweise b1 sich auf einer niedrigeren Hierarchieebene als b2 befindet bzw. eine höhere Priorität als b2 hat. ■ In unserem Fall lautet die Inhibitionsrelation: (1.1) ≺ (1.2) ≺ (1.3)

        7.3 Softwareagenten

        343

        ▲ Die Entscheidungsfunktion action des Agenten wird nun durch die Menge der Verhaltensregeln dargestellt, die bedingt durch die Inhibitionsrelation unterschiedliche Prioritäten haben. ▲ Die Funktion action ist wie folgt definiert: 1 function action(p : P) : A 2 var f ired : ℘(R) 3 var selected : A 4 begin 5 f ired := {(c,a)|(c,a) ∈ R and p ∈ c} 6 for each (c,a) ∈ f ired do 7 if ¬(∃(c  ,a  ) ∈ f ired such that (c  ,a  ) ≺ (c,a)) then 8 return a 9 end-if 10 end-for 11 return null 12 end function action ▲ Zur Auswahl der auszuführenden Handlungsalternative werden zunächst alle erfüllten (fired) Verhaltensregeln bestimmt (Zeile 5). Anschließend wird aus dieser Menge diejenige Verhaltensregel (c, a) ausgewählt, welche die höchste Priorität hat und deren zugehörige Handlungsalternative a ausgeführt (Zeile 8). Falls keine Verhaltensregel erfüllt ist, wird die Aktion null ausgegeben bzw. keine Handlungsalternative durchgeführt. ■ Sind beispielsweise folgende Verhaltensregeln erfüllt: (1.1) if Alert(reactor4726,On) then Open(valve334) (1.3) if Temperature(reactor4726,321) and Pressure(tank776,28) then Open(valve221) so wird Open(valve334) ausgewählt da: (1.1) ≺ (1.3).

        7.3.3

        Hybride Softwareagenten

        ● Hybride Softwareagenten vereinigen deliberative und reaktive Ansätze auf Basis mehrschichtiger Architekturen. Während mithilfe der unteren Schichten grundlegende Verhaltensmuster eines Agenten in Form von Reiz-Antwort-Schemata implementiert sind und somit Elemente der reaktiven Architektur eingeführt werden, wird der deliberative Prozess der Planung und Entscheidungsfindung in höher gelegenen Schichten bearbeitet. ● Es können folgende Typen von Schichtenarchitekturen unterschieden werden: ▲ Horizontale Schichtenarchitektur:

        • Alle Schichten arbeiten parallel, haben Zugriff auf die Wahrnehmung des Agenten und können Aktionen vorschlagen. • Ein zentrales Kontrollsystem entscheidet, welche Schicht zu einem bestimmten Zeitpunkt die Kontrolle über den Agenten besitzt.

        ▲ Vertikale Schichtenarchitektur:

        • Nur die unterste Schicht hat Zugriff auf die Wahrnehmung des Agenten. Kann eine Schicht den Input nicht verarbeiten, leitet sie ihn an die nächst höhere Schicht weiter. Je nach Gestaltung des Ausführungsprozesses werden zwei Subarchitekturtypen unterschieden: – Bei der Ein-Weg-Kontrolle führt diejenige Schicht eine Aktion aus, welche angemessen auf einen Input reagieren kann, während – bei der Zwei-Weg-Kontrolle nur die unterste Schicht eine Aktion ausführen kann und der Informationsfluss dementsprechend wieder in Richtung der untersten Schicht verläuft.

        344

        7 Vernetzung als Wettbewerbsfaktor

        ▲ Der Unterschied zwischen den Agentenarchitekturen liegt in der Komplexität und Flexibilität der Entscheidungsfindung. Während bei der horizontalen Schichtenarchitektur, bedingt durch das zentrale Kontrollsystem deutlich mehr Handlungsalternativen verglichen werden müssen und daher längere Verarbeitungszeiten die Folge sind, weisen vertikale Schichtenarchitekturen eine geringere Fehlertoleranz auf, da eine Entscheidung alle Schichten durchläuft und ein Fehler innerhalb einer Schicht ernsthafte Konsequenzen für die gesamte Entscheidungsfindung nach sich ziehen kann.

        Schicht n

        Aktionen

        Wahrnehmung

        Aktionen

        ... Schicht 2 Schicht 1

        Schicht n

        Schicht n

        ...

        ...

        Schicht 2

        Schicht 2

        Schicht 1

        Schicht 1

        Wahrnehmung Horizontale Schichtenarchitektur

        Wahrnehmung

        Vertikale Schichtenarchitektur (Ein-Weg-Kontrolle)

        Aktionen

        Vertikale Schichtenarchitektur (Zwei-Weg-Kontrolle)

        Schichtenarchitekturen von Softwareagenten

        7.3.4

        BDI-Softwareagenten

        In einer enger gefassten Definition werden Softwareagenten mentale Eigenschaften zugeschrieben, die üblicherweise im Zusammenhang mit menschlichem Verhalten stehen, wie etwa Überzeugungen, Wünsche und Absichten. Solche Eigenschaften kommen in Belief-Desire-Intention- (BDI-) Architekturen zum Ausdruck. BDI-Architekturen können als rein deliberative oder hybride Softwarearchitekturen dargestellt werden: ● Wissenschaftliche Grundlage der BDIArchitektur ist die Theorie vom so genannten „praktischen Denken“, die sich an der Entscheidungsfindung des Menschen im täglichen Leben orientiert und daher durch kurze Entscheidungsprozesse über Aktionen zur Förderung langfristiger Ziele charakterisiert ist. ● Die beiden Basiskomponenten von BDI-Softwareagenten sind:

        sensor input

        brf beliefs generate options desires filter intentions action

        action output

        BDI-Architektur

        ▲ Datenstrukturen, welche den mentalen Zustand eines Softwareagenten beschreiben, wobei die Inhalte häufig in Form von logischen Ausdrücken repräsentiert werden. Sie gliedern sich in: • beliefs, Bel, welche die vom Agenten wahrgenommenen Informationen über seine Umwelt repräsentieren,

        7.3 Softwareagenten

        345

        • desires, Des, die die zu einem bestimmten Zeitpunkt möglichen Handlungsalternativen darstellen und • intentions, Int, welche die Absichten, d. h. die aus den angestrebten Handlungsalternativen ausgewählten desires, charakterisieren. Der mentale Zustand eines BDI-Softwareagenten wird also dargestellt durch das Tripel (B, D, I), mit B ⊆ Bel, D ⊆ Des und I ⊆ Int. ▲ Funktionen, die definieren, welche Absichten auszuwählen sind (deliberation) und wie diese verfolgt werden sollen (means-ends reasoning). • Die belief revision function, brf, bestimmt eine neue Menge von beliefs auf Basis der aktuellen Menge der beliefs und des gegenwärtig wahrgenommenen Inputs: brf ℘ (Bel) x P → ℘ (Bel) • Die option generation function, options, definiert auf Basis der gegenwärtigen Menge der beliefs und intentions die Menge der möglichen Handlungsalternativen (desires) hinsichtlich einer Verfolgung der intentions (means-ends reasoning): options ℘ (Bel) x ℘ (Int) → ℘ (Des) • Die filter function, filter, aktualisiert die intentions des Softwareagenten auf Basis der vorhergehenden intentions und der gegenwärtigen beliefs und desires (deliberation): filter ℘ (Bel) x ℘ (Des) x ℘ (Int) → ℘ (Int) unter der Nebenbedingung: ∀ B ∈ ℘ (Bel),∀D ∈ ℘ (Des),∀I ∈ ℘ (Int), f ilter(B,D,I) ⊆ I ∪ D Sie löscht bestehende intentions, falls sie nicht mehr erreichbar sind oder der Aufwand der Verfolgung höher als der erwartete Nutzen ist, behält sie bei, falls sie noch nicht erreicht sind, aber immer noch einen positiven Nutzen erwarten lassen oder adaptiert neue, um bestehende intentions zu erreichen oder neue Möglichkeiten zu erforschen. • Die execute function, execute, wählt alle erreichbaren intentions aus und bestimmt die Handlungsalternativen, die zur Erfüllung dieser intentions durchgeführt werden müssen: execute: ℘ (Int) → A • Die action function, action, ist die Entscheidungsfunktion eines BDI-Agenten die alle vorstehenden Funktionen zusammenfasst und letztendlich eine Handlungsalternative auswählt: action: P → A Sie ist durch den folgenden Pseudocode definiert: 1 function action(p : P) : A 2 begin 3 B := br f (B,p) 4 D := options(D,I) 5 I := f ilter(B,D,I) 6 return execute(I) 7 end function action

        7.3.5

        Eigenschaften von Softwareagenten

        Je nach Anwendungsdomäne können weitere Eigenschaften für Softwareagenten von Bedeutung sein: ● Kooperationsfähigkeit ist die Fähigkeit eines Softwareagenten, mit anderen Softwareagenten zusammenzuarbeiten und dabei deren Ziele zu berücksichtigen sowie Kompromissbereitschaft aufzuweisen. Basis jeglicher Kooperation ist Kommunikation, welche drei wichtige Aspekte beinhaltet: ▲ Das Interaktionsprotokoll nimmt Bezug auf die Strategie eines Agenten, deren Verfolgung seine

        Interaktion mit anderen Agenten leitet. Dieses Protokoll kann ein Verhandlungsschema oder ein spieltheoretischer Mechanismus sein.

        346

        7 Vernetzung als Wettbewerbsfaktor

        ▲ Die Kommunikationssprache ist das Medium, über welches die Inhalte zwischen Agenten

        kommuniziert werden. Gebräuchliche Agentenkommunikationssprachen sind KQML (Knowledge Query and Modification Language) und FIPA-ACL (FIPA-Agent Communication Language). Allen Agentenkommunikationssprachen ist gemein, dass ein Nachrichtenkopf mit Angaben zu Sender/Empfänger, Sprachdefinition (ACL, Knowledge Interchange Format), Wissensdomäne und Kommunikationstyp (Anfrage, Behauptung, Aufforderung usw.) dem eigentlich zu übertragenden Inhalt vorangestellt ist. ▲ Das Transportprotokoll ist der gewählte (vom Kontext unabhängige) Transportmechanismus der

        Kommunikation, wie z. B. TCP-IP, SMTP, FTP. ■ Kollaborative-Softwareagenten sind ein Agententyp, dessen wesentliche Eigenschaft Kooperati-

        onsfähigkeit darstellt. Sie kommen zur Lösung von Problemen zum Einsatz, die z. B. zu komplex für die Bewältigung durch ein einzelnes zentrales System sind oder die eine natürliche Verteiltheit aufweisen, wie die Kontrolle von verteilten Produktionsstätten innerhalb eines Unternehmens. Die Zuweisung der Aufgaben wird meist mittels Verhandlungen zwischen den Agenten vorgenommen. ● Lernfähigkeit ist die Fähigkeit eines Softwareagenten, das eigene Verhalten durch Interaktion mit der Umwelt, dem Menschen oder anderen Softwareagenten längerfristig zu verändern. Lernen ist dabei nicht nur auf das Sammeln und Auswerten von Fakten innerhalb logikbasierter Systeme beschränkt, sondern es können auch andere Techniken des Maschinenlernens wie Neuronale-Netze, Bayes’sche Belief-Netze sowie Bekräftigungslernen zum Einsatz kommen. ■ Bekräftigungslernende-Softwareagenten: Agenten, die anhand von positiven Umweltreaktionen

        auf ihre Handlungen lernen und dabei eine Reduktion der dazu nötigen Bewertung auf häufig auftretende Aktionsmuster vornehmen. Sie werden z. B. in Multiagentensystemen zur Bewältigung von Koordinationsaufgaben im Supply Chain Management eingesetzt. ■ Interface-Softwareagenten: Persönliche Assistenten eines Benutzers, den sie im Umgang mit be-

        stimmten Anwendungssystemen unterstützen. Der Interface-Softwareagent überwacht und imitiert die Aktionen des Benutzers und erlernt dabei, wie diese besser durchgeführt werden können. ● Softwareagenten, denen reaktives sowie proaktives Verhalten möglich ist (etwa auf Basis einer hybriden Agentenarchitektur bestehend aus reaktiven und deliberativen Komponenten) und die darüber hinaus kooperations- und lernfähig sind, werden als intelligente Softwareagenten bezeichnet. ● Mobilität ist die Fähigkeit eines Softwareagenten, sich (über eine Infrastruktur) selbstständig in einem elektronischen Netzwerk von einem Ort zu einem anderen zu bewegen. Vorreiter auf dem Gebiet der mobilen Agenten ist das Projekt www.agentcities.net, das sich mit der Realisierung einer weltweiten Plattform für mobile Agenten, basierend auf dem FIPA-Standard (Foundation for Intelligent Physical Agents), beschäftigt. Neben einer Klassifizierung hinsichtlich der Eigenschaften von Softwareagenten werden sie häufig durch ihre Aufgabe, die sie zu erfüllen haben, bzw. ihre Rolle definiert. So lassen sich z. B. Planungs-, Kontrollsowie Informationssoftwareagenten unterscheiden. ■ Informationssoftwareagenten unterstützen einen Benutzer bei der Suche nach Informationen in Netzwerken wie dem Internet. Sie spüren potenzielle Informationsquellen auf, filtern diese entsprechend dem Interessenprofil ihrer Benutzer und präsentieren ihm das Ergebnis. Gemäß ihrer Anwendungsdomäne kann es notwendig sein, dass sie Lernfähigkeit besitzen, z. B. um im Zeitablauf die Präferenzen ihrer Benutzer besser zu erfassen. Solche Softwareagenten können gleichzeitig aufgrund ihrer Eigenschaften als Interface-Softwareagenten bezeichnet werden.

        7.4 Standardisierung und Standards

        7.4

        347

        Standardisierung und Standards

        Die Entscheidung über die Nutzung von (Kommunikations-)Standards ist notwendige Bedingung für jede Interaktion sowie für die Koordination wirtschaftlicher Aktivitäten. ● Standards stellen Kompatibilität zwischen verschiedenen Systemelementen her. Sie sind damit einheitliche Regeln als Grundlage der Interaktion zwischen (menschlichen, maschinellen) Akteuren. ■ Beispiele für Standards sind DNS, natürliche Sprachen, metrische Konventionen, Währungen, Kommunikationsprotokolle (IP, TCP, HTTP) und syntaktische oder semantische Konventionen wie XML oder EDI. ▲ Viele öffentliche wie private Institutionen bemühen sich um die Entwicklung und Verbreitung von Standards. Bekannt sind etwa ISO, ANSI, DIN, W3C, oder OASIS. ● Standards in Informationssystemen ermöglichen das Zusammenspiel heterogener Computernetzwerke, Betriebssysteme und Anwendungen. Der Integration unterschiedlicher Anwendungen kommt insbesondere im Electronic Business herausragende Bedeutung zu, indem u. a. ein Informationsfluss und -zugriff wertkettenübergreifend und in Echtzeit unterstützt werden soll. ● Vorteile des Einsatzes von Standards: Schnellere, bessere und billigere Kommunikation; bessere Nutzung vorhandener Informationen. ■ So spart man bei der Nutzung von E-Mail die typischen Kosten einer Briefsendung wie Porto, Papier oder Druckkosten. Weiterhin erreicht eine elektronische Nachricht sehr viel schneller ihren Empfänger. Zu weiteren Vorteilen u. a. aus Automatisierung von Kommunikationsprozessen siehe Abschnitt EDI. ● Kosten des Einsatzes von Standards: Abhängig von Standard und Einsatzbereich können Kosten anfallen für Hardware-, Software-, Umstellungs- oder Einführungskosten und Schulungskosten; daneben Kosten der Koordination durch die Einigung mit Marktpartnern über einen einheitlichen Standard (Zeit, Personal (Gremien), Datenermittlung und -verarbeitung, Kontroll- und Anreizsysteme). Diese Standardisierungskosten können sich kontextabhängig stark unterscheiden. So sind bspw. die Kosten einer EDI-Einführung in einem Unternehmen in aller Regel geringer als die Einführung von Modulen einer Standardsoftware wie etwa SAP R/3. Durch die netzeffektbedingte Interdependenz (Synergien) der Standardisierungsentscheidungen der verschiedenen Akteure entsteht ein Koordinationsproblem („das Standardisierungsproblem“). Dieses Entscheidungsproblem sowie die Folgen von Netzeffekten z. B. auf Softwaremärkten ist Gegenstand der Netzeffekttheorie. ▲ Da bei der Entscheidung über die Einführung eines Standards die Standardisierungsentscheidungen der Kooperationspartner zu berücksichtigen sind, ergibt sich ein Koordinationsproblem. Allgemein steigt der Nutzen eines Standards für einen bestimmten Anwender mit der Zahl seiner sonstigen Nutzer. So wird der Nutzen von E-Mail je größer, desto mehr andere ebenfalls E-Mail benutzen und damit erreichbar sind. Dieses Phänomen des in der Anwenderzahl steigenden Nutzens eines Gutes wird allgemein als positiver Netzeffekt bezeichnet und lässt sich ökonomisch als nachfrageseitige Skalenerträge interpretieren. Es bewirkt, dass die Entscheidungen über Kommunikationsstandards eigentlich unabhängiger Akteure interdependent werden. ● Theorie der Netzeffekte: Mit zunehmender Bedeutung von IuK-Technologien wuchs der Bedarf, mit positiven Netzeffekten einhergehende Phänomene zu erklären und ihre Implikationen für (marktliche) Koordination und Effizienz zu untersuchen. So sind Märkte, auf denen Kompatibilität eine wichtige Produkteigenschaft ist (z. B. Software), stets auch Märkte, auf denen starke Netzeffekte zu finden sind. Prominente Beispiele für Marktversagen bei Netzeffekten sind der Sieg von VHS gegen Betamax oder die Verwendung der QUERTY-Tastatur trotz der Verfügbarkeit ergonomischerer Tastaturanordnungen. Allerdings sind diese Beispiele kontrovers diskutiert und nicht unwidersprochen.

        348

        7 Vernetzung als Wettbewerbsfaktor

        ▲ Folgen von Netzeffekten: Allgemein weisen Diffusionsprozesse von Produkten, die positiven Netzeffekten unterliegen, mehrere Gleichgewichte auf. Das bedeutet, dass bei der Verbreitung von Technologien und Standards letztendlich eines der alternativen Produkte monopolistisch den Markt beherrscht („Lock-in“). Ebenso gelten Netzeffektmärkte als instabil, es können tendenziell nur selten mehrere inkompatible Technologien koexistieren und der Umschwung zu der einen, marktbeherrschenden Technologie erfolgt plötzlich („tippy networks“). Nicht effiziente Marktergebnisse (Über- als auch Unterversorgung mit Standards) sind möglich. Unterversorgung („Excess Inertia“) kann dadurch entstehen, dass keiner das überproportionale Risiko einer frühen Auswahl treffen möchte, um nicht der Gefahr ausgesetzt zu sein, in einem schließlich zu kleinen Netz zu „stranden“. Überversorgung („Excess Momentum“) bspw. durch intertemporale Preisstrategien (Anbieter subventioniert frühe Käufer durch niedrige Preise und verlangt von späteren Konsumenten der dann wertvolleren Technologie entsprechend höhere Preise). ● Kritik an der Theorie der Netzeffekte: In jüngster Zeit mehren sich Kritikpunkte an traditionellen Ansätzen der Netzeffekttheorie. So scheitern sie regelmäßig an der Erklärung der beobachteten Vielfalt realer Diffusionsprozesse von Standards. Als Resultat lassen sich bedeutungsvolle Phänomene moderner Netzeffektmärkte, wie z. B. die Koexistenz verschiedener IT-Produkte trotz starker Netzeffekte, kleine aber stabile Cluster von Benutzern einer speziellen Lösung oder das Phänomen, dass starke Akteure in Kommunikationsnetzen andere Teilnehmer zwingen, bestimmte Softwarelösungen zu verwenden, nicht abbilden. Neuere Ansätze betonen daher die Bedeutung struktureller Netzwerkdeterminanten sowie der individuellen Verschiedenartigkeit der Wirkung von Netzeffekten. Für die Wettbewerbspolitik stellt sich u. a. die Frage, wie (und ob) sie bei möglicherweise effizienten Monopolen eingreifen soll.

        7.4.1

        Electronic Data Interchange (EDI)

        Seit den späten 60er-Jahren nutzen Unternehmen EDI (Electronic Data Interchange) zum elektronischen (meist auch unternehmensübergreifenden) Austausch strukturierter Geschäftsdokumente wie Bestellungen, Rechnungen etc. Im Gegensatz zur papiergebundenen Kommunikation ermöglicht EDI einen medienbruchlosen Informationsfluss zwischen verschiedenen Computersystemen. Auch heute ist EDI ein wichtiger Bestandteil z. B. im Supply Chain Management. Grundlage sind EDI-Standards, die Inhalt und Struktur der ausgetauschten Geschäftsdokumente festlegen. ▲ Unterschiedliche EDI-Standards: Aus branchen-, partner- und landesspezifisch unterschiedlichen Anforderungen entstand eine Vielzahl unterschiedlicher EDI-Standards und Insellösungen wie die vielen EDI-Standards in den unterschiedlichen Branchen (VDA in der Automobilindustrie, SWIFT in der Bankenbranche, SEDAS in der Konsumgüterwirtschaft) oder Ländern (z. B. TRADACOMS in England oder ANSI ASC X12 in den USA). Zur weltweiten Vereinheitlichung entwickelten die Vereinten Nationen und die weltweite Standardisierungsorganisation ISO als internationalen, branchenneutralen Standard UN/EDIFACT (EDI for Administration, Commerce and Transport, ISO 9755). Die Komplexität von EDIFACT führte zu der Entwicklung so genannter Subsets (anwendungsorientierte Untermengen). Wichtige (untereinander inkompatible) branchentypische EDIFACT-Subsets sind wie ODETTE (sollte nachträglich EDIFACT-konform werden) in der Automobilindustrie, CEFIC in der chemischen Industrie, EDIFICE in der Elektronikindustrie, EANCOM im Handel, EDICON in der Baubranche oder RINET in der Versicherungsbranche. ● Motivation der ersten EDI-Lösungen war die Erkenntnis, dass ein Großteil zwischen- wie innerbetrieblicher Kommunikation schriftlich erfolgt und dass ein Geschäftsdokument mehrere Stationen durchläuft. Dabei werden im jeweiligen Unternehmen die Dokumente in mehreren Etappen meist durch die eigenen computergestützten Systeme erstellt, ausgedruckt und an den Kommunikationspartner geschickt, wo das Dokument dann in das dortige Anwendersystem eingegeben wird. Es lassen sich leicht mehr als 20 Stationen identifizieren, in denen bereits vorhandene Daten neu eingetippt werden.

        7.4 Standardisierung und Standards

        349

        Es wird geschätzt, dass zwischen 70 % und 95 % aller in ein System neu einzugebender Inhalte mehrfach eingegeben werden, obwohl sie auf einem anderen System schon zur Verfügung stehen. Diese Mehrfacheingabe von Daten ist äußerst ineffizient, zeitraubend und fehleranfällig. ● Vorteile von EDI: Mit EDI ist es Geschäftspartnern möglich, direkt zwischen ihren Systemen zu kommunizieren und somit Prozesse zu automatisieren. Hierdurch können Kosten der jeweiligen Dokumentenverarbeitung reduziert werden, was unter anderem geringere Durchlaufzeiten ermöglicht. Allgemein resultieren Vorteile der Verwendung von EDI aus geringeren Kommunikationskosten. Die medienbruchlose Weiterverarbeitbarkeit der Daten reduziert Erfassungsfehler und -kosten. Die sofortige Verfügbarkeit und automatisierte Verwendung der Daten ermöglicht eine Automatisierung und Koordination verschiedenster Geschäftsprozesse und macht somit bspw. eine Just-in-TimeProduktion möglich. Dadurch kann ein Unternehmen seine Lagerhaltung drastisch reduzieren, die Kapitalbindung sinkt, es kann durch schnellere Informationen rascher auf geänderte Wettbewerbsverhältnisse reagieren. Ein weiterer Grund für die Nutzung von EDI liegt in der Möglichkeit, den Kunden besseren Service anbieten zu können (CRM). Typischerweise wird von branchenunabhängigen Kosteneinsparungen in Höhe von 5-6 % des Umsatzes oder einer Reduktion der Bruttoselbstkosten für Geschäftsdokumente in der Größenordnung 10:1 gesprochen. ▲ Im Zusammenhang mit elektronischen Märkten sind EDI-Standards z. B. zur Beschreibung von Katalogdaten und gemeinsamen Procurement-Anwendungen („collaborative commerce“) wichtig ▲ XML/EDI ist die Verwendung von XML zur Beschreibung von EDI-Nachrichten (siehe „XML/EDI“) ● Funktionsweise von EDI: Die Information über die Bedeutung des Inhaltes von EDI-Nachrichten ergibt sich aus der Position bzw. der Reihenfolge der jeweiligen Elemente einer Nachricht. ■ Anfang einer EDIFACT-Bestellung (EANCOM): UNB+UNOC:3+4331111111008:14+4121212120005:14+990519:1020+525+++++ EANCOM’ZNH+785+ORDERS:D:93A:UN:EAN007’BGM+220+014501234567’DTM+137: 19990519:102’ DTM+2:19990524:102’... ● Die EDIFACT-Regeln (ISO 9735) legen Zeichensatz, Wortschatz (Datenelemente und Datenelementgruppen) und Grammatik (Syntax, Anordnung von Datenelementen und Segmenten) fest. ● Eine EDIFACT-Nachricht ist unterteilt in Datenelemente, Datenelementgruppen und Segmente. Ein Datenelement ist der kleinste Baustein einer EDIFACT-Nachricht (z. B. Preis oder Artikelnummer). Eine Datenelementgruppe ist eine Zusammenfassung von Informationen, die in sachlichem oder logischem Zusammenhang stehen (z. B. Menge und Mengeneinheit). Datenelemente und Datenelementgruppen stehen innerhalb eines Segmentes immer an einer festgelegten Position, aufgrund derer sie identifiziert werden können. Ein Segment ist eine Zusammenfassung von Datenelementen und/oder Datenelementgruppen, die in einem logischen Zusammenhang stehen. Jedes Segment wird durch einen Segmentbezeichner identifiziert. • (’) ist Segment-Endzeichen (steht am Ende eines jeden Segmentes). • (+)-Zeichen ist Datenelement-Trennzeichen. Es trennt Segmentbezeichner am Anfang eines jeden Segmentes von den folgenden Datenelementen und diese wiederum voneinander. • (:) grenzt die Datenelemente innerhalb einer Datenelementgruppe voneinander ab. ▲ Die Bedeutung der jeweiligen Felder ist in zweimal pro Jahr publizierten Verzeichnissen festgelegt.

        So genannte Message Implementation Guides (MIGs) enthalten die Regelwerke zu den einzelnen Subsets. Dabei handelt es sich um einen Katalog aller möglichen Datenfelder an einer bestimmten Position sowie eine Aufzählung der möglichen Inhalte. ● Verbreitung von EDI: Trotz der Vorteile nutzen weniger Unternehmen EDI als erwartet. Der Hauptgrund liegt darin, dass vor allem kleine und mittelständische Unternehmen (KMU) die erheblichen Setup- und Betriebskosten traditioneller EDI-Lösungen scheuen. Verstärkend führt die Vielzahl unterschiedlicher und i. d. R. untereinander nicht kompatibler EDI-Standards zu Unsicherheit. Vor diesem

        350

        7 Vernetzung als Wettbewerbsfaktor

        Hintergrund ist traditionelles EDI als Einsparpotenzial vornehmlich Großunternehmen vorbehalten, die durch hohe Transaktionsvolumina einen höheren Nutzen aus verbesserten Geschäftsprozessen realisieren können als die kleineren Partner früher in der Wertkette. So nutzen 52 % der deutschen und 75 % der amerikanischen Großunternehmen EDI, 98 % der Nicht-Fortune 1.000 hingegen nicht. Deutsche Großunternehmen verwenden hierbei EDI mit 21% ihrer Geschäftspartner und erwirtschaften damit 38 % ihrer Umsätze. Mit webbasiertem EDI (WebEDI) und XML/EDI sollen diese Kosten gesenkt werden.

        7.4.2

        HTML

        HTML (Hypertext Markup Language) ist die Auszeichnungssprache, deren Einfachheit den Siegeszug des World Wide Web (WWW) zu Beginn und Mitte der 90er-Jahre ermöglichte. ▲ 1989 entwickelte Tim Berners-Lee am Forschungszentrum der Europäischen Organisation für Kernforschung, CERN, HTML mit dem primären Ziel, den Austausch wissenschaftlicher Dokumente zu unterstützen, insbesondere mit der Möglichkeit, auf physikalisch entfernte (Literatur-)Quellen zu verweisen. ● HTML besteht aus „Tags“ (Auszeichnern) im Text, die dem Browser anzeigen, wie die von ihnen umschlossenen Dokumententeile darzustellen sind (siehe auch Abschnitt 1.6.2). • XML ist keine Kleidergröße ist eine Anweisung für jeden Browser, den eingeklammerten Text als Überschrift Heading erster Ordnung zu formatieren, also bspw. in Schriftgröße 24, fett, Times New Roman. • Neben Überschriften können so normale Textabschnitte, Tabellen etc. definiert werden. HTML ist damit eine Präsentationsbeschreibungssprache, deren großer Vorteil in ihrer Einfachheit liegt. ▲ Eine HTML-Referenz, die alle Tags beschreibt, ist SELFHTML

        (http://www.teamone.de/selfhtml/selfhtml.htm). ● HTML-Dilemma: Der Preis für die Einfachheit von HTML ist die begrenzte Einsatzmöglichkeit für Datenaustausch anstelle reiner Datenpräsentation. HTML-Daten sind nicht maschinenverständlich und können somit nicht automatisch verarbeitet werden. Die Defizite von HTML sind insbesondere: • Erweiterbarkeit: HTML erlaubt weder die Definition eigener Tags noch das Spezifizieren individueller Attribute zur semantischen Auszeichnung von Daten. Ein HTML-Dokument enthält nur Informationen, wie Inhalte darzustellen sind; weitergehende Informationen über die Semantik des Inhalts sind nicht abbildbar. • Struktur: In HTML können keine Datenstrukturen jenseits von Formatinformationen beschrieben werden. Der Zusammenhang der Daten untereinander ist nicht beschreibbar. • Validierung: HTML fehlen Sprachspezifikationen, die eine Überprüfung der strukturellen Validität der Daten erlauben. Anwendungen, die HTML-codierte Daten verarbeiten sollen, können daher nicht die Korrektheit der Struktur des Markup in HTML-Dokumenten überprüfen.

        7.4.3

        XML

        ● XML (Extensible Markup Language) ist eine textbasierte Meta-Auszeichnungssprache, die die Beschreibung, den Austausch, die Darstellung und die Manipulation von strukturierten Daten erlaubt, sodass diese von einer Vielzahl von Anwendungen genutzt werden können. XML ist im Gegensatz zu HTML eine Metasprache, die auf SGML (Standard Generalized Markup Language, ISO 8879) basiert. XML ist „extensible“, da es sich im Gegensatz zu HTML nicht um ein festes Format im Sinne einer bestimmten Auszeichnungssprache, sondern vielmehr um eine Metasprache handelt, die Vorschriften bereitstellt, eine beliebige Vielzahl konkreter Auszeichnungssprachen für die verschiedensten Arten von Dokumenten zu definieren.

        7.4 Standardisierung und Standards

        351

        ▲ Metasprache: Als Metasprache stellt SGML (wie XML) Vorschriften bereit, um Auszeichnungssprachen formal zu definieren. SGML dient seit über 10 Jahren als Basis für die verschiedensten Auszeichnungssprachen (u. a. HTML bis zur Version 4) auf diversen Medien und enthält deswegen Sprachmittel für unterschiedlichste Zwecke und ist damit eine äußerst flexible (aber auch komplexe) Architektur, mit der Dokumente für beliebige Medien aufbereitet werden können, ohne die Struktur der Daten zu verlieren. ▲ Neben der Unterstützung des Dokumentenaustauschs ermöglicht XML allgemein die flexible Weiterverwendung von Daten und ist die Grundlage für eine Verwendung von Metadaten, was u. a. zu einer erhöhten Interoperabilität unterschiedlicher Anwendungen und mächtigen Retrievalmöglichkeiten führt. ▲ Neue Versionen von HTML sind eine Anwendung von XML Das Grundkonzept von XML ist die Trennung von Inhalt, Struktur und Layout. XML-Dokumente unterscheiden sich auf den ersten Blick nicht wesentlich von HTML-Dokumenten. Auch XML-Dokumente bestehen aus Inhalten, die durch Tags ausgezeichnet sind. Während die Anzahl und Benennung der Tags für HTML aber vorgegeben sind, können für XML-Dokumente beliebig viele und frei („semantisch“) benannte Tags verwendet werden. Somit besteht der wesentliche Unterschied darin, dass die Auszeichner Informationen über den Inhalt enthalten können und die Verschachtelung der Tags ineinander die Struktur der Daten abbilden kann. ■ HTML:

        Bosak, Jon XML, Java, and the future of the Web

        ■ XML: Bosak, Jon XML, Java, and the future of the Web Die Bedeutung des Inhaltes der Tags zeigt sich in der semantischen Auszeichnung, die Verschachtelung gibt die Struktur der Daten wieder, im Beispiel hat der Artikel einen Titel und einen Autor. Während HTMLDokumente in erster Linie beschreiben, wie der Inhalt der Tags darzustellen ist, kann ein XML-Dokument also Aussagen über die Bedeutung des Inhaltes enthalten. ▲ XML unterscheidet sich in den folgenden drei Punkten grundsätzlich von HTML: • Tags („Elemente“) und deren Attribute können individuellen Anforderungen entsprechend definiert und benannt werden. • Dokumentenstrukturen können in beliebiger Komplexität abgebildet werden. • XML-Dokumente können – müssen aber nicht – eine formale Beschreibung ihrer Grammatik enthalten (DTD, Schema). ▲ Alle XML-Dokumente müssen wohlgeformt sein, d. h. sie müssen bestimmten syntaktischen Regeln der XML-Sprachspezifikationen gehorchen. Die wichtigsten dieser Regeln sind: • Am Anfang des Dokumentes sollte der Hinweis auf die XML-Version erfolgen: ■

        • Jeder geöffnete Tag muss explizit geschlossen werden. ■ Bosak, Jon

        • Tags ohne Inhalt (wie z. B. in HTML) werden in XML geschlossen. ■ explizit oder kurz als

        • Das Markup muss, wie bei mathematischen Klammern, streng hierarchisch gegliedert sein. Es darf also keine überlappenden Elemente geben. ● Darüber hinaus können XML-Dokumente gültig sein. Dann wird ihre Grammatik, also Art und Struktur der verwendeten Elemente, in Document Type Definitions (DTD) oder XML Schemata ausgedrückt. • Eine DTD kann in das XML-Dokument selber eingefügt werden oder mittels eines Links referenziert werden, z. B. mit: . In der DTD

        352

        7 Vernetzung als Wettbewerbsfaktor wird festgelegt, welche Tags verwendet werden können und wie diese ineinander geschachtelt werden (Inhaltsmodell). Mithilfe der DTD ist es Programmen nun möglich, ein XML-Dokument auf strukturelle Fehler zu überprüfen oder eine neue Instanz dieses Dokumenttyps zu bilden. • Dabei dient die DTD als allgemeines Muster, das Angaben enthalten kann, welche der Elemente durch eine Instanz benutzt werden müssen oder welche beliebig häufig (also gar nicht, einmal oder mehrfach) erscheinen dürfen. Mit Schemata können darüber hinaus Datentypen, Vererbungsmechanismen etc. verwendet werden. • Darstellung eines XML-Dokumentes mithilfe von Style Sheets. Auf Style Sheets wird durch entsprechende processing instructions verwiesen, z. B.: . ● Zwei Style Sheet Sprachen möglich: Extensible Style Sheet Language (XSL) und von Cas-

        cading Style Sheets (CSS). XSL unterstützt auch Programmelemente, und Dokumente können transformiert werden (z. B. mit XSLT von XML zu HTML). ▲ Informationen zu XML (Tutorials, Tools, Standards etc.): http://xml.cnec.org

        7.4.4

        XML/EDI

        XML/EDI ist die Verwendung von XML als Datenformat für den elektronischen Austausch von Geschäftsdokumenten. Zusammen mit der Verwendung allgegenwärtiger Internettechnologie, Clients (Browser) etc. ist die Hoffnung verbunden, die mit traditionellem EDI verbundenen Kosten deutlich zu senken und KMU in Wertketten zu integrieren. ▲ Da XML-Tags frei benennbar sind, gibt es letztlich unendlich viele Möglichkeiten, Geschäftsdokumente zu beschreiben. Jeder kann sich den eigenen Anforderungen am besten entsprechende XML-Sprachen definieren. So gibt es eine Bioinformatic Sequence Markup Language (BSML) zur Beschreibung von Gensequenzen, das Weather Observation Markup Format (OMF) für Wetterberichte oder die Financial Products Markup Language (FpML) für Finanzderivate. Es ist wichtig zu sehen, dass XML nur ein syntaktischer Standard ist, die Semantik (also die Benennung der Tags) kann sich auch nach EDIFACT richten: ■ Beispiel EDIFACT:

        UNH+ELFE0000001+INVOIC:D:95A:UN:ETEB+1:C’ ■ „Übersetzung 1“ in XML:

        ELFE0000001

        INVOIC D ........ .................

        ■ „Übersetzung 2“ in XML (angelehnt an deutsche EDI-Gesellschaft (DEDIG)):

        7.5 Sicherheit

        7.5

        353

        Sicherheit

        Vernetzung, speziell über das Internet, bringt neben Chancen auch erhebliche und u. U. unternehmensgefährdende Risiken mit sich, etwa wenn Informationen an Wettbewerber fallen. Trotzdem ist vollständige Abschottung nicht sinnvoll, denn es geht auch darum, das Vertrauen von Partnern und Kunden zu gewinnen und zu pflegen. ● Da Sicherheit eng mit den Interessen der Beteiligten verbunden ist und diese (etwa im Kunden-Lieferanten-Verhältnis) konfligieren können, ist „Mehrseitige Sicherheit“ wichtig, die die Interessen nicht nur einer Seite berücksichtigt. ● Sicherheit ist vielfach eine zu den sonstigen Funktionen des Systems querliegende Aufgabe und muss bereits beim Systementwurf mitgedacht werden. ● Sicherheit lässt sich im Regelfall nicht „herausmodularisieren“. Die Maßnahmen und Techniken müssen in die sonstige Technik und Organisation integriert werden. ● Da Sicherheit mit einer Vielfalt von „Trade-Offs“, speziell bei der Wahl der jeweiligen Schutzniveaus, zu tun hat, ist sie in der Praxis letztendlich oft anwendungsspezifisch. ● Essentiell für den Entwurf einer Sicherheitsarchitektur ist, sich klar zu machen, • was (welche Prozesse, Informationen, Institutionen) zu schützen ist, • wem (welche Prozesse, Informationen, Institutionen, Technologien) man wie weit und unter welchen Umständen traut und • welche Risiken und Angriffsmöglichkeiten bestehen. ● Werden Sicherungsmaßnahmen ergriffen, ist auf ihre Wechselwirkung untereinander und mit anderen Unternehmenszielen, etwa der Kundenfreundlichkeit zu achten. Leider wird in der Praxis vielfach gegen diese Prinzipien verstoßen, weswegen man in halbfertigen oder laufenden Systemen im Regelfall konfrontiert ist mit: ▲ Nachträglich aufgesetzten Sicherungsmaßnahmen, die • den Geschäftsgang hemmen, • grundsätzliche Schwächen haben (z. B. Firewalls), • mit vergleichsweise geringem Aufwand umgangen werden können oder • stets nachgebessert bzw. aktualisiert werden müssen (z. B. Virenscanner), was teuer und fehlerträchtig ist. ▲ Mangelndem Problemverständnis und Gläubigkeit des Managements an einzelne Mechanismen („Wir haben Firewalls und Verschlüsselung, damit sind wir doch sicher, oder? “) Sicherheit für vernetzte Systeme muss überall ansetzen, wo Informationsverarbeitung vor, während und nach der jeweiligen Transaktion stattfindet und auch die Beschaffung der benötigten Sicherheitstechnik berücksichtigen, speziell wenn diese von Nichtexperten benutzt werden soll. Dieses Kapitel gibt eine Übersicht über die wohl wichtigsten „Baustellen“und nennt zum Abschluss einige wesentliche Prinzipien.

        7.5.1

        Verschlüsselung

        Verschlüsselungsverfahren sind die Basis für sehr viele Sicherheitstechniken und -maßnahmen. Zwei prominente Anwendungen sind einerseits der Schutz der Vertraulichkeit und andererseits digitale Signaturen. ● Klassisch werden zum Schutz der Vertraulichkeit symmetrische Verfahren (z. B. DES, IDEA oder AES) eingesetzt, bei denen für Ver- und Entschlüsselung der gleiche Schlüssel verwendet wird. Ihr Vorteil ist die hohe Verarbeitungsgeschwindigkeit. Ihr Nachteil ist, dass mit jedem Kommunika-

        354

        7 Vernetzung als Wettbewerbsfaktor

        tionspartner ein Schlüssel vereinbart werden muss und alle diese Schlüssel geheim gehalten werden müssen. ● Asymmetrische Verfahren wie RSA sind zwar langsamer aber bezüglich der Schlüsselverwaltung überlegen. Hier muss jeder Nutzer N nur ein Paar aus einem öffentlichen und einem privaten Schlüssel verwalten. N’s öffentlicher Schlüssel wird möglichst breit verteilt. Mit ihm können beliebige Nutzer Nachrichten an N so verschlüsseln, dass sie nur mit N’s privatem Schlüssel gelesen werden können. ● Asymmetrische Verfahren eignen sich auch besser für digitale Signaturen: Verschlüsselt N eine Nachricht mit seinem privaten Schlüssel, können andere Nutzer mithilfe von N’s öffentlichem Schlüssel prüfen, ob die Nachricht von N kam, denn so lange er seinen privaten Schlüssel nicht preisgibt, kann diese Verschlüsselung nur von ihm stammen. ▲ Nicht alle asymmetrischen Verfahren erlauben, dass N denselben privaten Schlüssel zum Lesen empfangener Nachrichten verwendet, den er zum Signieren einsetzt, denn nicht bei allen Verfahren sind die Ver- und Entschlüsselungsoperationen kommutativ. ■ In der Praxis werden zumeist hybride Verfahren eingesetzt (z. B. „Pretty Good Privacy“). Sie verschlüsseln die eigentliche Nachricht mithilfe eines schnellen symmetrischen Verfahrens und den dazu verwendeten Schlüssel dann mithilfe eines asymmetrischen Verfahrens. ▲ Alle bislang existierenden und praktisch verwendbaren Verfahren bieten nur Schutz auf Zeit: Verschlüsselte Inhalte können auch ohne Kenntnis des verwendeten Schlüssels entschlüsselt werden, wenn genug Zeit und Rechenkapazität vorhanden ist. Die Sicherheit der gegenwärtigen Verfahren beruht darauf, dass solche Angriffe Jahre bis Jahrhunderte dauern würden, jedenfalls wenn die Rechentechnik sich künftig ähnlich weiterentwickelt wie in der Vergangenheit. ■ Neue Rechnerkonzepte oder Fortschritte in der Mathematik verlangen jedoch ggf. neue Abschätzungen. Beispielsweise erleichterte das „Number Field Sieve“-Verfahren die Zerlegung großer Zahlen in Primfaktoren erheblich und machte die Entschlüsselung eines mit einem 512 Bit langen RSA-Schlüssel verschlüsselten Textes weit schneller möglich als zuvor erwartet. ● Es bietet sich deshalb an, Verschlüsselungsverfahren als Module oder in Programmbibliotheken zur Verfügung zu stellen, um untauglich gewordene Verfahren möglichst einfach austauschen zu können. ● Bei der Beurteilung der Tauglichkeit ist zu berücksichtigen, wie lange der Schutz der zu schützenden Daten vorhalten soll, z. B. für wie lange sichergestellt werden kann, dass die Verfälschung eines Dokumentes bei der Signaturprüfung auffällt. Eine oft unterschätzte Aufgabe ist das Schlüsselmanagement: ● Erzeugen Nutzer ihre Schlüssel selbst, müssen sie selbst für deren Qualität sorgen, z. B. prüfen, ob ein Schlüssel „zufällig“ schwach ist, weil seine mathematischen Eigenschaften nicht mit denen des eingesetzten Verfahrens harmonieren und ob der Schlüsselgenerator manipuliert ist. Lassen Nutzer ihre Schlüssel von jemand anderem erzeugen, müssen sie darauf vertrauen, dass dieser die Schlüssel entweder nicht vorhält oder nicht missbraucht. Es bieten sich Verfahren an, in denen selbst und von anderen erzeugte Schlüsselteile zu einem Schlüssel kombiniert werden. ● Generell ist die sichere Aufbewahrung von Schlüsseln nicht einfach. An das Internet angeschlossene handelsübliche PCs bieten z. B. kaum Schutz gegen ein heimliches Kopieren der Schlüssel. Schlüssel sollten daher mindestens durch Passworte geschützt, besser in vertrauenswürdigen Geräten gespeichert werden. ▲ Große Industrienationen, etwa die USA, beschränken den Export von Verschlüsselungsprogrammen aus Gründen der nationalen Sicherheit. Es dürfen i. Allg. nur vergleichsweise schwache Verfahren bzw. Verfahren, die wegen beschränkter Schlüssellänge nur reduzierte Sicherheit bieten, exportiert werden. Man muss also damit rechnen, dass exportierbare Verfahren den jeweiligen Nachrichtendiensten und vergleichbaren Organisationen wenig Schwierigkeiten bereiten.

        7.5 Sicherheit

        7.5.2

        355

        Schlüsselzertifizierung und -infrastrukturen

        Wer den öffentlichen Schlüssel einer Person benutzt, etwa um eine Nachricht an sie vertraulich zu halten oder eine von ihr signierte Nachricht zu prüfen, muss sich darauf verlassen können, dass dieser Schlüssel wirklich der öffentliche Schlüssel dieser Person ist. Diese Zuordnung sicher zu treffen, ist nicht trivial. ▲ Nicht ausreichend ist z. B., einfach den öffentlichen Schlüssel von einer WWW-Seite zu laden, denn diese kann unerkannt manipuliert worden sein. Um die Zuordnung zwischen Schlüssel und Person zu bestätigen, werden öffentliche Schlüssel zertifiziert, d. h. jemand prüft die Zuordnung und unterschreibt mithilfe seines eigenen privaten Schlüssels den öffentlichen Schlüssel der jeweiligen Person. Zwei Strategien bezüglich Zertifizierung und davon abhängende Schlüsselinfrastrukturen (Public Key Infrastructures, PKI) lassen sich unterscheiden: 1. „Webs of Trust “: Nutzer lassen ihre Schlüssel von möglichst vielen anderen Nutzern bei persönlichen Treffen zertifizieren und zertifizieren ihrerseits die Schlüssel ihrer Gegenüber. Vorteil von „Webs of Trust“ ist, dass keine Dienstleistung in Anspruch genommen werden muss und einander vertraute Gruppen unkompliziert sicher kommunizieren können. Nachteil ist, dass bei Neukontakten ein „gemeinsamer Nenner“ oft nur über Umwege oder gar nicht zu finden ist. 2. Hierarchische Zertifizierung: Die öffentlichen Schlüssel einer bekannten und anerkannten Zertifizierungsstelle (Wurzelzertifizierungsinstanz) werden über verschiedene Medien weit bekannt gemacht, z. B. in amtlichen Veröffentlichungen gedruckt oder in WWW-Browser integriert. Auf diese Weise lassen sich von dieser Stelle zertifizierte Schlüssel sehr einfach prüfen. Verschiedene organisatorische Formen von Zertifizierungshierarchien existieren: 1. Staatlich verankerte und geregelte Zertifizierungshierarchien: Mit dem deutschen Gesetz zur digitalen Signatur (SigG) wurde eine teilstaatliche Zertifizierungshierarchie etabliert. Die dem BMWi zugeordnete Regulierungsbehörde für Telekommunikation und Post (RegTP) fungiert als Wurzelzertifizierungsinstanz. Die RegTP genehmigt private Zertifizierungsstellen und zertifiziert ihre Schlüssel, sodass diese Unternehmen dann Endverbrauchern Zertifikate ausstellen können. Wegen der höheren technischen Anforderungen sind SigG-konforme Signaturen, was ihren Beweiswert angeht, privilegiert. 2. Selbstgeregelte allgemein nutzbare Zertifizierungshierarchien: Beispiele sind die Policy Certification Authority (PCA) für das Deutsche Forschungsnetz und die US-Firma Verisign sowie die deutschen Firmen T-TeleSec und TC-TrustCenter. Das Identrus-Projekt koppelt die Zertifizierung mit Garantien zu den anvisierten Zahlungsflüssen. 3. Firmeninterne Zertifizierungshierarchien: Firmenintern zu zertifizieren, lohnt sich insbesondere dann, wenn die Nutzeridentitäten einfacher vor Ort im Unternehmen geprüft werden können als durch einen externen Anbieter. Aufgabe von Zertifizierungsinstanzen ist auch die Verwaltung und Veröffentlichung widerrufener Zertifikate. Der Aufwand hierfür ist erheblich, und es sind noch einige Probleme offen, z. B.: ▲ Um Schaden zu vermeiden, kommt es ähnlich wie bei der Sperrung von Kreditkarten, auf eine schnelle Reaktion und eine sorgfältige Information der „Akzeptanzstellen“, also der Prüfer digital signierter Dokumente, an. ▲ Weil der Sperrvorgang trotz aller Bemühungen nicht in Nullzeit durchführbar wird, ist es wichtig, aber nicht trivial, gerecht festzulegen, ab wann eine Sperrung gültig ist.

        7.5.3

        Schutz von Kommunikation über das WWW

        Sichere Kommunikation über das WWW setzt zunächst voraus, dass der Client weiß, ob der Server wirklich der ist, der er vorgibt zu sein (Authentizität), evtl. auch, dass der Server weiß, um wen es sich bei dem Client handelt. Weiterhin ist es nötig, dass Client und Server vertraulich Daten austauschen können.

        356

        7 Vernetzung als Wettbewerbsfaktor

        ▲ Am weitesten verbreitet sind das „Secure Sockets Layer“-Protokoll (SSL) und das darauf basierende ähnliche „Transport Layer Security“-Protokoll (TLS). Sie sichern die Kommunikation auf der Internet-Transportebene mithilfe eines so genannten „Handshake“ zur Authentisierung und zum Schlüsselaustausch und sind Beispiele für die Nutzung von Schlüsselinfrastrukturen: 1. Der Client meldet sich an und schlägt vor, welche Verschlüsselungsverfahren zum Schutz der Kommunikation eingesetzt werden können. 2. Der Server antwortet mit einer Auswahl von Verfahren (denen, die er unterstützt) und authentisiert sich mithilfe eines Zertifikates. Abhängig von dem ausgewählten Verschlüsselungsprotokoll sendet der Server auch seinen Beitrag zur Erzeugung des Sitzungsschlüssels für die eingesetzte Verschlüsselung. 3. Der Client kann das Zertifikat prüfen und sich vergewissern, dass der Server authentisch ist. Gegebenenfalls sendet er seinerseits ein Zertifikat, damit auch der Server weiß, mit wem er es zu tun hat. Auf jeden Fall übermittelt er dem Server, dessen öffentlichen Schlüssel er nach Schritt 2 kennt, geschützt einen Schlüssel für ein symmetrisches Verschlüsselungsverfahren, sodass beide vertraulich kommunizieren können. Client

        Server Vorschlag von Verschlüsselungsverfahren

        1 Server-Zertifikat, Auswahl von Verschlüsselungsverfahren, ggf. Beitrag zur Ermittlung des Sitzungsschlüssels 2 evtl. Client-Zertifikat, ggf. Beitrag zur Ermittlung des Sitzungsschlüssels 3

        Geschützte Daten 4

        Authentisierung und Verschlüsselung zwischen Client und Server mittels SSL/TLS Der Handshake ist so in das Zusammenspiel von TCP und HTTP integriert, dass Nutzer davon im Erfolgsfall nur das bemerken, was ihr Browser als Symbol für eine abgesicherte Kommunikation anzeigt (z. B. ein geschlossenes Vorhängeschloss). ▲ Ein Schutzmechanismus, der bei SSL fehlt, ist die verbindliche Signierung, etwa von Garantiezusagen. SSL sichert lediglich den Transport der WWW-Seiten zum Client, einen Dokumentencharakter bekommen sie dadurch nicht.

        7.5.4

        Sichere Anbindung an das Internet

        Grundlage sicherer Vernetzung ist eine sichere Anbindung an das Internet. Sie verlangt oft spezielle Rechner und eine geeignete Architektur. Eine sichere Internetanbindung kann auch als Basis für ein Virtual Private Network zur Verbindung räumlich getrennter, interner Netze dienen. Schließlich mehren sich Ansätze zur Einbruchserkennung und Bewachung.

        7.5 Sicherheit

        357

        Elemente einer sicheren Anbindung an das Internet 1. Firewalls: Firewalls dienen entsprechend ihrem Namen als „Brandschutzmauern“ zwischen einem zu schützenden internen Netz und einem (öffentlichen) Netz, auf das der Betreiber der Firewall keinen Einfluss hat, etwa dem Internet. Im Allgemeinen schützen Firewalls das interne Netz durch Filterung und Protokollierung des Nachrichtenverkehrs. Ziele der Einrichtung einer Firewall sind z. B.: ● Schutz des internen Netzes gegen unbefugten Zugriff von außen, ● Schutz der Vertraulichkeit, Integrität und Verfügbarkeit der lokal übertragenen und gespeicherten Daten, ● Schutz der Integrität und Verfügbarkeit der lokalen Netzkomponenten (z. B. Informationsserver) und ● Schutz vor Angriffen, die neue sicherheitsrelevante Schwachstellen, speziell in Betriebssystemen, ausnutzen, durch Reduzierung der Zahl exponierter Rechner. Da im Internet die Zahl potenzieller Angreifer und deren Kenntnisstand sehr hoch ist, ist dieses Ziel von besonderer Bedeutung. Zwei Typen von Firewalls lassen sich unterscheiden. • Paketfilter setzen an den unteren Internet-Protokollschichten (TCP, IP) an und leiten entsprechend den jeweiligen Regeln Pakete weiter oder fangen sie ab. • Ein Application-Gateway ist der jeweiligen Anwendung vorgeschaltet, kennt das entsprechende Anwendungsprotokoll (z. B. bei Proxy-Servern HTTP) und erlaubt oder verbietet Verbindungen bzw. die Kommunikation auf Anwendungsebene. ▲ Der Einsatz von Firewalls ist nicht unproblematisch: Wer die Firewall kontrolliert (auch als Angreifer), kontrolliert den gesamten Verkehr zwischen internem Netz und Internet und hat außerdem Zugriff auf die Protokolldaten. Aus diesem Grund bietet sich eine Abstufung und Verteilung von Funktionen an. Organisationsweite Firewalls vertragen sich nicht mit dem Einsatz von Ende-zuEnde-Verschlüsselung von Nutzer zu Nutzer, denn sie können nur lesbare Dateien (etwa MailAttachments) filtern, nicht jedoch verschlüsselte.

        358

        7 Vernetzung als Wettbewerbsfaktor

        2. Screened Subnets: Screened Subnets, auch „Demilitarisierte Zonen (DMZ)“ genannt, haben vor allem zwei Funktionen: (a) Sie beherbergen Funktionalität, die weder ganz intern noch ganz extern ist, und erlauben so eine Staffelung des Schutzes: Ein WWW-Server, auf den bestimmte Zugriffe erlaubt sein sollen, kann so durch einen Paketfilter geschützt werden, das interne Netz durch einen zweiten, schärferen. Außerdem legt die Überwindung einer Firewall noch nicht das ganze Netz bloß. (b) Sie erlauben die Abtrennung und Auslagerung komplexer, etwa rechen- oder wartungsintensiver, Funktionalität aus der Firewall, z. B. eines zentralen Virenscanners zur Kontrolle von E-MailAttachments oder aus dem Internet geladenen Dateien (vorausgesetzt diese sind nicht verschlüsselt). 3. Virtual Private Networks: Oft sind räumlich getrennte interne Netze einer Organisation und deren Verbindung zu schützen, etwa die internen Netze verschiedener Filialen eines Unternehmens. Klassisch wurden dafür Leitungen angemietet und deren Sicherung dem Telekommunikationsanbieter überlassen. Falls man sich auf keinen Anbieter verlassen oder aus Kostengründen das Internet nutzen will, kann man das unsichere Netz „durchtunneln“. Die wichtigste Funktionalität ist dabei der Schutz vor Abhören der übertragenen Daten. Meist wird dazu das IP um eine Verschlüsselungsfunktion angereichert. Diese Funktionalität kann auch in einer Firewall untergebracht werden. 4. Einbruchserkennung: Mit Firewalls verwandt sind einbruchserkennende Systeme (Intrusion Detection Systems, IDS). Sie beobachten und protokollieren Aktivitäten in Rechnern und Netzen, um so Einbrüche möglichst frühzeitig zu erkennen und die Verwalter zu alarmieren. Zwei Kategorien von Systemen lassen sich unterscheiden: (a) Missbrauchserkennende Systeme: Charakteristika von Angriffen, etwa bestimmte Kommandofolgen zur Erlangung von Administratorrechten, werden entdeckt. (b) Anomalieerkennende Systeme: Nach einer „Lernphase“ werden Abweichungen von üblichem (Nutzer-)verhalten entdeckt. ▲ Wegen ihrer umfangreichen Datenerfassung und intensiven Auswertung von Nutzerdaten sind IDS nicht unproblematisch. Es wird deshalb an Systemen gearbeitet, die Protokolldaten verschlüsselt erheben und nur im Alarmfall dem Administrator zukommen lassen.

        7.5.5

        Schutz von Anonymität und Unbeobachtbarkeit

        Nicht jeder Internet-Nutzer will, dass seine Interessen und sein Nutzungsverhalten anderen (etwa den Betreibern eines aufgesuchten WWW-Servers oder den Anbietern eines E-Mail-Dienstes) bekannt werden. Darum entwickelt sich ein Markt für den Schutz der Anonymität und Unbeobachtbarkeit von Kommunikation. ■ Einfache Dienste wie der Anonymizer arbeiten als Proxidienst. Nutzer rufen die von ihnen gewünschte WWW-Seite nicht direkt auf, sondern über ein Formular auf der Anonymizer-WWW-Seite. Der Anonymizer ruft dann die gewünschte Seite auf, filtert sämtliche potenziell identifizierenden Informationen und Abfragen (etwa Cookies) und präsentiert die Seite dem Nutzer. Dieser kann so vor dem Betreiber der Seite anonym bleiben. Natürlich liegen aber alle Informationen beim Betreiber des Anonymizers vor und die Nutzer müssen ihm vertrauen. Fortgeschrittene Konzepte zwingen die Nutzer nicht, einer einzelnen Instanz vertrauen zu müssen und sichern auch die Unbeobachtbarkeit des Nutzers vor dem Anbieter des Kommunikationsdienstes. Sie basieren im Kern auf dem Konzept „Mixe“ und verschleiern den Weg von Nachrichten (und damit die Verbindung zwischen Sender und Empfänger): 1. Nachrichten werden über eine Anzahl von Knotenrechnern (Mixe) umgeleitet, bevor sie ihren Empfänger erreichen.

        7.5 Sicherheit

        359

        2. Geeignete Verschlüsselung beim Nutzer und Umverschlüsselung in jedem Mix hindert selbst starke Beobachter, die alle physischen Verbindungen überwachen können, die Nachrichten zu verfolgen, denn sie bemerken nicht, wann eine bestimmte Nachricht einen Mix verlässt. 3. Ein Mix weiß zu jeder Nachricht nur, von wem er sie erhielt und an wen er sie weiterreicht. Arbeiten Mixe mit dem Beobachter zusammen, ist dies keine Gefahr, so lange wenigstens ein benutzter Mix unbestechlich bleibt. Der Schutz für die Nutzer bestimmt sich also nach dem stärksten, nicht dem schwächsten Glied der Mix-Kette, und die Nutzer können selbst auswählen, welche und wie viele Mixe sie in die Kette aufnehmen. ■ Eine recht einfach via WWW zugängliche Realisierung des Mixkonzeptes für E-Mail ist das Mixmaster-Remailer-System. Der einfache Zugang hat allerdings den Nachteil, dass der Betreiber der Zugangsseite die Nachricht und die ausgewählten Mixe erfährt. Außerdem werden die verfügbaren Remailer i. Allg. ehrenamtlich betrieben, sodass sie gelegentlich nicht verfügbar sind. ■ Das System „Freedom“ der Firma Zero-Knowledge, die erste kommerzielle Implementierung des MixKonzeptes, versucht die Einschränkungen des Mixmaster-Systems zu überwinden. Es setzt auf der TCPIP-Ebene an und unterstützt die meisten Internet-Anwendungsprotokolle, u. a. HTTP, Telnet und POP3.

        7.5.6

        Mehrseitig sichere Zahlungssysteme

        Leistungserbringer wollen sicher sein, eine Zahlung zu erhalten. Zahler wollen einerseits sicher sein, dass ihr Geld nicht unbegründet abfließt und verschwindet. Andererseits wollen sie (gerade bei anonym und unbeobachtbar in Anspruch genommenen Leistungen) vermeiden, dass ihre Aktivitäten über den Bezahlweg verfolgbar werden. ● Meist versuchen elektronische Zahlungssysteme, die Partner möglichst klar zu identifizieren und den Bezahlvorgang möglichst nachvollziehbar zu dokumentieren, um ihn ggf. wieder rückabwickeln zu können. Oft basieren sie auf einer PKI, die die Kommunikation zwischen Käufern, Händlern und Zahlungssystembetreibern (etwa Banken oder Kreditkartenorganisationen) sichern soll. ■ Ein Beispiel ist die von MasterCard und Visa initiierte „SET Secure Electronic Transaction“-Spezifikation, die Autorisierung und Abwicklung von Kreditkartentransaktionen über das Internet schützt. ● Systeme wie ecash ahmen Bargeld in digitaler Form nach und schützen die Käufer davor, dass der Zahlungssystembetreiber erfährt, wie und wo sie ihr Geld ausgeben. Der Zahlungssystembetreiber signiert Geld so, dass zwar Zahlungsempfänger das Geld prüfen und beim Betreiber einlösen können, dieser jedoch nicht erfährt, von wem das Geld ursprünglich kam, so lange es nicht mehrfach ausgegeben wird.

        7.5.7

        Nutzbare Verhandlungs- und Verknüpfungsmechanismen

        Verhandlungsmechanismen sind immer dann nötig, wenn die Sicherheitsanforderungen verschiedener Parteien nicht trivial kompatibel sind oder wenn die Partner zwischen verschiedenen Angeboten der jeweils anderen Seite auswählen müssen. Verknüpfungsmechanismen binden Transaktionsphasen oder deren Elemente zusammen, speziell wenn diese asynchron sind. ■ Erreichbarkeitsmanagement ermöglicht Verhandlungen, ob und unter welchen Bedingungen ein Telefonanruf beim Angerufenen durchdringt und z. B. ein (möglicherweise störendes) Klingeln auslöst. Dies kann u. a. von der Zeit des Anrufs abhängig gemacht werden oder davon, dass der Anrufer die Dringlichkeit seines Anrufes verdeutlicht hat. Sicherheitsmanagement erlaubt, über die Sicherheitseigenschaften des Telefonats zu verhandeln, etwa ob es verschlüsselt werden soll oder ob der Angerufene dem Rufer eine Quittung erstellt.

        360

        7 Vernetzung als Wettbewerbsfaktor

        ■ Das „Basis-Kooperations“-Protokoll ermöglicht, Nachrichten verschachtelt zu signieren. Die Nachrichten (etwa ein Angebot eines Händlers, die entsprechende Bestellung eines Kunden und die Lieferzusage des Händlers) werden so zu einem von den Partnern signierten Vertrag verknüpft. ■ Im Projekt SEMPER wurde der Prototyp eines „Fair Internet Trader“ (FIT) zum Handel mit Informationen in rein elektronischen Szenarien entwickelt. Er unterstützt neben der Verhandlung auch die Durchführung und Kontrolle einer Transaktion. Dabei stellt er u. a. sicher, dass ein Verkäufer eine Zahlung nicht erhält, ohne den Erhalt zu quittieren und, dass umgekehrt eine Quittung nur vergeben wird, wenn der Verkäufer die Zahlung erhält. Außerdem prüft FIT z. B. während der Verhandlung, ob und wie das jeweilige Gegenüber die Vertragsformulare ändert. ■ Eine prinzipielle Einschränkung bei Sicherheitsverhandlungen ist, dass Vertraulichkeitsziele nicht herauf-, sondern nur heruntergehandelt werden können: Information, die einmal ungeschützt übermittelt wird, kann z. B. nicht mehr als vertraulich angenommen werden und mit einem Dienstanbieter über die Anonymität einer Dienstleistung zu verhandeln, macht nur Sinn, wenn man dabei anonym bleiben kann. ■ Damit Nutzer wirklich über Sicherheitsanforderungen verhandeln können, müssen diese Anforderungen in eine anwendungsnahe Form gebracht werden, die Nutzer verstehen können und die Werkzeuge müssen von Laien bedienbar sein. ■ Schließlich hängt die Sicherheit der Verhandlung wesentlich von der Sicherheit der Geräte der Nutzer ab, z. B. davon, dass die technische Repräsentation der Verhandlungsposition der Nutzer nicht manipuliert werden kann.

        7.5.8

        Vertrauenswürdige Geräte in Nutzerhand

        Mangelnde Sicherheit der Endgeräte (und speziell der Betriebssysteme handelsüblicher PCs) ist prinzipiell ein von Vernetzung unabhängiges Thema. Es wird aber bedeutender, weil über Netzzugänge oftmals unbemerkt Programme auf die Rechner gelangen, etwa ausführbare Inhalte von HTML-Seiten (z. B. ActiveX-Controls) oder Makros in Textdokumenten. Diese Programme können, da es den Betriebssystemen an Schutzfunktionen mangelt, weitgehende Aktivitäten, etwa Festplattenzugriffe entfalten. Aus den vergangenen Abschnitten ergeben sich jedoch trotz dieser Probleme mindestens folgende Aufgaben für sichere Geräte: ● Speicherung persönlicher Token und Geheimnisse wie z. B. Signatur und Entschlüsselungsschlüssel, digitale Münzen, Adressbücher und Informationen, für wen und wann man erreichbar ist. ● Sicherheitssensitive Verarbeitung von Daten, speziell das Signieren von Dokumenten mit der Sicherheit, dass wirklich das angezeigte Dokument und nicht ein anderes signiert wird („What you see is what you sign“). ● Verhandlungen, etwa über Erreichbarkeit oder Sicherheitsanforderungen. Verschiedene Ansätze versuchen, die Lücke zwischen verfügbarer und aus technischer Sicht benötigter Sicherheit in Endgeräten zu schließen: ■ Der persönliche Charakter der gespeicherten Informationen legt z. B. nahe, als Plattform für ein sicheres Gerät, etwa einen persönlichen Sicherheitsassistenten, Chipkarten vorzusehen, da sie leicht (etwa in der Brieftasche) transportabel und bei geeigneter Einrichtung der Schnittstelle (zum Chipkartenleser) vergleichsweise schwierig zu manipulieren sind. ▲ Problematisch ist jedoch, dass klassische Chipkarten Nutzern weder für die Ein- noch für die Ausgabe eine direkte und sichere Schnittstelle bieten. Werden bspw. zu signierende Dokumente über einen handelsüblichen PC angezeigt, muss auch dessen (Un-)Sicherheit in Betracht gezogen werden.

        7.5 Sicherheit

        7.5.9

        361

        Erkennbarkeit der Sicherheit für Nutzer

        Die Komplexität heutiger IT macht eine Beurteilung ihrer Sicherheit durch einfache „Draufschau“ unmöglich. Die für eine qualifizierte Beurteilung erforderliche eingehendere Prüfung ist jedoch für viele Anwender zu aufwendig. Ein Weg zu mehr Erkennbarkeit der Sicherheit von IT ist, sie durch unabhängige Prüflabors auf der Basis veröffentlichter Kriterien, etwa ISO/IEC 15408 „Common Criteria“ evaluieren zu lassen. Solche Evaluationen helfen dann auch Nichtexperten, Systeme in Bezug auf ihre Sicherheit und die eigenen Anforderungen einzuschätzen. Hersteller oder Dienstanbieter können in seriöser Weise aufzeigen und prüfen lassen, welche Eigenschaften ihre Angebote haben. ■ Berichte über die Evaluationen (und die zugehörigen Zertifizierungen) finden sich unter anderem bei der Zertifizierungsstelle des Bundesamtes für Sicherheit in der Informationstechnik. ▲ Die meisten Evaluationen werden gegenwärtig von Herstellern finanziert, die dann auch Art und Umfang der Evaluationen bestimmen.

        7.5.10

        Entwurfsprinzipien für mehrseitige Sicherheit

        Viele Risiken bei vernetzten Systemen sind in den jeweiligen Infrastrukturen angelegt. Ihnen muss möglichst schon beim Systementwurf entgegengewirkt werden, denn spätere „Nachbesserungen“ sind oft teuer und treffen das Problem meist nicht wirklich, sodass Schwachstellen bleiben. Einige Entwurfsprinzipien helfen, spätere Sicherheitsprobleme zu vermeiden. 1. Datensparsamkeit: Datensparsamkeit bedeutet, möglichst wenige Daten zu erheben und zu speichern, also insbesondere beim Entwurf zu prüfen, ob ein Dienst nicht auch mit weniger Daten als geplant erbracht werden kann. Man hat dann für weniger Daten Verantwortung, sie etwa gegen unbefugte Weitergabe zu schützen und spart nicht zuletzt Kosten. 2. Kontrollmöglichkeiten für die Nutzer: Damit Nutzer ihre Sicherheitsinteressen wahrnehmen können, müssen sie imstande sein, die von ihnen verwendete Technik und die sie betreffenden Datenflüsse zu kontrollieren. Dafür sind zunächst aussagekräftige Statusinformationen nötig, z. B. Auskunft darüber, welche Daten über die Nutzer gespeichert sind. Außerdem sind Informationen zu den Konsequenzen einer Handlung wichtig, z. B. welche Daten nach Anklicken eines Buttons auf einer WWWSeite an den jeweiligen Anbieter übermittelt werden. ■ Ein im E-Commerce besonders wichtiger Spezialfall ist die Abbildung der Warnfunktion eigenhändiger Unterschriften: Dass der Unterzeichner einen Stift in die Hand nehmen muss, zeigt ihm deutlich, dass es „ernst wird“, während sich das Anklicken eines Buttons „Vertrag“ kaum von dem Anklicken eines Buttons „Mehr Information“ unterscheidet. 3. Auswahlmöglichkeiten und Verhandlungsspielräume: Kontrollmöglichkeiten für Nutzer setzen voraus, dass diese verschiedene Optionen angeboten bekommen, um die auswählen zu können, die ihren Sicherheitsinteressen am besten entspricht. Dies ist z. B. wichtig, wenn es darum geht, welche und wie viele Daten sie wann und wie übermitteln, auf welche Weise sie bezahlen wollen oder wie sich Verantwortung und Haftung verteilen. 4. Dezentralisierung und Verteilung: Meist ist es aus Sicherheitssicht sinnvoll, Daten und andere Ressourcen zu dezentralisieren. Schäden können so in ihren Auswirkungen begrenzt werden, selbst wenn sie öfter auftreten sollten. Verteilung in Verbindung mit Redundanz hilft, die Verfügbarkeit und Integrität von Datenbanken zu schützen. Vermeidet man große Datenmengen in einer Hand, sinkt das Risiko eines Missbrauchs durch unzulässige Verknüpfung. Außerdem werden Angriffe von außen weniger attraktiv, weil weniger zu „holen“ ist. ▲ Schutz durch Dezentralisierung verlangt natürlich, dass auch in den dezentralen Einrichtungen, etwa den Rechnern der Kunden, auf ein ausreichendes Sicherheitsniveau geachtet wird. Ansonsten muss das Risiko eines Angriffs in einer professionell betriebenen Zentrale gegen das von Nachlässigkeiten in den dezentralen Einrichtungen abgewogen werden.

        8

        Finanzmathematik

        8.1

        Einfache Zinsen

        Einfache Verzinsung, Zinsen pro Jahr über alle Jahre immer gleich groß. Das Kapital K0 wächst bei einem Zinssatz von i bei einfachen Zinsen in t Jahren auf Kt = K0 (1 + ti) Kt K0 = . (1 + ti) K0 Kt i t

        Kapital zu Beginn = Anfangskapital = Barwert Kapital nach t Jahren = Endkapital = Endwert Zinssatz, (i wie engl. interest) Anzahl der Jahre = Laufzeit

        ■ Ein Kapital von 200 a wird mit einem Zinssatz von 3 % verzinst. Das Kapital ist dann nach zwei Jahren bei einfachen Zinsen auf K2 =200 a (1 + 2 × 0,03) =212 a angewachsen. ■ Wenn Sie nach fünf Jahren bei 3 % einfachen Zinsen ein Kapital von 400 a besitzen, ist das Kapital am 400 Anfang K0 = (1+5×0,03) =347,83 a gewesen. ▲ Die Formel für einfache Zinsen wird in der Praxis selten für Laufzeiten (t) größer als ein Jahr verwendet. Laufzeittage Zinsen innerhalb eines Jahres werden meist nach Tagen berechnet, und zwar t = Jahreslänge . in Tagen ● Die Berechnung der Laufzeittage (= Zinstage) und der Jahreslänge in Tagen (= Basis) hängt von der gewählten Berechnungsmethode (Day Count Convention) ab. Fünf Berechnungsmethoden (Usancen) sind gebräuchlich: Methode

        30E/360

        Beschreibung Sei t1 =T1.M1.J1 der Tag, der Monat und das Jahr des ersten Datums (Anfangsdatum) und t2 =T2.M2.J2 der Tag, der Monat und das Jahr des zweiten Datums (Enddatum). Die Differenz zweier Datumsangaben liefert die Anzahl der Tage vom ersten Datum bis zum zweiten Datum, d. h. t2 − t1 liefert die Anzahl der Tage von t1 bis t2. min(x,y) gibt den kleinsten Wert von x und y an. Die Anzahl der Zinstage basiert unabhängig von der tatsächlichen Länge des Monats auf der Voraussetzung, dass jeder Monat 30 Tage und das Jahr 360 Tage hat. Bei Monaten mit 31 Tagen ist der 31. kein Zinstag. 35 Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = . 360 360 + 60 + 15 435 Vom 15.1.1996 bis 31.3.1997 ergibt t = = . 360 360 (J2 − J1) × 360 + (M2 − M1) × 30 + min(T 2,30) − min(T 1,30) Formel: . 360 ■ Diese Methode wird in Deutschland u. a. bei der Verzinsung von Sparbüchern, Termingeldern oft angewandt.

        8.1 Einfache Zinsen 30/360

        363

        Die Anzahl der Zinstage basiert wie bei der 30E/360-Methode auf der Voraussetzung, dass jeder Monat 30 Zinstage hat. Allerdings ist die Berechnung anders, falls der Endtag der 31. eines Monats ist: Es wird mit 31 Zinstagen gerechnet. 35 Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = . 360 436 Vom 15.1.1996 bis 31.3.1997 ergibt t = . 360 Formel: Wenn T 1 = 31, wird T 1 auf 30 gesetzt, d. h. auf min(T 1,30). Wenn T 2 = 31 und (T 1 = 30 oder T 1 = 31), wird T 2 auf 30 gesetzt, andernfalls wird T 2 beibehalten. Anschließend wird berechnet (J2 − J1) × 360 + (M2 − M1) × 30 + (T 2 − T 1) t= . 360 ▲ Viele Taschenrechner und EDV-Programme arbeiten nach dieser international angewandten Methode.

        Actual/360

        Die Methode basiert auf der exakten, kalender-genauen (engl.: actual) Aufzählung der Tage. Die Basistage betragen 360. 36 . Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = 360 441 . Vom 15.1.1996 bis 31.3.1997 ergibt t = 360 t2 − t1 Formel: t= . 360 ■ Anwendung bspw. in Deutschland bei Floating Rate Notes.

        Actual/365

        Wie Actual/360, nur Nenner 365. Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = Vom 15.1.1996 bis 31.3.1997 t =

        36 . 365

        441 . 365

        t2 − t1 . 365 ■ Bei Geldmarktpapieren wird in Deutschland diese Methode verwendet. Formel:

        Actual/Actual

        t=

        Bei dieser Methode werden sowohl die Laufzeittage als auch das zugrunde gelegte Basisjahr mit kalendergenauen Werten berücksichtigt. 36 Beispiele: Vom 15.5.1997 bis 20.6.1997 ergibt t = . 365 352 89 Vom 15.1.1996 bis 31.3.1997 ergibt t = +0+ . 366 365 Formeln: Sei Bk der Beginn des Jahres k, also der 1.1. des Jahres k, wobei BJ1 ≤ t1 < BJ1+1 < · · · < BJ2 ≤ t2 < BJ2+1 t = Bruchteil des Startjahres + Anzahl der „vollen“ Jahre +Anteil des Schlussjahres BJ1+1 − t1 t2 − BJ2 = + J2 − J1 − 1 + exakte Tage im Jahr J1 exakte Tage im Jahr J2

        364

        8 Finanzmathematik

        8.2

        Zinseszinsrechnung

        Zinsen werden nach Ablauf eines Jahres dem Kapital zugeschlagen und im folgenden Jahr mitverzinst. ● Ein Kapital K0 führt bei jährlicher Verzinsung mit dem Zinssatz i in n Jahren auf ein Endkapital von = K0 · (1 + i)n = K0 qn (Zinseszins-Formel). Kn Kn = = = Kn vn . (1 + i)n qn

        K0 K0 q=1+i=1+

        p (Zinsfaktor). 100

        n Laufzeit (kann erweitert werden auf R) qn Aufzinsungsfaktor oder Prolongationsfaktor Kn Endkapital (Zeitwert nach n Jahren) K0 Anfangskapital, Gegenwartswert oder Barwert Für die Laufzeit n gilt bei gegebenem Zinssatz, Anfangskapital und Endkapital: lg(Kn ) − lg(K0 ) . n= lg(q) Für den Zinssatz, der notwendig ist, bei gegebener Laufzeit und gegebenem Anfangskapital ein bestimmtes Endkapital zu erhalten, gilt:   Kn n −1 . p = 100 K0 ■ Auf welches Endkapital Kn wächst ein Anfangskapital K0 von 1000 a mit Zinseszinsen bei 4% Zins in 2 Jahren an: K2 = 1000 a (1 + 0,04)2 = 1081,60 a ■ Bei welchem Zinssatz erhalten wir nach 2 Jahren 100 a Zinseszinsen?   1100 − 1 = 4,88 p = 100 1000

        8.2.1

        Vorschüssige Verzinsung

        Nachschüssige oder dekursive Zinsen sind Zinsen, die am Ende einer Verzinsungsperiode anfallen. Vorschüssige oder antizipative Zinsen fallen am Anfang einer Verzinsungsperiode an. ● Bei der Zinseszinsrechnung mit vorschüssiger Verzinsung und dem vorschüssigen Zinssatz iv gilt: K0 = Kn (1 − iv )n (1 − iv )n heißt vorschüssiger Abzinsungsfaktor K0 Kn = . (1 − iv )n Bei „vorschüssiger einfacher“ Verzinsung gilt K0 = Kn (1 − n iv ) K0 Kn = . 1 − n iv ■ Auf welches Endkapital Kn wächst ein Kapital K0 von 1000 a bei vorschüssigen Zinseszinsen von 4% in 2 Jahren an? 1000 K2 = (1−0,04) 2 =1085,07 a Bei vorschüssiger Verzinsung ist das Endkapital höher als bei nachschüssiger Verzinsung.

        8.3 Rentenrechnung

        8.2.2

        365

        Unterjährige Verzinsung

        Unterjährige Verzinsung, der Zuschlag der aufgelaufenen Zinsen auf das Kapital erfolgt zu mehreren Terminen gleichen Abstands im Jahr. ● Das Endkapital einer einmaligen Anlage bei unterjähriger Verzinsung beträgt nm  i Kn = K0 1 + . m Wobei n die Laufzeit in Jahren und m die Anzahl der Zinstermine pro Jahr ist. Die Zinstermine müsssen dabei auf das Jahr gleichmäßig verteilt sein. i ist der Zinssatz auf ein Jahr bezogen. ■ Auf welches Endkapital Kn wächst ein Kapital K0 von 1000 a bei 4 % Zinsen in 2 Jahren an, wenn das Kapital monatlich verzinst wird (monatlicher Zinssatz 4 % : 12 = 0,33 %, 24 Monate Laufzeit) K24 = 1000 a · 1,003324 = 1082,28 a. Stetige Verzinsung, die Anzahl der Zinsperioden pro Jahr werde immer größer. Damit wird die Länge der Zinsperioden immer kleiner. ■ Anwendungen sind auch bei physikalischen und biologischen Vorgängen zu finden.

        8.2.3

        Stetige Verzinsung

        ● Bei stetiger Verzinsung und einem Zinssatz von is gilt: Kn = K0 eis n . Zwischen dem Zinssatz is bei stetiger Verzinsung und dem Zinssatz i bei „exponentieller“ Verzinsung gilt, wenn beide zu gleichen Endwerten führen sollen: 1 + i = eis oder i = eis − 1 oder is = ln(1 + i) . ■ Bei einem Anfangskapital K0 von 1000 a und einer stetigen Verzinsung von 4 % ergibt sich nach 2 Jahren ein Endkapital von K2 = 1000 a e0,04·2 = 1083,29 a.

        8.3

        Rentenrechnung

        8.3.1

        Grundbegriffe

        ▲ Der Begriff Rente hat im allgemeinen Sprachgebrauch unterschiedliche Bedeutungen. In der Finanzmathematik versteht man darunter Folgendes: Rente, Folge von gleich großen Zahlungen oder Leistungen in gleich großen Zeitabständen (z. B. 1 Jahr). Werden die Zahlungen jeweils zu Beginn bzw. am Ende einer Periode geleistet, so heißt die Rente vorschüssig bzw. nachschüssig. ▲ Renten können sowohl Einzahlungen auf als auch Abhebungen von einem Konto sein. Laufzeit, die Zeit, wie lange die Zahlungen geleistet werden. Zeitrente, Rente, die über einen im Voraus kalendermäßig festgelegten Zeitraum gezahlt wird. ■ z. B. Zinsleistungen aus festverzinslichen Wertpapieren Leibrente, Rente, deren Zahlungen von einem bestimmten Zeitpunkt an bis zum Lebensende erfolgen. ■ z. B. Angestelltenversicherung für Altersruhegeld, Lebensversicherung

        366

        8 Finanzmathematik

        8.3.2

        Nachschüssige Rente

        Nachschüssige Rente (Postnumerando-Rente), die Rentenzahlungen werden am Ende einer Periode geleistet. ▲ Die Rentenzahlungen r können am besten anhand eines Zahlenstrahls dargestellt werden. n Jahre lang wird am Jahresende eine Zahlung geleistet:

        Rentenendwert, Kapital, zu welchem die jährlichen Zahlungen bei einem festen Zinssatz führen. Dazu müssen alle Zahlungen auf den Zeitpunkt n aufgezinst werden. Rentenbarwert oder Gegenwartswert, heutiger Wert aller Rentenzahlungen. ▲ Bei einer nachschüssigen Rente wird die erste Rate ein Jahr nach dem Bezugszeitpunkt des Barwertes und die letzte Rate genau am Bezugszeitpunkt des Rentenendwertes geleistet. ● Rentenendwert einer nachschüssigen Rente in Höhe von r, die n Jahre gezahlt wird: Rn = r

        qn − 1 qn − 1 =r = r sn q−1 i    = sn

        Barwert einer nachschüssigen Rente (kurz: Rentenbarwert): R0 =

        Rn 1 qn − 1 = r = r an qn qn q − 1    = an

        Laufzeit n bei gegebenem Zinssatz i, jährlicher Rente r und Rentenendwert Rn :   i Rn +1 log log(i Rn + r) − log(r) r n= = log(1 + i) log(1 + i) Laufzeit n bei gegebenem Zinssatz i, jährlicher Rente r und Rentenbarwert R0 :   R0 log 1 − i r n=− log(1 + i) 1 − q−n 1 − vn = i i qn − 1 nachschüssiger Rentenendwertfaktor = i Rente, Rentenrate Laufzeit in Jahren Zinssatz =1+i = q−1

        an nachschüssiger Rentenbarwertfaktor sn r n i q v

        =

        8.3 Rentenrechnung

        367

        ■ Welchen Barwert R0 hat eine 10 Jahre lang nachschüssig zu zahlende Rente r von jährlich 10.000 a (i=4%)? 1 1 qn − 1 1,0410 − 1 = 10.000 a · = 81.108,96 a · R0 = r n q q−1 1,0410 0,04 ● Näherungsweise Bestimmung des Zinssatzes i (bzw. q = 1 + i) bei nachschüssiger jährlicher Zahlungsweise und gegebenem Rentenendwert Rn , Rentenrate r und Laufzeit n: Ausgehend von der k-ten Näherung qk wird die nächste Näherung qk+1 nach dem Newton-Verfahren folgendermaßen errechnet: r qn + Rn (1 − qk ) − r , k = 1,2,3, . . . qk+1 = qk − k n r qn−1 − Rn n Dabei muss die erste Näherung q1 vorgegeben werden. ● Endwert einer einmaligen Zahlung K0 und einer jährlichen nachschüssigen Rente r, die n Jahre bei einem Zinssatz von i gezahlt wird: qn − 1 Rn = K0 qn + r . q−1 ■ Ein Gewinn von 100.000 a wird zu 4% angelegt. 10 Jahre lang werden jährlich nachschüssig je 5.000 a vom Gewinn abgehoben. Wie hoch ist das Kapital nach 10 Jahren? qn − 1 Kn = K0 qn + r q−1 K10 = 100.000 a · 1,0410 − 5.000 a

        8.3.3

        1,0410 − 1 = 87.993,89 a 0,04

        Vorschüssige Rente

        Vorschüssige Rente (Pränumerando-Rente), die Rentenzahlungen r  erfolgen am Anfang des jeweiligen Zeitabschnittes.

        ● Rentenendwert einer jährlichen Rente mit vorschüssiger Zahlung: qn − 1 Rn = r  q q−1 Rentenbarwert: 1 qn − 1 R R0 = nn = r  n−1 q q q−1 mit Rn vorschüssiger Rentenendwert R0 vorschüssiger Rentenbarwert r  Rente, Rentenrate n Laufzeit in Jahren q =1+i

        368

        8 Finanzmathematik

        Laufzeit bei gegebenem Zinssatz i, jährlicher Rente r  und Rentenendwert Rn :   i Rn log 1 +  r n= log(1 + i) Laufzeit bei gegebenem Zinssatz i, jährlicher Rente r  und Rentenbarwert R0 :   i R0 log 1 + i −  r n=1− log(1 + i) ■ Ein Sparer zahlt 10 Jahre jährlich vorschüssig 10.000 a ein (p = 4). n −1 10 Rentenendwert: Rn = r  q qq−1 = 10.000 a · 1,04 · 1,040,04−1 = 124863,51 a Rentenbarwert: R0 =

        8.3.4

        Rn qn

        =

        124863,44 1,0410

        = 84353,32 a

        Ewige Rente

        Ewige Rente, die Anzahl der Rentenzahlungen ist unbegrenzt. ● Barwert einer ewigen jährlich nachschüssig zahlbaren Rente: r i ▲ Der Endwert einer ewigen Rente ist nicht endlich. R0 =

        Kapitalisierungsfaktor, Faktor, mit dem die Rente multipliziert werden muss, um den Barwert zu erhalten. Bei nachschüssigen Rentenzahlungen beträgt er 1/i = 100/p Barwert einer jährlichen ewigen Rente mit vorschüssigen Zahlungen: rq i ■ Die Erbpacht für ein Grundstück soll als ewige Rente jährlich 5.000 a betragen. Welchen Wert besitzt das Grundstück bei 5% p. a., wenn die Erbpacht a) am Jahresende, b) am Jahresanfang fällig wird? R0 =

        r 5000 = = 100.000 a i 0,05 rq 5000 · 1,05 b) R0 = = = 105.000 a i 0,05

        a) R0 =

        8.3.5

        Aufgeschobene und abgebrochene Rente

        Aufgeschobene Rente, die Rentenzahlung beginnen erst nach Ablauf von einigen Jahren (Karenzzeit oder Wartezeit)

        8.3 Rentenrechnung

        369

        ● Bei einer aufgeschobenen jährlich nachschüssig zu zahlenden Rente mit Karenzzeit k gilt: Rentenendwert: Rk+n = r sn Rentenbarwert: R0 = Rk+n q−(k+n) = r (an+k − ak ) mit

        sn =

        qn − 1 , i

        a =

        1 q − 1 ,  = k bzw. n + k . q q − 1

        ■ Eine Rente r von 500 a soll n = 10 Jahre nachschüssig gezahlt werden. Die erste Zahlung erfolgt nach einer Karenzzeit k von 5 Jahren. Wie hoch ist der Rentenbarwert R0 bei p = 6? R0 = r

        q−k − q−(n+k) 1,06−5 − 1,06−15 = 500 a = 2749,94 a i 0,06

        Abgebrochene Rente, die Rentenzahlungen enden zu einem bestimmten Zeitpunkt, während die „Zinseszinsrechnung“ noch weiterläuft.

        ● Abgebrochene nachschüssigen Rente: Barwert: R0 = r an Endwert: Rn+k = r sn qk = r an qn+k qn − 1 i ■ Wie hoch ist der Rentenendwert Rn+k bei einer abgebrochenen nachschüssigen Rente von 500 a mit n = 30 Jahren und k = 5 Jahren (p = 6)? mit

        sn =

        Rn+k = r sn qk R30+5 = 500 a ·

        1,0630 − 1 · 1,065 = 52898,84 a 0,06

        Unterbrochene Rente, zwischen den Rentenzahlungen liegen Karenzzeiten.

        8.3.6

        Jährliche Verzinsung – unterjährige Rentenzahlung

        ▲ Bei den bisherigen Betrachtungen fallen die Termine der Rentenzahlung mit den Zinsterminen zusammen, d. h. Rentenperiode = Zinsperiode. In diesem Abschnitt ist die eine Periode ein Vielfaches der anderen. ● Es gibt zwei Fälle zu betrachten: • jährliche Verzinsung und unterjährige Rentenzahlung • unterjährige Verzinsung und jährliche Rentenzahlung Ersatzrente, fiktive äquivalente Jahresrente bei unterjähriger (z. B. monatlicher) Zahlung aber jährlicher Verzinsung. ● Mit dieser äquivalenten Ersatzrente wird dann der Rentenendwert mithilfe der Formeln für die jährliche Rentenzahlung ermittelt.

        370

        8 Finanzmathematik

        Nachschüssige Zahlungsweise:

        ● Fiktive jährliche Ersatzrente re , für die die nachschüssige Zahlung von m Raten im Jahr der Höhe r äquivalent ist, wenn unterjährig einfache Zinsen vergütet werden:   (m − 1)i re = r m + 2 Rentenendwert: Rn = re sn ,

        mit sn =

        qn − 1 i

        Rentenbarwert: Rn R0 = n q Rate r bei gegebenem Rentenendwert Rn , Zinssatz i und Laufzeit n, wenn r m-mal im Jahr gezahlt wird: r= m+

        Rn i (m−1)i (qn 2

        − 1)

        ■ Ein Sparer zahlt 6 Jahre lang auf einen Rentensparvertrag monatlich nachschüssig 200 a ein. Wie hoch ist das Kapital am Ende der Laufzeit (p = 6)? 11 · 0,06 Jährliche Ersatzrente: re = 200 a · (12 + ) = 2466 a 2 1,066 − 1 Rentenendwert: R6 = re · s6 = 2466 a · = 17.201,13 a 0,06 Sparplan: Jahre Endkapital davon Einzahlung Zinsen 1 2.466,00 2.400,00 66,00 2 5.079,96 4.800,00 279,96 3 7.850,76 7.200,00 650,76 4 10.787,80 9.600,00 1.187,80 5 13.901,07 12.000,00 1.901,07 6 17.201,13 14.400,00 2.801,13 Zahlt der Sparer jährlich nachschüssig 6 Jahre lang 2400 a ein, beträgt das Endkapital nach 6 Jahren (p = 6): R6 = 2400 a ·

        1,066 − 1 = 16.740,76 a 0,06

        Vorschüssige Zahlungsweise:

        ● Rentenendwert von m vorschüssigen Zahlungen im Jahr: Rn = re sn

        8.3 Rentenrechnung

        371

        mit

          (m + 1)i re = r m + fiktive jährliche Ersatzrente 2 qn − 1 sn = i ▲ Unterjährig werden dabei nur einfache Zinsen vergütet. ■ Ein Sparer zahlt 10 Jahre lang auf einen Rentensparvertrag monatlich vorschüssig 200 a ein. Wie hoch ist der Rentenendwert (i = 6%)? R10 = 200 a · (12 +

        8.3.7

        13 · 0,06 1,0610 − 1 )· = 32.662,01 a 2 0,06

        Unterjährige Verzinsung

        ■ Eine nachschüssige jährliche Rentenzahlung von 1.000 a wird vierteljährlich bei einem Zinssatz von 4% (p. a.) verzinst, d. h. der Zinssatz beträgt 1% vierteljährlich. Wie hoch ist der Endwert der Rente nach zehn Jahren?

        Jährliche Zahlungen und unterjährige Verzinsung ▲ Die Rentenzahlung wird an die Verzinsung angepasst, indem eine unterjährige Rente r  (konforme Rente) gesucht wird, die bei m-maliger Zahlung pro Jahr äquivalent zu r ist. Sei i der Zinssatz pro Jahr, dann ist i  = i/m der Zinssatz pro 1/m-Jahr. Mit q  = 1 + i  gilt: m     m−2  m−1   q −1 r=r q +q +···+q +1 = r  q −1 ● Jährliche Zahlungen und unterjährige Verzinsung: Rentenendwert Rn = r  sm n Rentenbarwert R0 = r  am n i  = i/m q = 1 + i q − 1 r  = r m q − 1 q n·m − 1  sm n = i  1 − q −n·m am n = i ■ Der Endwert aus dem obigen Beispiel beträgt mit

        1,01 − 1 1,0140 − 1 · = 12.039,79 a 1,014 − 1 0,01 ▲ Die bisherigen Betrachtungen in diesem Abschnitt basieren auf jährlichen Rentenzahlungen und einer Verzinsung nach m1 Jahren. R10 = 1.000 a

        372

        8 Finanzmathematik

        ● Unterjährige Rentenzahlung bei unterjähriger Verzinsung: Rentenendwert nach n Jahren von nachschüssigen unterjährigen Zahlungen r bei m Zahlungen und m Verzinsungen pro Jahr und einem Zinssatz p. a. von i: m·n 1 + mi −1 Rn = r i m

        Rentenbarwert: Rn m·n R0 = 1 + mi ■ Welcher Rentenbarwert R0 ist heute anzulegen, um bei vierteljährlicher Verzinsung (4% p. a.) 10 Jahre lang nachschüssig vierteljährlich 500 a zu erhalten? i m·n 1+ m −1 Rentenendwert: Rn = r i m 0,04 40 1+ 4 −1 R10 = 500 a = 24.443,19 a 0,04 4

        Rentenbarwert:

        Rn 24.443,19 = R0 = 40 = 16.417,34 a i m·n 1+ m 1 + 0,04 4

        8.4

        Tilgungsrechnung

        8.4.1

        Grundbegriffe

        ▲ Die Tilgungsrechnung behandelt die Rückzahlung von Darlehen, Krediten, Anleihen usw. Tilgung oder Tilgungsrate, Betrag der am Ende eines Zeitabschnittes zum Abtragen der Schuld gezahlt wird. Tilgungsfreie Zeit, Bei einem Darlehen kann vereinbart werden, dass die Tilgung erst nach mehreren Jahren beginnt. Die Anfangsschuld wird in den Jahren, in denen nicht getilgt wird, nur verzinst. Die tilgungsfreie Zeit plus die Tilgungszeit (Zeit, in der die Schuld getilgt wird) ergeben die Laufzeit des Darlehens. Restschuld, Schuld nach einer bestimmten Zeit, in der ein Teil der Schuld getilgt wurde. Annuität, (jährliche) Zahlung des Schuldners. Annuität ist die Summe aus Tilgung und Zinsen. Annuitätentilgung (auch Annuitätendarlehen), Annuitäten sind während des gesamten Tilgungszeitraums gleich hoch; der Tilgungsanteil nimmt dagegen zu. Ratentilgung, Die Tilgungsraten sind während des gesamten Tilgungszeitraums gleich hoch, die Annuitäten dagegen verschieden. Ratenkredit, Kredit mit speziellen Bedingungen. Bei einem Ratenkredit sind z. B. gleich hohe Beiträge zurückzuzahlen; es liegt also keine Ratentilgung vor. Tilgungsplan, Übersicht über sämtliche Zahlungen zur Tilgung einer Schuld. Für die einzelnen Jahre werden Zinsen, Tilgungsraten, Annuität und Restschulden angegeben. ▲ Der Tilgungsplan wird durch die tilgungsfreie Zeit nicht wesentlich verändert. Er enthält nur zusätzlich die tilgungsfreien Jahre mit der Zinszahlung.

        8.4 Tilgungsrechnung

        373

        Bei einem Zinssatz von i ergibt sich folgender allgemeiner Tilgungsplan: Jahr 1 2 ... m ... n

        n K0 Km Am Zm Tm

        Restschuld zu Jahresanfang K0 K1 = K0 − T1

        Zinsen Z1 = K0 i Z1 = K1 i

        Tilgung Jahresleistung T1 A1 = Z1 + T1 T2 A2 = Z2 + T2

        Km−1 = K0 − T1 − . . . − Tm−1

        Zm = Km−1 i Tm

        Am = Zm + Tm

        Kn−1 = K0 − T1 − . . . − Tn−1 Kn = 0

        Zn = Kn−1 i

        An = Zn + Tn

        Tn

        Laufzeit Anfangsschuld Restschuld nach m Jahren, m = 1, . . . ,n Jahresleistung (Annuität) des Schuldners im m-ten Jahr Zinsen am Ende des m-ten Jahres Tilgungsbetrag im m-ten Jahr

        ● Bei einem Tilgungsplan gilt: Am = Tm + Zm K0 = T1 + . . . + Tn = A1 v + A2 v2 + . . . + An vn

        8.4.2

        mit v = (1 + i)−1

        Ratentilgung

        Ratentilgung, alle Tilgungsraten sind konstant, d. h. Tm = T für m = 1, . . . ,n. ● Bei einer Ratentilgung gilt, wenn die Schuld nach n Jahren getilgt sein soll: Tm = T =

        K0 n

        Km = K0 − mT = K0 (1 −

        m ) n

        m−1 )i , m = 1,2, . . . ,n n   1 m−1 + i(1 − ) i Am = Tm + Zm = K0 n n

        Zm = K0 (1 −

        ■ Ein Unternehmen nimmt einen Kredit in Höhe von 50.000 a zu 6% Zinsen auf. Jährlich sollen durch Ratentilgung 12.500 a getilgt werden. Tilgungsplan Jahr 1 2 4 4 5

        Restschuld zu Jahresanfang 50.000,– 37.500,– 25.000,– 12.500,– 0

        Zinsen 3000,– 2250,– 1500,– 750,–

        Tilgung 12.500,– 12.500,– 12.500,– 12.500,–

        Jahresleistung 15.500,– 14.750,– 14.000,– 13.250,–

        374

        8 Finanzmathematik

        8.4.3

        Annuitätentilgung

        Annuitätentilgung, die jährlichen Zahlungen (Annuitäten) sind konstant, d. h. Am = A für m = 1, . . . ,n. Der Schuldner hat über die gesamte Laufzeit gleich große Belastungen. Jahr 1 2 3 ... m ... n n+1

        Restschuld zu Jahresanfang K0 K1 = K0 − T1 K2 = K0 − T1 − T2 ... Km−1 = K0 − T1 − . . . − Tm−1 ... Kn−1 = K0 − T1 − . . . − Tn−1 Kn = 0

        Zinsen Z1 = K0 i Z2 = K1 i = Z1 − T1 i Z3 = Z2 − T2 i ... Zm = Zm−1 − Tm−1 i ... Zn = Kn−1 i

        Tilgung T1 = A − iK0 T2 = T1 + T1 i = T1 q T3 = T2 q = T1 q2 ... Tm = Tm−1 q = T1 qm−1 ... Tn

        Jahresleistung A A A ... A ... A

        ● Bei der Annuitätentilgung gilt: Am = A = Tm + Zm Tm = T1 qm−1 ,T1 = A − iK0 Zm = A − Tm K0 = T1 + T2 + . . . + Tn = T1 (1 + q + . . . + qn−1 ) = T1 sn K0 i q−1 K0 = Aan A= = K0 qn n n 1−v q −1 sn A = T1 = T1 qn an Km = Aan−m Km = K0 − T1 − . . . − Tm = K0 − sm T1 Km = K0 qm − Asm log 1 − iKA0 n = log v log TA1 log A − log T1 n = = log q log q mit an =

        1 − vn qn − 1 = , qn (qn − 1) i

        qn − 1 , i (Bei am , sm und an−m ist hier statt n der entsprechende Index einzusetzen.)

        sn =

        log v = − log q . ■ Ein Kredit von 50.000 a soll zu 6 % Zinsen in 4 Jahren durch jährliche Annuitäten getilgt werden. Tilgungsplan: A = K0 qn

        q−1 0,06 = 50.000 a · 1,2624769 · = 14429,58 a n q −1 0,2624769

        8.5 Abschreibung Jahr 1 2 4 4

        Restschuld zu Jahresanfang 50.000,38.570,42 26.455,07 13.612,79

        Zinsen 3000,2314,23 1587,30 816,77

        Tilgung 11.429,58 12.115,35 12.842,28 13.612,79

        375

        Annuität 14.429.58 14.429.58 14.429.58 14.429.56

        ● Die Laufzeit eines Annuitätendarlehens mit einem nominellen Zinssatz i und einem (anfänglichen) Tilgungssatz von iT beträgt i + iT log iT . n= log(1 + i)

        8.4.4

        Unterjährige Verzinsung und Tilgung

        ■ Sie erhalten ein Darlehen in Höhe von 100.000 a mit einem Zinssatz von 5 %. Statt jährlicher Annuität von 36.000 a zahlen Sie jetzt monatlich 3.000 a zurück. Die Zins- und Tilgungsverrechnung soll auch monatlich (m = 12) erfolgen. Mit K0 = 100.000 a, p = 5, m = 12 gilt ein monatlicher Zinssatz von i = 0,05/12 = 0,004166667 und eine monatliche Zahlung von A = 3.000 a. Streng genommen dürfte diese monatliche Zahlung von 3.000 a nicht mit Annuität A abgekürzt werden. Es gilt mit K0 = 100.000 a,p = 5,m = 12,i = 0,05/12 = 0,004166667 und A = 3.000 a: log 1 − iKA0 −0,06494 n= = = 35,96, log v −0,001805 d. h. n ist ungefähr 36 Monate. Die Restschuld nach 35 Monaten beträgt (1 + i)35 − 1 (A − iK0 ) i = 100.000 a − 37,59666 · 2.583,33 = 2.875,24 a .

        K35 = K0 − s35 T1 = 100.000 a −

        Dadurch kann dann die Restzahlung berechnet werden.

        8.5

        Abschreibung

        Abschreibungen, berücksichtigen die jährliche Wertminderung eines Wirtschaftsgutes (Maschinen, Fahrzeuge, Gebäude) durch a) verbrauchsbedingte (technische) Ursachen, b) wirtschaftlich bedingte Ursachen (z. B. technischer Fortschritt), c) zeitlich bedingte Ursachen (z. B. Ablauf eines Miet-, Leasingvertrages). ● Die Abschreibungen (steuerrechtlich: Absetzungen für Abnutzung: AfA) werden als Aufwand in der Gewinn- und Verlustrechnung erfasst. Zum Abschreibungspotenzial gehören die Anschaffungskosten (AK = Anschaffungspreis abzüglich Anschaffungspreisveränderungen zuzüglich Anschaffungsnebenkosten wie Transport-, Verpackungs-, Montagekosten). Abschreibungsfähige Wirtschaftsgüter (Gebäude, Maschinen, Fuhrpark, Betriebs- und Geschäftsausstattungen) sind durch planmäßige Abschreibungen aufgrund einer betriebsgewöhnlichen Nutzungsdauer im Wert zu mindern. Nicht vorhersehbare Wertminderungen (z. B. technischer Fortschritt) sind durch außerplanmäßige Abschreibungen zu berücksichtigen.

        376

        8 Finanzmathematik

        8.5.1

        Abschreibungsverfahren

        ● Lineare Abschreibung, Abschreibung vom Anschaffungswert K0 auf den Restwert KN nach N Nutzungsjahren in gleichen Jahresraten, Restwert nach n Jahren K0 − KN Kn = K0 − n · , n = 1,..,N . N ● Geometrisch-degressive Abschreibung, es werden jährlich von einem Wirschaftsgut p% von dem jeweiligen Buchwert abgeschrieben mit fallenden Abschreibungsbeträgen. geometrisch p n a) Restwert nach n Jahren Kn = K0 1 − 100 , n = 1,2,.. . b) Jährlicher prozentualer Abschreibungssatz p bei vorgegebener Abschreibungszeit N und gefordertem Restwert KN :   KN N . p = 100 · 1 − K0 ■ Eine Anlage mit dem Anschaffungswert von 100.000 a wird jährlich mit 6% vom Restwert abgeschrieben. Restwert nach 5 Jahren:  5 6 K5 = 100.000 a · 1 − = 73.390,40 a 100 ● Leistungsabschreibung, die Abschreibungsbeträge werden nach der Leistung eines Wirtschaftsgutes bestimmt (z. B. Maschinenstunden, Inanspruchnahme des Rechenzentrums, gefahrene Kilometer). ■ Abschreibung eines LKW nach Fahrleistung:

        = 100.000 a Anschaffungskosten K0 geschätzte Fahrleistung des LKW insgesamt = 200.000 km 100.000 a Abschreibung pro km = = 0,50 200.000 km Für ein Wirtschaftsgut ist ein zu Beginn der Nutzungsperiode gewähltes Abschreibungsverfahren beizubehalten. Lediglich der Übergang von der geometrisch-degressiven zur linearen Abschreibung (AfA) ist möglich ( §7 Abs 3 EStG). ■ Anschaffungskosten K0 der Maschine 100.000 a betriebsgewöhnliche Nutzungsdauer 5 Jahre Schrottwert 0 a Jahr geom. degr. AfA AK/Restbuchwert Übergang auf die 30% linear verteilt auf die lineare AfA möglich Restnutzungsdauer 1 AK 100.000,– – -30.000,– 20.000,– 2 70.000,– – −21.000,– 17.500,– 3 49.000,– 49.000,– −14.700,– 16.333,– → −16.333,– 4 – 32.667,– −16.333,– 5 – 16.334,– −16.334,– 0,–

        9

        Quantitative Methoden des modernen Wertpapier-Managements

        9.1

        Portfolio Selection

        ● Rendite einer Aktie: Prozentrendite: Logarithmierte Rendite:

        St − St−1 St−1   St rt = ln St−1 rt =

        St = Kurs der Aktie zum Zeitpunkt t

        L

        Erwartungswert der Rendite i:

        µi =

        ∑ pl ril

        l=1 L

        Varianz der erwarteten Rendite:

        σ i2 =

        Standardabweichung der erwarteten Rendite: σ i =

        pl = Wahrscheinlichkeit des Zustands l, i=Aktie

        ∑ pl (ril − µ i)2

        l=1 

        σ i2

        ▲ Im Folgenden werden meist logarithmierte Renditen betrachtet.

        Am Kapitalmarkt werden nach Annahme N riskante Wertpapiere (=Aktien) gehandelt. ● Effiziente Portefeuilles bieten bei gleichem Erwartungswert der Rendite eine niedrigere Standardabweichung oder bei gleicher Standardabweichung einen höheren Erwartungswert der Rendite gegenüber nichteffizienten Portefeuilles. Efficient Set: Menge aller effizienten Portefeuilles. Efficient Frontier (Effiziente Line, Effizienter Rand): Linie, auf der die effizienten Portefeuilles liegen. Entspricht im (µ ,σ )-Raum einer Hyperbel. Ausgangspunkt und Grundlage der modernen Kapitalmarkttheorie ist die von Markowitz entwickelte Portfolio-Selection-Theorie. Als normative Theorie leitet sie her, wie ein Anleger mit gegebenen Erwartungen unter bestimmten Annahmen und auf Basis seiner Risikopräferenz die Struktur seines Portefeuilles aus riskanten Wertpapieren optimieren sollte. ● Annahmen der Portfolio Selection: 1. Anleger maximiert Bernoulli-Nutzen. Grenznutzen ist positiv. 2. Anleger trifft seine Entscheidung anhand einer quadratischen Risikofunktion. Alternativ zu dieser Annahme werden multivariat normalverteilte Wertpapierrenditen vorausgesetzt. 3. Anleger beurteilt Wertpapiere und Portfolios anhand des Erwartungswertes und der Standardabweichung (bzw. der Varianz) der Rendite. 4. Anleger ist risikoavers. 5. Anlagehorizont des Investors beträgt eine Periode. 6. Anzahl der Wertpapiere und Wahrscheinlichkeitsverteilungen der zukünftigen Renditen der Wertpapiere sind exogen und dem Investor bekannt. 7. Wertpapiere sind beliebig teilbar. Anleger kann Leerverkäufe durchführen. Anleger ist Preisnehmer. 8. Es fallen weder Transaktionskosten noch Steuern an.

        9.1.1

        Grundmodell ohne Existenz einer risikofreien Anlage

        • Budgetrestriktion der Aktienanlage: N

        ∑ xi = 1 i=1

        mit xi als Anteil der Aktie i am Portefeuille.

        378

        9 Quantitative Methoden des modernen Wertpapier-Managements

        ▲ Bei gegebenen Renditeparametern der einzelnen Aktien (Erwartungswerte, Varianzen, Kovarianzen) ist die Struktur eines Portefeuilles vollständig durch die Anteile beschrieben, die in die einzelnen Aktien investiert werden. Im Grundmodell werden für die xi keine Obergrenzen oder Nichtnegativitätsbedingungen vorausgesetzt. • Erwartungswert der Portefeuille-Rendite: N

        µp =

        ∑ xi µ i

        i=1

        mit µ i als Erwartungswert der Rendite ri der Aktie i. • Varianz der Portefeuille-Rendite: N

        σ p2 =

        N

        ∑ ∑ xi x j σ i j

        i=1 j=1

        mit σ i j als Kovarianz der Renditen der Aktien i und j. • Portefeuille-Optimierung: Minimierung der Portefeuille-Varianz σ p2 unter den Nebenbedingungen N

        ∑ xi = 1

        N

        µ¯ p =

        und

        i=1

        ∑ xi µ i .

        i=1

        ▲ Für einen vorgegebenen Erwartungswert der Portefeuille-Rendite µ¯ p ist die Wertpapiermischung {x1 ,x2 , . . . ,xN } zu finden, die die Varianz der Portefeuille-Rendite minimiert.

        a) Lagrange-Ansatz des Portefeuille-Problems ● Lagrange-Ansatz zur Lösung der Portefeuille-Optimierung:     N

        N

        N

        L = ∑ ∑ xi x j σ i j − λ 1

        ∑ xi µ i − µ¯ p

        i=1 j=1

        − λ2

        i=1

        N

        ∑ xi − 1

        .

        i=1

        Ableitungen der Lagrange-Funktion: N ∂L = 2 ∑ x j σi j − λ1µ i − λ2 = 0 ∂xi j=1

        ∂L =− ∂λ 1 ∂L ∂λ 2

        =−

        

        

        N

        ∑ xi µ i − µ¯ p

        i=1

        

        N

        für i = 1,2, . . . ,N

        =0

        ∑ xi − 1

         =0

        i=1

        ● Aktienanteile im Optimum: xi =

        1 N σˆ i j λ 1 µ j + λ 2 ∑ 2 j=1

        für i = 1,2, . . . ,N

        mit σˆ i j als Element der Inversen der Varianz-Kovarianz Matrix.

        9.1 Portfolio Selection

        379

        Portefeuille-Planung in Matrixschreibweise:        x1 1 σ 11 σ 12 . . . σ 1N µ1        µ  1  σ 21 σ 22 . . . σ 2N   x2   . . . .   .  = λ 1  .2  + λ 2  .  .  .  .  . . . .  .   .  .  . . . .  .  σ N1 σ N2 . . . σ NN

        xN

        µN

        1

        Ist die Varianz-Kovarianz Matrix invertierbar, dann ist der Vektor der optimalen Portefeuille-Anteile xi bestimmt durch:      σˆ 11 σˆ 12 . . . σˆ 1N λ1µ1 + λ2 x1       x2  1  σˆ 21 σˆ 22 . . . σˆ 2N   λ 1 µ 2 + λ 2  .  .  =  . . . .  ..   .  2  . . . .  . . . . . .      xN σˆ N1 σˆ N2 . . . σˆ NN λ1µN + λ2 ▲ Ökonomisch bedeutet die Invertierbarkeit der Varianz-Kovarianz Matrix, dass es keine zwei ver-

        schiedenen Linearkombinationen von Wertpapieren gibt, die vollständig korreliert sind und keine Aktie eine Varianz von Null hat. ● Lagrange-Multiplikatoren im Optimum: Cµ¯ p − B A − Bµ¯ p λ1 = 2 und λ 2 = 2 2 AC − B AC − B2 mit den Marktkonstanten N

        N

        A = ∑ ∑ µ i µ j σˆ i j , i=1 j=1 N

        N

        N

        N

        B = ∑ ∑ µ i σˆ i j = ∑ ∑ µ j σˆ i j i=1 j=1 N

        und

        i=1 j=1

        N

        C = ∑ ∑ σˆ i j . i=1 j=1

        Die Werte der Lagrange-Multiplikatoren folgen aus den beiden Gleichungen   N N N N 1 und 1= λ 1 ∑ ∑ µ j σˆ i j + λ 2 ∑ ∑ σˆ i j 2 i=1 j=1 i=1 j=1   N N N N 1 µ¯ p = λ 1 ∑ ∑ µ i µ j σˆ i j + λ 2 ∑ ∑ µ i σˆ i j , 2 i=1 j=1 i=1 j=1 die man aus der Summation der Bedingung für die Aktienanteile im Optimum über alle i bzw. aus der Multiplikation des Ergebnisses im Optimum mit µ i und anschließender Summation über alle i erhält. ■ Aktien A und B mit µ A = 0,2, µ B = 0,3, σ A2 = 0,04, σ B2 = 0,08 und cov(rA ,rB ) = 0,02. Optimales (varianzminimales) Portefeuille für µ¯ p = 0,25: Aus xA + xB = 1 folgt xB = 1 − xA und aus xA µ A + xB µ B = µ¯ p folgt 0,2xA + 0,3 (1 − xA ) = 0,25. Lösung: xA = xB = 0,5. Portefeuille-Varianz: σ p2 = 0,04.

        b) Bestimmung des effizienten Randes Allgemeiner Zusammenhang zwischen Varianz und Erwartungswert eines varianzminimalen Portefeuilles: σ p2 =

        A − 2Bµ p + Cµ p2 AC − B2

        380

        9 Quantitative Methoden des modernen Wertpapier-Managements

        • Multiplikation der Ableitung der Lagrange-Funktion nach den Aktienanteilen mit xi und Summation über alle i: N

        1 1 xi ∑ x j σ i j = λ 1 xi µ i + λ 2 xi . 2 2 j=1 Durch Einsetzen der Werte für λ 1 und λ 2 in Abhängigkeit von alternativen µ¯ p -Werten folgt: σ p2 = µ p

        Cµ p − B A − Bµ p + . AC − B2 AC − B2

        • Minimum-Varianz-Portefeuille MVP: µ MVP =

        B C

        2 und σ MVP =

        1 C

        Der Erwartungswert und die Varianz der Rendite des Portefeuilles mit der absolut geringsten Varianz folgen aus der Bedingung: d σ p2 2Cµ p − 2B = =0 dµ p AC − B2 • Effiziente Linie der Wertpapiermischungen, nach rechts ansteigender Ast einer Parabel im (µ p ,σ p )– Achsendiagramm:  AC − B2 2 µ p = µ MVP + σ p2 − σ MVP C

        9.1.2

        Portfolio Selection bei Existenz einer risikofreien Anlage

        Anleger hat die Möglichkeit, seine Mittel in eine risikofreie Anlage zu investieren. Die Varianz der sicheren Rendite r ist gleich Null. Zu dieser Rendite r kann sich der Anleger auch Geldmittel beschaffen. Mit y sei der Anteil des Anleger-Portefeuilles bezeichnet, der in die risikofreie Anlage investiert wird. N

        Modifizierte Budgetrestriktion der Aktienanlage:

        ∑ xi + y

        =1

        i=1

        N

        Erwartungswert der Portefeuille-Rendite:

        i=1 N N

        Varianz der Portefeuille-Rendite:

        N

        µ p = ∑ xi µ i + yr = r + ∑ xi (µ i − r) i=1

        σ p2 = ∑ ∑ xi x j σ i j i=1 j=1

        ● Portefeuille-Planungsproblem: Minimiere die Portefeuille-Varianz σ p2 unter der Nebenbedingung N

        µ¯ p = r + ∑ xi (µ i − r) . i=1

        a) Lagrange-Ansatz des Portefeuille-Problems ● Lagrange-Funktion zur Bestimmung des optimalen Portefeuilles:   N

        N

        L = ∑ ∑ xi x j σ i j − λ i=1 j=1

        N

        r + ∑ xi (µ i − r) − µ¯ p i=1

        9.1 Portfolio Selection

        381

        Ableitungen der Lagrange-Funktion: ∂L ∂xi ∂L ∂λ

        N

        = 2 ∑ x j σ i j − λ (µ i − r) = 0 j=1

        

        für i = 1,2, . . . ,N

        

        N

        = − r + ∑ xi (µ i − r) − µ¯ p

        =0

        i=1

        ● Lösung der Optimierung: 1 Aktienanteile im Optimum: xi = λ 2 Risikofreie Anlage:

        N

        1 2

        ∑ σˆ i j µ j − rλ j=1

        N

        ∑ σˆ i j

        für i = 1,2, . . . ,N

        j=1

        A − Br − Bµ¯ p + Crµ¯ p A − Br − Br + Cr2 µ¯ p − r λ =2 A − 2Br + Cr2 y=

        Lagrange-Multiplikator:

        Die Werte für y und λ folgen aus der Bedingung für die optimalen Aktienanteile. Die Addition über alle i ergibt N

        1

        1

        ∑ xi = 2 λ B − 2 λ rC = 1 − y i=1

        mit den bekannten Marktkonstanten B und C, sodass also λ in Abhängigkeit von y beschrieben ist. Elimination von y durch Multiplikation der Gleichung der Bedingung für die optimalen Aktienanteile mit µ i und Summation über alle i: N

        1

        1

        ∑ xi µ i = 2 λ A − 2 λ rB = µ¯ p − yr i=1

        mit der bekannten Marktkonstante A.

        b) Bestimmung des effizienten Randes Allgemeiner Zusammenhang zwischen Erwartungswert und Varianz der Rendite eines varianzminimalen Portefeuilles: σ p2 =

        (µ p − r)2 A − 2Br + Cr2

        √ ● Effiziente Linie: µ p = r + σ p A − 2Br + Cr2 ▲ Die effiziente Linie ist eine Gerade im (µ p ,σ p )–Koordinatensystem.

        9.1.3

        Separationstheorem von Tobin

        ● Separationstheorem von Tobin: Die Struktur des optimalen Aktien-Portefeuilles ist unabhängig vom Umfang des Portefeuilles riskanter Anlagen. Anteil Anleger-Portefeuille, der in die Aktie i investiert wird: N

        xi =

        µp − r

        ∑ σˆ i j (µ j − r) A − 2Br + Cr2 j=1

        382

        9 Quantitative Methoden des modernen Wertpapier-Managements

        Bezogen auf die gesamte Portefeuille-Struktur ist dieser Anteil wegen B − Cr

        N

        ∑ xi = (µ p − r) A − 2Br + Cr2 i=1

        unabhängig vom Erwartungswert µ p des Anleger-Portefeuilles: N

        xi N

        ∑ xi

        ∑ σˆ i j (µ j − r) =

        j=1

        B − Cr

        i=1

        ▲ Bietet sich einem Anleger neben riskanten Aktienanlagen noch die Möglichkeit einer risikofreien Geldanlage bzw. Geldaufnahme, dann hat der angestrebte Erwartungswert der Rendite zwar Einfluss auf den Umfang der in die riskanten Aktien insgesamt zu investierenden Mittel. Die Struktur des optimalen Aktienbestandes bleibt davon aber unbeeinflusst, sodass der Anleger die Entscheidung über die Struktur des optimalen Aktien-Portefeuilles unabhängig von der Entscheidung über den Umfang des optimalen Aktien-Portefeuilles treffen kann.

        9.1.4

        Tangential-Portefeuille

        Tangential-Portefeuille, Tangente von µ p = r an die aufsteigende effiziente Linie. • Steigung der effizienten Linie an der Stelle σ p = σ T : σ T AC − B2 $ 2 σ T2 − σ MV AC − B2 C P • Steigung der Tangente von r an den effizienten Rand: $ 2 µ0 − r + σ T2 − σ 02 AC−B µT − r C = σT

        σT

        • Gleichsetzen der beiden Steigungen ergibt: % AC − B2 2 4 σ T = σ MV + σ P MV P C (µ MV P − r)2 2 Mit µ MV P = B/C sowie σ MV P = 1/C:

        Standardabweichung der Rendite des Tangential-Portefeuilles: √ A − 2Br + Cr2 σT = B − Cr Erwartungswert der Rendite des Tangential-Portefeuilles: A − Br B − Cr ● Tangential-Portefeuille als Portefeuille riskanter Aktien: µT =

        xTi =

        ∑Nj=1 σˆ i j (µ j − r) B − Cr

        9.1 Portfolio Selection

        9.1.5

        383

        Portefeuille-Risiken der Wertpapiere

        ▲ In diversifizierten Portefeuilles erscheint es nicht sinnvoll, das Risiko eines Wertpapiers durch die Standardabweichung seiner Renditeverteilung zu beschreiben. Das Risiko eines Wertpapiers muss vielmehr im Portefeuille-Zusammenhang gesehen und gemessen werden. Portefeuille-Risiko einer Aktie i: die auf σ p normierte Kovarianz einer Aktie i im Portefeuille p: PRi =

        cov(ri ,r p ) σp

        = σ i ip

        mit − 1 ≤ ip ≤ 1

        Fallunterscheidungen: • ip = 1 • ip < 1 • ip < 0

        ⇒ ⇒ ⇒

        PRi = σ i ; PRi < σ i ; PRi < 0, d. h. das Wertpapier trägt im betrachteten Portefeuille zu einer Verminderung des Gesamtrisikos bei.

        Portefeuille-Risiko eines Wertpapiers i in einem effizienten Portefeuille p: PRi = (µ i − r)

        λ µi − r = σp 2σ p µp − r

        In einem effizienten Portefeuille ist das Portefeuille-Risiko einer Aktie proportional zu ihrer Risikoprämie. Bei Gültigkeit des Separationstheorems ist also in allen Anleger-Portefeuilles das Portefeuille-Risiko eines Wertpapiers gleich groß. ● Verhältnis der Portefeuille-Risiken in effizienten Portefeuilles: PRi µi − r = PR j µj − r ● Alternative Darstellung der Effizienzgerade mithilfe des Portefeuille-Risikos: µp = r +

        (µ T − r) σT

        σp

        ■ Kapitalmarkt mit Aktien A und B: µ A = 0,08, µ B = 0,14, σ A = 0,1, σ B = 0,15, AB = 0,4, r = 0,05. Optimales (varianzminimales) Portefeuille mit µ¯ p = 0,11: L ∂L ∂xA ∂L ∂xB ∂L ∂λ

        = 0,01x2A + 0,0225x2B + 0,012xAxB − λ (0,05 + 0,03xA + 0,09xB − 0,11) = 0,02xA + 0,012xB − 0,03λ = 0 = 0,012xA + 0,045xB − 0,09λ = 0 = 0,03xA + 0,09xB = 0,06

        Es folgt xA = 11,75%, xB = 62,75% und y = 1 − xA − xB = 25,50%. Portefeuille-Risiken von A und B: 0,08 − 0,05 PRA = 0,09410 · = 0,0497 , PRB = 0,1491 0,11 − 0,05 Verhältnis der Portefeuille-Risiken: PRA µA − r 1 = = PRB µB − r 3

        384

        9 Quantitative Methoden des modernen Wertpapier-Managements

        9.2

        Capital Asset Pricing Model

        9.2.1

        Grundlagen

        Effizienzgerade im Kapitalmarktgleichgewicht: µ p = r + (µ M − r)

        σp σM

        Systematisches Risiko SRi eines Wertpapiers: Risikobeitrag eines Wertpapiers i zum Markt-Portefeuille M: µi − r PRiM = SRi = σ M µM − r ▲ Die Aussagen des CAPM gelten nur für den Fall, dass bei gegebenem Informationsstand Aktienangebot (emittierte = umlaufende Aktien) und Aktiennachfrage der Anleger bei den abgeleiteten Aktienrenditen (Kursen) übereinstimmen.

        9.2.2

        Annahmen des CAPM

        Capital Asset Pricing Model (CAPM), beruht auf den gleichen Annahmen wie die Portfolio Selection. Zusätzlich gilt: 1. Risikofreier Zinssatz ist für alle Anleger identisch. 2. Informationen sind für alle Anleger kostenlos und unmittelbar verfügbar. 3. Anleger haben homogene Erwartungen. 4. Kapitalmarkt ist im Gleichgewicht. ▲ Implikationen der Annahmen 1. bis 3.: Aufgrund der homogenen Erwartungen und des für alle Anleger identischen risikofreien Zinssatzes berechnen alle Anleger die gleiche Effizienzgerade. Alle individuellen Portfolios befinden sich folglich auf dieser Linie. Damit investieren alle Anleger je nach Grad der Risikoaversion einen Teil bzw. ein Vielfaches ihrer Mittel in das für alle gleiche (!) Tangential-Portefeuille. Kapitalmarktgleichgewicht, der Markt ist geräumt; individuelle Portefeuille-Pläne aller Anleger sind bei den Gleichgewichtskursen kompatibel; kein Anleger hat bei den herrschenden Kursen das Bedürfnis, sein Portefeuille umzustrukturieren. ▲ Implikation der Annahme 4.: Besteht ein solches Kapitalmarktgleichgewicht, so gibt es weder ein Überschussangebot noch eine Überschussnachfrage nach bestimmten Wertpapieren. Im Tangential-Portefeuille müssen demnach alle Aktien enthalten sein. Dieses wird als Markt-Portefeuille M bezeichnet.

        9.2.3

        Hypothesen des CAPM

        Risk-Return-Beziehung, erwartete Rendite eines Wertpapiers im Kapitalmarktgleichgewicht: µM − r µi = r + SRi σM

        bzw. µi − r

          

        Risikoprämie der Aktie i

        =

        µM − r σM

           Marktpreis des Risikos

        SR i Systematisches Risiko der Aktie i

        9.2 Capital Asset Pricing Model

        385

        ▲ Im Kapitalmarktgleichgewicht besteht ein linearer Zusammenhang zwischen dem Erwartungswert der Wertpapierrendite und dem systematischen Risiko des Wertpapiers. Die erwartete Rendite ergibt sich als Summe aus dem risikofreien Zinssatz und dem systematischen Risiko, das mit dem Marktpreis des Risikos bewertet wird. Das systematische Risiko ist demnach als einziges bewertungsrelevant. Die isoliert gemessene Volatilität (die Standardabweichung der Rendite) spielt über das systematische Risiko hinaus ebenso wenig eine Rolle wie das unsystematische Risiko, das im Markt-Portefeuille vollständig diversifiziert ist. Risikoprämie einer Aktie µ i − r, wird im Kapitalmarktgleichgewicht durch den Marktpreis des Risikos und das systematische Risiko dieses Wertpapiers bestimmt. ▲ Der Standardabweichung der Rendite (der Volatilität) kommt kein eigenständiger Erklärungswert zu. ● Linearer Zusammenhang zwischen den Erwartungswerten der Risikoprämien und den systematischen Risiken der Wertpapiere. Für jede zusätzliche Einheit „Systematisches Risiko“ sollte eine zusätzliche Einheit „Erwartungswert der Risikoprämie“ vergütet werden. Der Marktpreis des Risikos ist positiv, die Risikoprämie nimmt mit steigendem systematischen Risiko zu.

        9.2.4

        Security Market Line

        ▲ Die Wertpapiermarktgerade bezieht sich auf ein einzelnes Wertpapier und trifft eine Aussage über die erwartete Rendite dieses Wertpapiers im Kapitalmarktgleichgewicht. Ist das systematische Risiko höher als das Risiko des Markt-Portefeuille, dann liegt auch die erwartete Rendite des Wertpapiers über der des Markt-Portefeuille. Security Market Line: µi = r +

        µM − r SRi σM

        ● Die Steigung der Wertpapiermarktgerade (Security Market Line) entspricht dem Marktpreis des Risikos. µi 6

        µM

        r

        Wertpapiermarktgerade

                   

        σM

        -

        SRi

        Alternative Darstellung der Wertpapiermarktgerade µ i = r + (µ M − r)β i

        mit β i =

        cov(ri ,rM ) var(rM )

        ● Der Beta-Faktor β i misst das systematische Risiko der Aktie i im Markt-Portefeuille. Das grafische Bild wird ebenfalls als Wertpapiermarktgerade bezeichnet.

        386

        9 Quantitative Methoden des modernen Wertpapier-Managements µi 6

        µM

        r

        Wertpapiermarktgerade

                  

        1

        -

        βi

        ▲ Beta-Faktor des Markt-Portefeuille ist gleich Eins. Entsprechend ist die erwartete Rendite eines Wertpapiers bei einem β i > 1 höher als die erwartete Marktrendite und bei einem β i < 1 niedriger als die erwartete Marktrendite. ■ Kapitalmarkt mit Aktien A und B: Markt-Portefeuille mit µ M = 12%, σ M = 10% und r = 5%. Weiter sind gegeben AM = 0,5, BM = 0,3, σ A = 25%, σ B = 30%. Für die Beta-Faktoren gilt: β A =

        0,25 · 0,5 = 1,25, β B = 0,9. 0,1

        Erwartete Renditen: µ A = r + β A (µ M − r) = 13,75% ,

        9.2.5

        µ B = 11,3%

        Capital Market Line

        Capital Market Line: µ p = r + (µ M − r)

        σp σM

        Die grafische Umsetzung der Effizienzgerade im Kapitalmarktgleichgewicht bezeichnet man als Kapitalmarktgerade (Capital Market Line). Es besteht ein linearer Zusammenhang zwischen dem Erwartungswert der Portefeuille-Rendite und dem Risiko des Portfolio, gemessen als Standardabweichung der Portefeuille-Rendite. µp 6

        µM

        r

        Kapitalmarktgerade

             

               

        σM

        -

        σp

        9.3 Index- und Faktormodelle

        9.3

        Index- und Faktormodelle

        9.3.1

        Ein-Index-Modell und Ein-Faktor-Modell

        387

        a) Ein-Index-Modell Rendite-erzeugender Prozess eines Ein-Index-Modells (Single-Index-Modell, Diagonal-Modell): cov(rit ,It ) σ iI = 2 . rit = ai + bi It + ε it mit bi = var(rI ) σI It ist ein zunächst nicht näher definierter Index; ai stellt die Komponente der Aktienrendite rit dar, die unabhängig vom Index ist; bi ist die Sensitivität der Aktienrendite bezüglich des Index; ε it ist ein Störterm. ● ai und bi sind annahmegemäß im Zeitablauf konstant. Die Sensitivität bi gibt die durchschnittliche Veränderung der Rendite der Aktie bei einprozentiger Veränderung des Index an. Die Zeitindizierung wird im Weiteren meist unterdrückt. ▲ Nach Annahme hat der Störterm einen Erwartungswert von Null bei konstanter Varianz ist die Kovarianz zwischen der Störgröße und dem Index gleich Null und sind die Kovarianzen zwischen den Störgrößen der Wertpapiere ebenfalls gleich Null. • Erwartete Rendite der Aktie i beim Ein-Index-Modell: µ i = E(ri ) = E(ai + bi I + ε i ) = ai + bi E(I) .

        • Varianz der Aktienrendite beim Ein-Index-Modell: var(ri ) = cov(ri ,ri ) = b2i cov(I,I) + 2bi cov(I,ε i ) + cov(ε i ,ε i ) = b2i σ I2 + σ ε2 . Aufteilung der Varianz der Aktienrendite in zwei Komponenten: linker Term als das indexbezogene Risiko (= Faktorrisiko); rechter Term als das idiosynkratische bzw. wertpapierbezogene (wertpapierspezifische) Risiko. • Bestimmtheitsmaß zwischen Aktienrendite und Faktor:

        2iI = 1 −

        σ 2 . σ i2

        Das Bestimmtheitsmaß gibt an, wie viel Prozent der Varianz der Aktienrendite durch den Index erklärt werden. • Rendite eines Portefeuilles im Ein-Index-Modell: N

        N

        N

        N

        N

        i=1

        i=1

        i=1

        i=1

        i=1

        r p = ∑ xi ri = ∑ xi (ai + bi I + ε i ) = ∑ xi ai + ∑ xi bi I + ∑ xi ε i . Vereinfacht: r p = a p + b p I + ε p

        N

        N

        N

        i=1

        i=1

        i=1

        mit a p = ∑ xi ai , b p = ∑ xi bi , ε p = ∑ xi ε i .

        • Erwartungswert und Varianz eines Portefeuilles: µ p = a p + b p E(I) . σ p2 = b2p σ I2 + σ ε2 =

        

        N

        ∑ xi bi

        i=1

        2

        N

        σ I2 + ∑ x2i σ ε2i . i=1

        Der letzte Term, das idiosynkratische Risiko verschwindet bei ausreichender Diversifikation. • Kovarianz zwischen Aktienrenditen beim Ein-Index-Modell: cov(ri ,r j ) = bi b j cov(I,I) + bi cov(I,ε j ) + b j cov(I,ε i ) = bi b j σ I2 .

        388

        9 Quantitative Methoden des modernen Wertpapier-Managements

        ▲ Mit der Kenntnis von Erwartungswert, Varianz und Kovarianz kann man das Portefeuille-Planungsproblem stark vereinfachen, da man eine deutlich geringere Anzahl von Schätzungen benötigt. Bei der Portfolio Selection benötigt man bei N Wertpapieren Schätzungen für den risikolosen Zinssatz (1 Parameter), die Erwartungswerte der Renditen (N), die Varianzen der Renditen (N) sowie für die Kovarianzen ((N 2 − N)/2). Beim Ein-Index-Modell benötigt man Schätzungen für den risikolosen Zinssatz (1), den Erwartungswert des Index (1), die Varianz des Index (1), ai für jedes Wertpapier (N), bi für jedes Wertpapier (N) sowie für die Varianzen der Störterme (N). Während man also bei der Portfolio Selection (N 2 + 3N + 2)/2 Schätzungen benötigt, sind beim Ein-Faktor-Modell 3N + 3 Schätzungen erforderlich. ■ Ein Vergleich der Anzahl der Schätzungen zeigt den Vorteil des Ein-Index-Modells ab einer Anzahl von 5 Wertpapieren: N Portfolio Selection Ein-Index-Modell 2 6 9 3 10 12 4 15 15 5 21 18 10 66 33 50 1326 153 100 5151 303 300 45451 903

        b) Ein-Faktor-Modell Ein-Faktor-Modell: rit = ai + bi Ft + ε it ● Im Prinzip sind Faktor- und Index-Modell identisch. Lediglich unterschiedliche Bezeichnung in der Literatur und Ersetzung des Indexzeichens I durch das Faktorzeichen F. bi wird häufig als Faktorsensitivität und das indexbezogene Risiko als Faktorrisiko bezeichnet.

        9.3.2

        Multi-Index- und Mehr-Faktoren-Modelle

        • Rendite-erzeugender Prozess eines Multi-Index-Modells: rit = ai + bi1 I1t + bi2 I2t + . . . + biκ Iκ t + ε it . • Erwartete Rendite der Aktie i beim Multi-Index-Modell: µ i = E(ri ) = ai + bi1 E(I1 ) + . . . + biκ E(Iκ ) . • Annahmen des Multi-Index-Modells für alle Aktien i und Indizes k: 1. E(ε i ) = 0. 2. σ ε2i ist konstant. 3. Rendite ai und Sensitivitäten bik sind im Zeitablauf konstant. 4. cov(ε i ,ε j ) = 0. 5. cov(ε i ,Ik ) = 0. 6. Ergänzend zum Ein-Faktor-Modell wird cov(Il ,Im ) = 0 angenommen, d. h., zwischen zwei Indizes darf keine Korrelation bestehen. • Varianz der Aktienrendite beim Multi-Index-Modell: var(ri ) = cov(ri ,ri ) = b2i1 σ I21 + . . . + b2iκ σ I2κ + σ ε2i .

        9.3 Index- und Faktormodelle

        389

        • Kovarianz zwischen den Renditen: cov(ri ,r j ) = bi1 b j1 σ I21 + . . . + biκ b jκ σ I2k . ▲ Auch hier kann das Risiko wieder zerlegt werden, wobei das index- oder faktorbezogene Risiko auf die jeweiligen Faktoren aufgeteilt wird. ▲ Für praktische Anwendungen von Index- und Faktor-Modellen ist es notwendig, die (Faktor-)Sensitivitäten bik und den Parameter ai zu kennen. Diese werden i. d. R. aus vergangenen Daten der Aktien und der Faktoren mithilfe einer einfachen (univariaten) Regression im Falle eines Ein-Index-Modells oder einer multiplen (multivariaten) Regression bei einem Multi-Index-Modell geschätzt. Die gängigste Methode zur Schätzung einer Regressionsgleichung ist das OLS (Ordinary Least Square = Methode der kleinsten Quadrate)-Verfahren. ▲ Index- und Faktoren–Modelle treffen keine Aussagen über die Anzahl und die Wahl der relevanten Faktoren. Die Faktoren werden oft über die so genannte Faktorenanalyse, anhand ökonomischer Theorien oder auch durch Vorabspezifikation bestimmt. Für die Anzahl der Indizes erhält man zumeist Werte unter 10, bei großen Stichproben aber auch erheblich darüber. Allerdings weisen meist nur die maximal ersten 10 Faktoren einen wesentlichen Erklärungsbeitrag für die Aktienrenditen auf.

        9.3.3

        Das Marktmodell

        Das Marktmodell kann als Spezialfall eines Ein-Index-Modells aufgefasst werden, bei dem die Rendite bzw. die Überschussrendite des Markt-Portefeuilles als einziger Index verwandt wird. Da das MarktPortefeuille nicht beobachtbar ist, wird als Proxy üblicherweise ein Aktienindex gewählt. ● Standardform des Marktmodells: rit = α i + β i rMt + ε it . Marktmodell als empirisch nachprüfbare Form des CAPM. CAPM ist ex ante-Modell, das auf Erwartungswerten basiert. Marktmodell ist ex post-Modell, das mit Vergangenheitsdaten von Wertpapierrenditen arbeitet. ● Characteristic Line: Die grafische Darstellung des Marktmodells bezeichnet man als charakteristische Linie. ▲ Für das Marktmodell gelten die gleichen Annahmen wie für das Ein-Index-Modell; allerdings mit einer Ausnahme. Statt cov(ε it ,ε jt ) = 0 gilt beim Marktmodell ∑ j x j cov(ε i ,ε j ) = 0. • Erwartungswert der Wertpapierrendite beim Marktmodell: µi = α i + β iµM . • Varianz der Wertpapierrendite beim Marktmodell: 2 σ i2 = β i2 σ M + σ ε2i .      Gesamtrisiko

        systematisches Risiko

        unsystematisches Risiko

        Der linke Term stellt das systematische Risiko, der rechte Term das unsystematische Risiko der Aktie dar. Der Störterm im Marktmodell wird daher auch unsystematische Rendite genannt. Bei ausreichender Diversifikation verschwindet das unsystematische Risiko:  2 2 2 2 2 σ p = β p σ M + σ ε p = ∑ xi β i σ M2 + ∑ x2i σ ε2i i

        i

        ● Wichtige Unterschiede zwischen CAPM und Marktmodell: • CAPM ist ein ex ante-Modell, Marktmodell ein ex post-Modell. • CAPM ist ein einperiodiges Modell, Marktmodell wird wie die Index-Modelle allgemein mit einer Zeitreihenregression, also mit Werten zu verschiedenen Zeitpunkten, geschätzt.

        390

        9 Quantitative Methoden des modernen Wertpapier-Managements • CAPM ist ein Gleichgewichtsmodell, während beim Marktmodell der Kapitalmarkt nicht im Gleichgewicht sein muss.

        ● Voraussetzungen für eine Kompatibilität von CAPM und Marktmodell: 1. Der am Kapitalmarkt gültige rendite-erzeugende Prozess ist das Marktmodell. 2. Die Anleger haben rationale Erwartungen, d. h. die Erwartungen der Anleger stimmen mit der Vorhersage der relevanten ökonomischen Theorie, hier dem CAPM, überein. 3. Die Renditen sind unabhängig und identisch verteilt. Diese drei Annahmen gewährleisten, dass das mit dem Marktmodell geschätzte Beta mit dem Beta des CAPM übereinstimmt, der Beta-Faktor über den gesamten Untersuchungszeitraum stabil ist und die ex post-ermittelten Mittelwerte der Renditen mit den ex ante-erwarteten Renditen übereinstimmen. ▲ Marktmodell und CAPM sind identisch, wenn α i = (1 − β i )r. ■ Index-Tracking: Gegeben sind folgende Kennzahlen zweier Aktien A und B sowie des Marktindex M: Volatilität Korrelation Beta-Faktor M 24,84 % 1,0000 1,0000 A 31,40 % 0,8203 1,0370 B 32,15 % 0,6962 0,9011 Berechnung der unsystematischen Risiken von A und B: σ ε2A = σ A2 − β A2 σ M2 = 0,31402 − 1,03702 · 0,24842 = 0,03224,σ ε2B = 0,05326

        Da σ ε2A < σ ε2B und das Beta von A näher an Eins liegt, ist die A-Aktie zur Nachbildung des Marktindex der B-Aktie vorzuziehen. Nachbildung („Tracking“) des Marktindex durch Kombination von A und B: xβ A + (1 − x)β B = 1, d. h. 1,0370x + 0,9011(1 − x) = 1

        =⇒ x = 0,7277 .

        Man wählt also ein Portefeuille bestehend zu 72,77 % aus Aktie A und zu 27,23 % aus Aktie B zum Tracking des DAX. Diese Portefeuille hat ein Beta von Eins und ein unsystematisches Risiko von σ ε2A+B = x2 σ ε2A + (1 − x)2 σ ε2B = 0,02102 .

        9.3.4

        Arbitrage Pricing Theory APT

        Ein alternativer Ansatz zum CAPM ist die von Ross formulierte und in verschiedenen Versionen weiterentwickelte Arbitrage Pricing Theory APT. Wesentliche Voraussetzung für die Herleitung der APT ist die Annahme der Arbitrage-Freiheit. Die APT unterstellt, dass die Renditen aller Wertpapiere durch ein Faktormodell erzeugt werden. ● Zentrale Bewertungsgleichung der Arbitrage Pricing Theory APT: µ i = E(ri ) = λ 0 + λ 1 bi1 + . . . + λ κ biκ

        ● Alternative Darstellung der zentralen Bewertungsgleichung der Arbitrage Pricing Theory APT: µ i = E(ri ) = r + bi1 (µ p1 − r) + . . . + biκ (µ pκ − r)

        ● Annahmen der APT: 1. Die Renditen werden durch ein Index- bzw. Faktor-Modell erzeugt: ri = E(ri ) + bi1 F1 + . . . biκ Fκ + ε i mit E(Fk ) = 0 für alle k . Die Rendite besteht somit aus einem erwarteten Teil E(ri ), der alle zum Zeitpunkt t bekannten Informationen enthält und einem unerwarteten Teil, der sich aufgrund der zwischen t und t + 1 eintreffenden Informationen ergibt.

        9.3 Index- und Faktormodelle

        391

        2. Es gelten die für Index-Modelle üblichen Annahmen. 3. Bei den Faktoren handelt es sich um gemeinsame Faktoren, d. h. der Wert des Faktors zu einem bestimmten Zeitpunkt ist für alle Wertpapiere gleich. Unternehmenskennzahlen können als Faktoren nicht verwendet werden. 4. Es gibt „sehr viele“ Wertpapiere. Die Anzahl der Wertpapiere N ist größer als die Anzahl der Faktoren κ . 5. Es gibt „sehr viele“ Anleger. Die Nachfragestruktur ist atomistisch. 6. Die Anleger haben einen positiven Grenznutzen. Die Anleger verhalten sich rational. 7. Die Anleger haben homogene Erwartungen bezüglich Anzahl, Art und Erwartungswert der Faktoren. ▲ Vergleich der Annahmen zum CAPM: Die APT setzt als einzige Annahme bezüglich des Ver-

        haltens der Marktteilnehmer voraus, dass Anleger eine höhere Rendite einer niedrigeren Rendite vorziehen (positiver Grenznutzen). Die Annahme des Kapitalmarktgleichgewichts wird bei der APT ebenfalls abgeschwächt: So dürfen auf dem Kapitalmarkt keine Arbitrage-Möglichkeiten bestehen (Annahme der Arbitrage-Freiheit). Da die APT in der Ursprungsfassung kein Gleichgewichtsmodell ist, ist für die APT auch nicht die Kenntnis eines Markt-Portefeuilles notwendig. 8. Der Kapitalmarkt ist vollkommen in dem Sinne, dass keine Teilbarkeitsprobleme, keine Leerverkaufsrestriktionen, keine Transaktionskosten und keine Steuern auftreten, die Friktionen im Handel verursachen oder die Bewertung der Wertpapiere beeinflussen. Der Kapitalmarkt ist somit arbitragefrei, d. h. Arbitrage-Möglichkeiten führen zu einer sofortigen Anpassung der Kurse und damit zur Aufhebung der Arbitrage-Möglichkeiten. ● Arbitrage-Portefeuille: Unter den Annahmen der APT konstruierbares Portefeuille mit folgenden Eigenschaften: N

        1. ∑ xi = 0. Zur Bildung des Portefeuilles muss kein Geld zur Verfügung gestellt werden. Die Summe i=1

        der Anteile kann nur Null ergeben, wenn Leerverkäufe möglich sind. N

        2. b pk = ∑ xi bik = 0 für alle k. Das Portefeuille weist kein systematisches Risiko bzw. keine Faktorrii=1

        siken auf. N 3. ε p = ∑ xi ε i = 0. Das idiosynkratische Risiko muss verschwinden. Diese Bedingung kann nur i=1

        dann vollständig erfüllt sein, wenn es unendlich viele Wertpapiere gibt oder der Kapitalmarkt im Gleichgewicht ist. Andernfalls gilt diese Anforderung nur approximativ. Rendite des Arbitrage-Portefeuilles: 1. Schritt (Faktor-Modell-Eigenschaft):

        r p0 = E(r p0 ) + b p1 F1 + . . . + b pκ Fκ + ε p N

        2. Schritt (2. und 3. Eigenschaft von Arbitrage-Portefeuilles):

        r p0 = E(r p0 ) = ∑ xi µ i i=1

        N

        3. Schritt (1. Eigenschaft von Arbitrage-Portefeuilles):

        r p0 = E(r p0 ) = ∑ xi µ i = 0 i=1

        ▲ Da das Arbitrage-Portefeuille keinen Geldeinsatz erfordert und risikolos ist, muss es eine Rendite von Null erzielen. ▲ Die abgeleiteten Bedingungen bilden ein Gleichungssystem. Durch Einfügen von k Konstanten λ k und geeignete Umformung erhält man die obige zentrale Bewertungsgleichung der APT. Diese Gleichung gilt nur, wenn a) unendliche viele Wertpapiere am Markt gehandelt werden oder b), wenn endlich viele Wertpapiere existieren und der Kapitalmarkt wie beim CAPM im Gleichgewicht ist. Gibt es endlich viele Wertpapiere, aber kein Kapitalmarktgleichgewicht, dann gilt die Gleichung nur approximativ, da bei der Portefeuille-Bildung das idiosynkratische Risiko nicht vollständig eliminiert werden kann.

        392

        9 Quantitative Methoden des modernen Wertpapier-Managements

        ● Zero-Beta-Portefeuille: Portefeuilles, die gegenüber allen Faktoren eine Sensitivität von Null aufweisen: bik = 0 für alle k. Bewertungsgleichung für das Zero-Beta-Portefeuille: µi = λ0

        Zero-Beta-Portefeuilles haben kein systematisches bzw. faktorbezogenes Risiko. Da sie annahmegemäß gut diversifiziert sind, tragen sie auch kein bzw. fast kein idiosynkratisches Risiko. Diese Portefeuilles sind folglich risikolos, die Rendite dieser Portefeuilles entspricht somit dem risikolosen Zinssatz: λ 0 = r. ▲ Der risikolose Zinssatz ist durch die Rendite der Zero-Beta-Portefeuilles definiert. Die APT trifft also nicht die Annahme der Existenz eines risikolosen Zinses, sondern seine Existenz folgt aus den Annahmen der APT. ● Faktor-k-Portefeuilles: haben gegenüber genau einem Faktor die Sensitivität Eins und gegenüber den restlichen Faktoren eine Sensitivität von Null: µ pk = λ 0 + λ k bik = r + λ k

        Bei Arbitrage-Freiheit müssen alle Faktor-k-Portefeuilles denselben Erwartungswert der PortefeuilleRendite aufweisen. Überschussrendite der Faktor-k-Portefeuilles über den risikolosen Zins: λ k = µ pk − r

        ■ Beispiel zur APT und Faktor-k-Portefeuille: Kapitalmarkt mit 3 Wertpapieren und 2 Faktoren mit den Sensitivitäten b11 = −0,40, b12 = 1,75, b21 = 1,60, b22 = −0,75, b31 = 0,67, b32 = −0,25 . Faktor-1-Portefeuille: x1 = 0,3, x2 = 0,7, x3 = 0 folgt aus Lösung des Gleichungssystems: x1 + x2 + x3 = 1 b p1 = −0,4x1 + 1,6x2 + 0,67x3 = 1 b p2 = 1,75x1 − 0,75x2 − 0,25x3 = 0 . Faktor-2-Portefeuille: x1 = 0,625, x2 = 0, x3 = 0,375 folgt aus Lösung des Gleichungssystems: x1 + x2 + x3 = 1 b p1 = −0,4x1 + 1,6x2 + 0,67x3 = 0 b p2 = 1,75x1 − 0,75x2 − 0,25x3 = 1 . Sind weiter ein risikoloser Zinssatz von 7% und Überschussrenditen der Faktor-k-Portefeuilles von 16,6% bzw. 13,4% gegeben, so folgt für die Risikoprämien: λ 1 = µ p1 − r = 16,6% − 7% = 9,6% λ 2 = µ p2 − r = 13,4% − 7% = 6,4 % .

        Bestimmung der erwarteten Rendite des Wertpapiers 1: r1 = µ 1 + b11 F1 + . . . + b1κ Fκ + ε 1 = µ 1 − 0,4F1 + 1,75F2 . Bildung eines Portefeuille aus den Faktor-Portefeuilles und der risikolosen Anlage/Verschuldung, das die gleiche Risikocharakteristik (b11 = −0,4, b12 = 1,75) bezüglich der Faktoren besitzt wie das

        9.4 Kennzahlen des Zins-Management

        393

        Wertpapier 1: −0,4 Anteile des Faktor-1-Portefeuilles; 1,75 Anteile des Faktor-2-Portefeuilles sowie −0,35 Teile des risikolosen Wertpapiers, d. h. Kreditaufnahme. Damit folgt: µ p = (−0,35) · 0,07 + (−0,4) · 0,166 + 1,75 · 0,134 = 0,1436

        , also

        µ 1 = 14,36% .

        9.4

        Kennzahlen des Zins-Management

        9.4.1

        Effektiv-, Termin- und Laufzeitzinssätze von Anleihen

        • Marktwert PV einer endfälligen Kuponanleihe: T

        et t t=1 (1 + i)

        PV = ∑ mit

        et = Kuponzahlung bzw. Tilgungszahlung in t = T , T = Laufzeit in Jahren i = Marktzinssatz p. a. • Effektivzins: Interner Zinsfuß iiz f , d. h. T

        PV − ∑ t=1

        et 1 + iiz f

        t = 0

        • Laufzeitzinssätze R1 , R2 ,. . . (Spot Rates): (Jahres-) Zinssätze für Anlagen entsprechender Laufzeiten: T

        et t t=1 (1 + Rt )

        PV = ∑

        Der Laufzeitzinssatz Rt beschreibt den Kassazinssatz für Anlagen von 0 bis t. Da keine zwischenzeitlichen Anlagen oder Ausschüttungen erfolgen dürfen, handelt es sich bei den Anlagen um Zero-Bonds (Null-Kuponanleihen). • Terminzinssätze r1 , r2 ,. . . ( Forward Rates): Zinssätze der jeweiligen zukünftigen Perioden bzw. Jahre: T

        et t t=1 (1 + rt )

        PV = ∑

        Der Terminzinssatz rt stellt den in der Periode t (auf Basis der Informationen in t = 0) ermittelten Jahreszinssatz dar. ▲ Es gilt: R1 = r1 ,

        (1 + R2 )2 = (1 + r1 )(1 + r2 )

        bzw. allgemein % t

        Rt =

        t

        ∏ (1 + rτ ) .

        τ =1

        394

        9 Quantitative Methoden des modernen Wertpapier-Managements

        9.4.2

        Arbitrage-Analyse von Anleihen

        ■ Zwei Anleihen A und B mit folgender Zahlungscharakterisitk und folgenden Renditen. Einjährige Anlagemöglichkeit zu 5 %. t=0 t=1 t = 2 Rendite Anleihe A −90 0 101,124 6% Anleihe B −100 6 106,000 6% Duplikation des Zahlungsstroms von Anleihe A mit Wertpapier B und einjähriger Anlage. Wenn der ursprüngliche und der duplizierte Zahlungsstrom nicht den gleichen Kurswert aufweisen, bestehen Arbitrage-Möglichkeiten. Dazu werden zunächst von Anleihe B nominal 95,4 % erworben. Die Auszahlung in t = 1 wird schließlich mithilfe der zur Verfügung stehenden einperiodigen Anlagemöglichkeit ausgeglichen, man verschuldet sich im Umfang von 5,724 zu 5 % für eine Periode. Das Duplikations-Portefeuille ist billiger als Anleihe A, sodass Anleihe B trotz gleicher Effektivverzinsung Anleihe A vorzuziehen ist. Der Grund ist darin zu sehen, dass eine steigende Zinskurve herrscht und die Mittelanlage in Anleihe B (im Durchschnitt) früher wieder zurückfließt und in der zweiten Periode zu einem höheren Zinssatz angelegt werden kann.

        Anleihe A Anleihe B 95,4 % Anleihe B Verschuldung zu 5 % A-95,4 %B-Verschuldung

        9.4.3

        t=0 t=1 t=2 −90 0 101,124 -100 6 106,000 -95,4 5,724 101,124 -5,45 -5,724 0 -0,05 0 0

        Duration und Immunisierung

        ● Duration D einer Anleihe: 1 T tet D= ∑ (1 + i)t . PV t=1 Die Duration ist als mittlere Bindungsdauer eines i. d. R. festverzinslichen Wertpapiers definiert. Sie kann berechnet werden, indem die Zahlungszeitpunkte des Wertpapiers mit dem Anteil des dem Zahlungszeitpunkt zugerechneten Barwertes am Marktwert gewichtet werden. D . 1+i ■ Bei Null-Kuponanleihen ist die Duration gleich der Laufzeit der Anleihe, bei Kuponanleihen ist die Duration kleiner als die Laufzeit. Modified Duration:

        ● Konvexität Con einer Anleihe: Con = D + D2 + V

        mit V =

        1 T (t − D)2 et ∑ (1 + i)t . PV t=1

        Da PV eine konvexe Funktion in i ist, kann über die Duration nur bei kleinen Zinsänderungen eine gute D Approximation der Änderung des Marktwertes der Anleihe erreicht werden: ∆PV ≈ −PV∆i ∆i. 1+i

        9.5 Preistheorie von Aktienoptionen

        395

        Sie entspricht dem zweiten Glied einer Taylor-Approximation nach dem Zinssatz i. Für eine bessere Annäherung wird ein weiteres Glied der Taylor-Reihe ermittelt: D Con 1 (∆i)2 . ∆i + PV∆i 2 1+i 2 (1 + i) ■ Immunisierung des Portefeuille-Endvermögens durch die Wahl der Duration gemäß des Planungshorizonts: ∆PV ≈ −PV∆i

        Anleger mit Anlagebetrag 15.000 a möchte in 2 Jahren über einen bei dem herrschenden Marktzins von 10 % erzielbaren Betrag von mindestens 18.150 a verfügen. Existierende Wertpapiere weisen alle eine Effektivverzinsung von 10 % auf. Marktzinsänderung kurz nach t = 0 auf 12 % oder auf 8 % wird als möglich erachtet. Wahl eines Wertpapiers A mit der folgenden Zahlungscharakteristik und der Duration von 2 (Jahren): t=1 t=2 t=3 Anleihe A 44,00 48,40 53,24 Marktwert von A =

        44,00 48,40 53,24 + = 120. + 1,1 1,12 1,13

        Kauf von 15.000/120 = 125 Anteile Wertpapier A.   1 1 · 44,00 2 · 48,40 3 · 53,24 Duration von A = + + =2. 120 1,1 1,12 1,13 Berechnung des Endvermögens bei unverändertem Marktzinssatz: 125 · 44,00 · 1,10 + 48,40 · 125 + 53,24/1,10 = 18.151,96 a . Berechnung des Endvermögens bei verändertem Marktzinssatz auf 12 %: 125 · 44,00 · 1,12 + 48,40 · 125 + 53,24 · 125/1,12 = 18.150 a . Berechnung des Endvermögens bei verändertem Marktzinssatz auf 8 %: 125 · 44,00 · 1,08 + 48,40 · 125 + 53,24 · 125/1,08 = 18.152,03 a . Der Anleger profitiert also von Marktzinsänderungen in beiden Richtungen und erhält dann den geplanten Vermögensendwert, wenn sich das Marktzinsniveau nicht ändert: Der Vermögensendbetrag ist gegen Zinsänderungen immunisiert.

        9.5

        Preistheorie von Aktienoptionen

        ● Aktienoption: berechtigt den Optionskäufer (Inhaber der Option), eine bestimmte Aktie (Basiswert, Basisobjekt) zu einem festgelegten Preis (Basispreis, Basiskurs) zu erwerben (Call, Kaufoption) bzw. zu veräußern (Put, Verkaufsoption). Für dieses Recht zahlt der Käufer dem Verkäufer der Option eine Prämie, den Optionspreis. Ist die Ausübung der Option nur zu einem bestimmten Zeitpunkt möglich, so spricht man von einer europäischen Option. Kann die Option jederzeit bis zu einem festgelegten Zeitpunkt, dem Verfalldatum, ausgeübt werden, so handelt es sich um eine amerikanische Option. Der Verkäufer (Stillhalter) der Option ist verpflichtet, während der festgelegten Frist (Laufzeit) auf Verlangen des Käufers die Basisaktie zum vereinbarten Basispreis zu liefern bzw. abzunehmen. Nimmt der Inhaber der Option sein Optionsrecht in Anspruch (Ausübung der Option), tritt die oben genannte aufschiebende Bedingung ein und der Kaufvertrag muss erfüllt werden.

        396

        9 Quantitative Methoden des modernen Wertpapier-Managements

        9.5.1

        Arbitrage-Grenzen bei Aktienoptionen

        Postuliert man lediglich einen arbitragefreien Kapitalmarkt, so kann man bereits erste Wertbeziehungen zwischen Optionswert und Einflussparametern ableiten, indem man untere und obere Grenzen des Optionswertes bestimmt. ● Wert einer Option im Verfallzeitpunkt: C(T ) = max(0,S(T ) − K) ,

        P(T ) = max(0,K − S(T ))

        mit C als Call- und P als Put-Preis, Verfalldatum T , Kurs der Basisaktie S sowie spezifizierter Basispreis K. ● (Positiver) Innerer Wert eines Call bzw. eines Put: S − K bzw. K − S. Zeitwert eines Call bzw. eines Put: C− Innerer Wert bzw. P− Innerer Wert. ● Arbitrage-Grenzen bei Calls: • Der Call-Preis ist nichtnegativ: C ≥ 0. • Der Call-Preis ist kleiner als der Preis der Basisaktie: C ≤ S. • Der Call-Preis ist größer als die Differenz aus Aktienkurs und Basiskurs: C ≥ S − K. • Der Call-Preis ist größer als die Differenz aus Aktienkurs und diskontiertem Basiskurs: C ≥ S − Kr−T mit risikolosem Zinssatz r. ● Arbitrage-Grenzen bei Calls mit Dividenden: C ≥ S − Kr−T − Dr−tD C ≥ S − Kr−T − Dmax r−tD C ≥ S − Kr−T − Dbarw max

        bei sicherer Dividendenausschüttung D zum Zeitpunkt tD. bei unsicherer Dividendenausschüttung D˜ ≤ Dmax zum Zeitpunkt tD . bei mehreren unsicheren Dividendenausschüttungen mit Dbarw max als Barwert der Summe der während der Restlaufzeit maximal erwarteten Dividendenausschüttungen.

        ▲ Sind Dividenden zu berücksichtigen, so verringern sich die unteren Schranken offensichtlich jeweils

        um den Barwert der erfolgten Dividendenausschüttungen auf die betrachtete Aktie. ● Arbitrage-Grenzen bei Puts: • Der Put-Preis ist nichtnegativ: P ≥ 0. • Der Put-Preis ist kleiner als der Basiskurs: P ≤ K. • Der Preis amerikanischer Optionen ist größer als die Differenz aus Basiskurs und Aktienkurs: P ≥ K − S. • Der Put-Preis ist größer als die Differenz aus diskontiertem Basiskurs und Aktienkurs: P ≥ Kr−T −S. ▲ Bei Verkaufsoptionen ist zu beachten, dass nur für amerikanische Puts der Wert immer größer als

        der innere Wert ist. Bei europäischen Puts ist diese Wertrelation nicht zwingend gegeben. ● Arbitrage-Grenzen bei Puts mit Dividenden: P ≥ Dr−tD + Kr−T − S P ≥ Dmin r−tD + Kr−T

        bei sicherer Dividendenausschüttung D zum Zeitpunkt tD . − S bei unsicherer Dividendenausschüttung D˜ ≥ Dmin zum Zeitpunkt tD.

        −T P ≥ Dbarw −S min + Kr

        bei mehreren unsicheren Dividendenausschüttungen mit Dbarw min als Barwert der Summe der während der Restlaufzeit mindestens erwarteten Dividendenausschüttungen.

        ▲ Dividendenausschüttungen haben bei Verkaufsoptionen genau den gegenteiligen Effekt auf die Wert-

        untergrenze im Vergleich zu entsprechenden Ergebnissen für Kaufoptionen. Die untere Begrenzung erhöht sich um den diskontierten Dividendenbetrag.

        9.5 Preistheorie von Aktienoptionen

        397

        ● Arbitrage-Grenzen bei variierendem Basispreis: Für K1 ≤ K2 ≤ K3 gilt: C(K1 )

        ≥ C(K2 )

        ≥ P(K1 ) K3 − K2 K2 − K1 C(K2 ) ≤ C(K1 ) + C(K3 ) K3 − K1 K3 − K1 K3 − K2 K2 − K1 P(K2 ) ≤ P(K1 ) + P(K3 ) K3 − K1 K3 − K1 K2 − K1 ≥ C(K1 ) − C(K2 ) P(K2 )

        K2 − K1 ≥ P(K2 ) − P(K1 ) . Nur für europäische Optionen gilt: (K2 − K1 ) r−T ≥ C(K1 ) − C(K2 ) (K2 − K1 ) r−T ≥ P(K2 ) − P(K1 ) . ● Der Wert eines amerikanischen Call bzw. Put kann nicht kleiner sein als der Wert eines ansonsten gleichartigen amerikanischen Call bzw. Put mit einer geringeren Restlaufzeit.

        9.5.2

        Optimale Ausübung amerikanischer Aktienoptionen

        ● Es ist nicht sinnvoll, eine amerikanische Kaufoption vor ihrem Verfalldatum auszuüben, wenn auf die zugrunde liegende Aktie während der Optionslaufzeit keine Dividende gezahlt wird. Amerikanische Option mit Restlaufzeit T . Umformung von C ≥ S − Kr−T in eine Gleichung: C ≥ S − Kr−T + VWC mit „Versicherungswert“ VWC ≥ 0. Erweitert man die Gleichung mit +K − K, so folgt C − (S − K)    Verlust aufgrund vorzeitiger Ausübung

        =

        K Kr−T  − Zeitwert für Anlage von K

        +

        VWC   

        .

        Versicherungswert der Option

        Bei sofortiger Ausübung eines amerikanischen Call kann der Investor lediglich S−K erzielen. Die Differenz aus Optionswert C und dem bei sofortiger Ausübung realisierten Wert S − K ist jedoch immer positiv aufgrund des positiven Zeitwertes und des positiven Versicherungswertes. Ein rationaler Investor kann also durch Halten bzw. Verkaufen der Option einen höheren Wert C realisieren. ● Die Wahrscheinlichkeit einer optimalen vorzeitigen Ausübung eines Put ist in jedem Zeitpunkt größer als Null, weshalb es also durchaus sinnvoll sein kann, einen amerikanischen Put vor dem Fälligkeitstermin auszuüben. Bezieht man Dividendenzahlungen in das Kalkül mit ein, so verändert sich die Argumentation grundlegend, da nun nicht nur für Puts, sondern auch für Calls eine vorzeitige Ausübung optimal sein kann: ● Wenn die Summe der während der Restlaufzeit der Option ausgeschütteten Dividenden zu jedem Zeitpunkt kleiner ist als der Zinsertrag, der sich aus der Anlage von K während dieses Zeitraums ergibt, dann wird eine Kaufoption bis zur Fälligkeit gehalten werden. Die Umkehrung dieser Aussage gilt nicht. ▲ Amerikanische Calls werden außer am Fälligkeitstermin nur unmittelbar vor einem Ex-DividendeTermin vorteilhaft ausgeübt. ● Falls in jedem Zeitpunkt die Summe der noch auszuschüttenden Dividenden größer ist als der Zinsertrag durch die Anlage von K, dann wird ein amerikanischer Put bis zur Fälligkeit gehalten. Die Umkehrung dieser Aussage gilt nicht. ▲ Amerikanische Puts sollten nicht unmittelbar vor einem Ex-Dividende-Termin ausgeübt werden.

        398

        9 Quantitative Methoden des modernen Wertpapier-Managements

        9.5.3

        Put-Call-Paritäten

        Unter den Put-Call-Paritäten versteht man verteilungsfreie Relationen zwischen den Preisen von Calls und Puts auf das gleiche Basisobjekt mit identischer Laufzeit und identischem Basispreis. ● Put-Call-Parität für europäische Optionen: P = C − S + Kr−T . Der Wert eines Put P entspricht dem Wert eines Call C des gleichen Typs abzüglich des Aktienkurses S plus des diskontierten Basispreises Kr−T . Zur Herleitung dieser Beziehung bildet man ein Portefeuille bestehend aus dem Kauf einer Aktie und einer darauf bezogenen Verkaufsoption, dem Verkauf einer gleichartigen Kaufoption und einer Kreditaufnahme in Höhe des abgezinsten Basispreises der Optionskontrakte. Der zukünftige Portefeuille-Wert ist dann unabhängig von dem realisierten Aktienkurs gleich Null. Um risikolose Gewinnmöglichkeiten auszuschließen, muss der Portefeuille-Wert im Ausgangszeitpunkt also ebenfalls gleich Null sein. ● Put-Call-Paritäten für europäische Optionen mit Dividendenberücksichtigung: P = C − S + Kr−T + Dr−tD bei sicherer Dividendenausschüttung D zum Zeitpunkt tD. C − S + Kr−T + Dmin r−tD ≤ P ≤ C − S + Kr−T + Dmax r−tD bei unsicherer Dividendenausschüttung Dmin ≤ D˜ ≤ Dmax zum Zeitpunkt tD. −T C − S + Kr−T + Dbarw + Dbarw min ≤ P ≤ C − S + Kr max barw bei mehreren unsicheren Dividendenausschüttungen mit Dbarw max bzw.Dmin als Barwert der Summe der während der Restlaufzeit der Option maximal bzw. minimal erwarteten Dividendenausschüttungen.

        ● Put-Call-Paritäten für amerikanische Optionen: C − S + Kr−T ≤ P ≤ C − S + K ohne Dividendenberücksichtigung. C − S + Kr−T ≤ P ≤ C − S + Kr−T + Dr−tD bei sicherer Dividendenausschüttung D in tD. C − S + Kr−T ≤ P ≤ C − S + Kr−T + Dmax r−tD bei unsicherer Dividendenausschüttung D˜ ≤ Dmax zum Zeitpunkt tD. C − S + Kr−T ≤ P ≤ C − S + Kr−T + Dbarw max bei mehreren unsicheren Dividendenausschüttungen mit Dbarw max als Barwert der Summe der während der Restlaufzeit der Option maximal erwarteten Dividendenausschüttungen.

        9.5.4

        Binomialmodell zur Bewertung von Optionen: Ein-Perioden-Fall

        Modelle zur Bewertung von Optionen beruhen insbesondere auf Annahmen über die Verteilung der Renditen der zugrunde liegenden Titel. Bei geeigneten Verteilungsvoraussetzungen lassen sich Preisformeln über die Konstruktion eines Hedge-Portefeuilles bestehend aus der Option, dem Basispapier und einer risikofreien Anlage ableiten. Die Wertentwicklung einer Option wird dupliziert, sodass durch Arbitrage-Argumente der gesuchte Optionswert bestimmt werden kann.

        9.5 Preistheorie von Aktienoptionen

        399

        ● Binomialmodell: Kurs der Basisaktie folgt einem multiplikativen binomialen Prozess in zeitgleichen Abständen. Angenommene Aktienkursentwicklung im Ein-Perioden-Fall: t=0

        S

        t=1 ! !! ! ! !! ! ! aa aa aa aa a

        u·S

        d·S

        Europäischer Call bzw. Put auf diese Aktie mit Basispreis K und Fälligkeit zum Periodenende hat Werte Cu = max(0,uS − K) und Cd = max(0,dS − K) bzw. Pu = max(0,K − uS) und Pd = max(0,K − dS) im Fälligkeitszeitpunkt. ● Duplikations-Portefeuille (Hedge Portefeuille) für Call-Optionen: Portefeuille aus ∆ Aktien und risikofreier Anlage B zum Zinssatz r, sodass zum Periodenende die möglichen Optionswerte Cu und Cd dupliziert werden. Es muss also gelten: ∆uS + rB = Cu und ∆dS + rB = Cd bzw. Cu − Cd uCd − dCu und B = . ∆= (u − d)S (u − d)r Für das Duplikations-Portefeuille gilt dann: ∆S + B = C. Wäre die Option teurer, das heißt C > ∆S + B, so würde man die Option leerverkaufen und einen risikolosen Gewinn (=Arbitrage-Gewinn) realisieren. Im umgekehrten Fall (C < ∆S + B) könnte man die Option kaufen und das Portefeuille verkaufen. Hedge Ratio (Options-Delta): Cu − Cd ∆= . (u − d)S Das Options-Delta gibt die Anzahl der leerzuverkaufenden Aktien an, die beim Erwerb eines Call das Portefeuille risikofrei halten. ▲ Die Herleitung für Verkaufsoptionen erfolgt analog. ● Wert eines europäischen Call im Ein-Perioden-Modell: pCu + (1 − p) Cd r−d u−r C= mit p = und 1 − p = . r u−d u−d Wert eines europäischen Put im Ein-Perioden-Modell: pPu + (1 − p) Pd P= . r ▲ Präferenzfreie Bewertung: Zentrale Eigenschaft der vorgestellten Bewertung: Wahrscheinlichkeiten über das Eintreten der möglichen Umweltzustände scheinen keine Rolle zu spielen. Die Risikoeinstellung der Investoren hat keinen direkten Einfluss auf die Bewertung der Option. Präferenzabhängige Bewertung: Nehmen wir bspw. an, die Wahrscheinlichkeit für das Eintreten des Zustands uS sei gleich q. Unter der Annahme der Risikoneutralität der Marktteilnehmer entspricht der faire Preis C der Kaufoption dem mit dem Zinssatz r der risikolosen Alternativanlage abgezinste Erwartungswert der Option: qCu + (1 − q)Cd C = E(Ct=1 ) = mit q als Eintrittswahrscheinlichkeit des Zustands uS. r Pseudowahrscheinlichkeit p: p lässt sich als Wahrscheinlichkeit im Sinne von q interpretieren. Mit der Annahme u > r > d folgt 0 < p < 1. Insofern besteht Ähnlichkeit mit einer Wahrscheinlichkeitsziffer.

        400

        9 Quantitative Methoden des modernen Wertpapier-Managements

        In der Tat ist p jener Wert der Wahrscheinlichkeit q, den man an einem risikoneutralen Kapitalmarkt im Gleichgewicht erwarten müsste, da in einer solchen Welt der Erwartungswert der Aktienrendite dem r−d = p. risikolosen Zinssatz entspricht: qu + (1 − q)d = r. Damit folgt: q = u−d ■ Zahlenbeispiel zum Ein-Perioden-Binomialmodell: Aktienkaufoption mit Basispreis 250 a und einer Laufzeit von einem Jahr. Die der Option zugrunde liegende Aktie notiert heute zum Kurs von 250 a. Die künftige Aktienkursentwicklung ist unsicher. Nach einem Zeitraum von einem Jahr stellt sich genau einer von zwei unterschiedlichen Aktienkursen ein: uS = 400 a oder dS = 200 a, d. h. u = 1,6 und d = 0,8. Zinssatz für einjährige Anlagen 12 %. Duplikation des Zahlungsstroms des Call durch Aktien und risikofreie Anlage: Cu − Cd 150 − 0 = = 0,75 (u − d)S (1,6 − 0,8) · 250 uCd − dCu 0 − 0,8 · 150 B= = = −133,93 . (u − d)r (1,6 − 0,8) · 1,12 Es folgt: C = ∆S + B = 0,75 · 250 − 133,93 = 53,57 a. ∆=

        Das Ergebnis bestätigt man auch über:     1,12−0,8 1,6−1,12 · 150 + ·0 1,6−0,8 1,6−0,8 0,4 · 150 + 0,6 · 0 = = 53,57 . C= 1,12 1,12 ● Annahmen des Binomialmodells: 1. Der Wertpapierhandel findet nur zu diskreten Zeitpunkten statt. 2. Der Kurs der zugrunde liegenden Aktie kann zu jedem Zeitpunkt einen von zwei möglichen Werten annehmen. In der Verallgemeinerung auf mehrere Perioden werden schließlich gleiche Periodenlängen und ein multiplikativer binomialer Prozess angenommen: Das dargestellte Optionspreismodell wird als Binomialmodell bezeichnet. 3. Keine Transaktionskosten, keine Informationskosten, keine Steuern. 4. Wertpapiere sind beliebig teilbar und Leerverkäufe wie auch Käufe von Wertpapieren sind unbeschränkt möglich. 5. Zins einer risikofreien Anlage ist gegeben und im Zeitablauf konstant. Sollzins entspricht dem Habenzins. 6. Investoren handeln rational und ziehen ein größeres Vermögen einem kleineren vor. 7. Bei den betrachteten Optionen handelt es sich um europäische Optionen. 8. Von Dividendenzahlungen wird abstrahiert.

        9.5.5

        Binomialmodell zur Bewertung von Optionen: Zwei-Perioden-Fall

        ● Werte eines Call im Zwei-Perioden-Fall: In t = 2: Cuu = max(0,uu S −K) , Cud = max(0,ud S −K), Cdd = max(0,dd S −K) . pCuu + (1 − p)Cud pCud + (1 − p)Cdd In t = 1: Cu = , Cd = . r r pCu + (1 − p)Cd In t = 0: C = bzw. r p (pCuu + (1 − p)Cud ) /r + (1 − p) (pCud + (1 − p)Cdd ) /r C= r  1  2 2 = 2 p max(0,u S − K) + 2p(1 − p) max(0,udS − K) + (1 − p)2 max(0,d 2 S − K) . r

        9.5 Preistheorie von Aktienoptionen

        401

        ■ Zahlenbeispiel zum Zwei-Perioden-Binomialmodell Das Ein-Perioden-Binomialmodell wird nun auf zwei Perioden erweitert:

        250

             PP PP PP P

        1,6 · 250 = 400 0,8 · 250 = 200

             P PP PP P P       PP PP PP P

        1,6 · 1,6 · 250 = 640 1,6 · 0,8 · 250 = 320 0,8 · 0,8 · 250 = 160

        Optionswerte in t = 2: Cuu = max 0,u2S − K = 640 − 250 = 390 Cud = max (0,udS − K) = 320 − 250 = 70 Cdd = max (0,ddS − K) = 0 . Optionswerte in t = 1: 0,4 · 390 + 0,6 · 70 = 176,7857 1,12 0,4 · 70 + 0,6 · 0 = 25 . Cd = 1,12 Cu =

        Optionswert in t = 0: pCu + (1 − p)Cd 0,4 · 176,7857 + 0,6 · 25 = = 76,5306 bzw. r 1,12  1  2 96 C= 0,4 · 390 + 2 · 0,4 · 0,6 · 70 + 0,6 · 0,2 · 0 = = 76,5306 . 2 1,12 1,122

        C=

        Options-Delta: Für die erste Periode ∆=

        Cu − Cd 176,7857 − 25 = = 0,7589 . (u − d)S 0,8 · 250

        In der zweiten Periode gilt für den Fall eines Kursanstiegs auf uS in t = 1: ∆u =

        Cuu − Cud 390 − 70 = =1. (u − d)uS 0,8 · 400

        In der zweiten Periode gilt für den Fall eines Kursverfalls auf dS in t = 1: ∆d =

        Cud − Cdd 70 = = 0,4375 . (u − d)dS 0,8 · 200

        ▲ Selbstfinanzierende Portefeuillestrategie: Das Portefeuille ist nach jeder Kursbewegung umzuschichten, um es risikofrei zu halten. Das Options-Delta gibt die Anzahl der leerzuverkaufenden Aktien an. Falls sich das Delta erhöht, sind mehr Aktien zu verkaufen, ein niedrigeres Delta zieht einen Rückkauf an Aktien nach sich. Durch solche Portefeuille-Umstrukturierungen wird unter Vernachlässigung von Transaktionskosten kein Zahlungsstrom ausgelöst.

        402

        9 Quantitative Methoden des modernen Wertpapier-Managements

        9.5.6

        Binomialmodell zur Bewertung von Optionen in allgemeiner Form

        Angenommene Aktienkursentwicklung im n-Perioden-Binomialmodell: t=0

        S

        t=1

        t=2 t=3

        ............

           PP P P    . . . . . . . . . . . .  PP  P P  PP   P  P  PP    P  PP  uS  P    P P   P P  P P ............ PP  PP    P P P dS  P  PP  PP  P P PP  P  PP  P PP   P P ..........P  . . PP P    PP P P

        t=n

        un S un−1 dS un−2 d 2 S .. .. .. .. .. .. u2 d n−2 S ud n−1 S dnS

        ● Werte der Option am Verfalltermin t = n: Cu j dn− j = max 0,u j d n− j S − K für j = 0,1,2, . . . ,n . Aus diesen n + 1 Werten ermittelt man die n möglichen Werte für den Call im Zeitpunkt t = n − 1. Aus den dann berechneten n Werten sind weiter die n − 1 Zustandswerte für den Call in t = n − 2 zu bestimmen u.s.w. Durch dieses sukzessive Rückrechnen erhält man den aktuellen Wert der Kaufoption als Barwert der möglichen Endwerte:   1 n n j C= n ∑ p (1 − p)n− jCu j dn− j r j=0 j ● Bewertungsformel im Binomialmodell: (1. Schritt):   1 n n j C= n ∑ p (1 − p)n− j max 0,u j d n− j S − K r j=a j   1 n n j = n∑ p (1 − p)n− j u j d n− j S − K r j=a j     n j n− j n j K n n j n− j u d = S∑ p (1 − p) − n∑ p (1 − p)n− j . n j r r j j=a j=a Anzahl minimaler Kursaufwärtsbewegungen a, ab denen der Call in-the-money ausläuft, also die Bedingung ua d n−a S > K erfüllt ist; a als kleinste ganze Zahl mit a ≥ a  :   K log d nS  u . a = log d Für alle j ≥ a gilt dann max 0,u j d n− j S − K = u j d n− j S − K und für alle j < a: max 0,u j d n− j S − K = 0 .

        9.5 Preistheorie von Aktienoptionen (2. Schritt):   n n K S∑ (p  ) j (1 − p  )n− j − n j r j=a

        403

          n ∑ j p j (1 − p)n− j j=a n

        u d p und 1 − p  = (1 − p). r r Mit B(a; n,p) = ∑nj=a nj p j (1 − p)n− j folgt auch kurz

        mit p  =

        C = SB(a; n,p  ) − Kr−n B(a; n,p) .

        9.5.7

        Black/Scholes-Modell

        ● Optionsbewertungsformel von Black/Scholes für Calls: C = SN(d1 ) − Kr−T N(d2 ) mit log d1 =

        S K

         + log r + √ σ T

        σ2

        2

         T

        √ , d 2 = d1 − σ T

        und S K T r

        = Aktienkurs, = festgelegter Basiskurs zum Bezug der Aktie, = Laufzeit der Option in Jahren, = risikoloser Zinssatz p.a., σ = Standardabweichung der Aktienrendite p. a. (= Volatilität).

        Die Funktionen N(.) und log(.) stehen für den Wert der kumulierten Standardnormalverteilung bzw. den natürlichen Logarithmus. ● Verbale Interpretation der Black/Scholes-Formel: Im ersten Term der Call-Formel wird der Aktienkurs mit der Anzahl an Aktien, die in einem Duplikations-Portefeuille pro Call-Position benötigt werden, gewichtet. Im zweiten Term wird der diskontierte Basispreis mit der Wahrscheinlichkeit, dass der Aktienkurs S über K liegt, der Call also im Geld ist, gewichtet. Falls S in Relation zu K sehr groß und damit die Wahrscheinlichkeit einer Ausübung der Option nahe Eins ist, gilt approximativ N(d1 ) ≈ N(d2 ) ≈ 1 und es folgt C = S − Kr−T . Für Puts gilt: P = −SN(−d1 ) + Kr−T N(−d2 ) = −S [1 − N(d1 )] + Kr−T [1 − N(d2 )] . ● Black/Scholes-Differenzialgleichung: ∂C

        1 ∂2C 2 2 σ S = iC mit i = r − 1 . ∂t ∂S 2 ∂S2 Die Black/Scholes-Formel lässt sich als kontinuierlicher Grenzfall der binomialen Bewertungsformel interpretieren. Die Herleitung der Formel erfolgt zumeist als Lösung der Black/Scholes-Differenzialgleichung. + iS

        ∂C

        +

        404

        9 Quantitative Methoden des modernen Wertpapier-Managements

        ● Annahmen des Black/Scholes-Modells: 1. Das logarithmierte Verhältnis der Aktienkurse ist normalverteilt, d. h. die Aktienrenditen sind normalverteilt. Die Momentanvarianz p. a. ist konstant. 2. Aktien und Optionen werden kontinuierlich an einem vollkommenen Markt gehandelt. 3. Keine Transaktionskosten, keine Informationskosten, keine Steuern. 4. Wertpapiere sind beliebig teilbar und Leerverkäufe wie auch Käufe von Wertpapieren sind unbeschränkt möglich. 5. Zins einer risikofreien Anlage ist gegeben und im Zeitablauf konstant. Sollzins entspricht dem Habenzins. 6. Investoren handeln rational und ziehen ein größeres Vermögen einem kleineren vor. 7. Bei den betrachteten Optionen handelt es sich um europäische Optionen. 8. Von Dividendenzahlungen wird abstrahiert. ● Risikoneutraler Bewertungsansatz: Bestimmung des Optionspreises als Barwert der erwarteten Optionsendwerte:   E C(T ) = E max 0,S(T ) − K . Aus der Normalverteilungsannahme für S(T ) folgt mit der Dichtefunktion f von S

        f S(T ) =

        1

        √ exp S(T )σ 2π

        

         2  1 log S(T ) − µ − 2 σ

        schließlich   ∞ E C(T ) = S(T ) − K K

        1

        √ exp S(T )σ 2π

        

         2  1 log S(T ) − µ − dS . 2 σ

        Transformation von S(T ) in eine standardnormalverteilte Zufallsvariable und Berechnung von E(C(T )). Die Beobachtung, dass der arbitragefreie Wert eines Derivats unabhängig von den Risikopräferenzen der Marktteilnehmer bestimmt werden kann, führt zur Folgerung, dass der gesuchte Optionswert als mit dem risikofreien Zinssatz diskontierter Erwartungswert der Optionsendwerte bestimmt werden kann.

        9.5.8

        Beispielsrechnung zur Black/Scholes-Formel

        ■ Laufzeit T = 6 Monate, Basiskurs K = 480 a, Aktienkurs S = 465 a, risikoloser Jahreszinssatz r = 7 %. Volatilität wird aus vergangenen Renditen anhand des aktuellen Kurses und der bekannten Wochenschlusskurse der letzten 26 Wochen sukzessive berechnet.

        9.5 Preistheorie von Aktienoptionen log S j /S j−1

        Datum

        Kurs S j

        S j /S j−1

        05.03. 12.03. 19.03. 26.03. 02.04. 08.04. 16.04. 23.04. 30.04. 07.05. 14.05. 21.05. 28.05. 04.06. 11.06. 18.06.

        402.10 408.00 403.80 399.00 392.60 401.90 412.20 405.40 397.00 399.00 395.80 405.70 400.30 411.00 415.20 415.30

        1.014673 .989706 .988113 .983960 1.023688 1.025628 .983503 .979280 1.005038 .991980 1.025013 .986690 1.026730 1.010219 1.000241

        Datum

        Kurs S j

        S j /S j−1

        25.06. 02.07. 09.07. 16.07. 23.07. 30.07. 06.08. 13.08. 20.08. 27.08. 01.09.

        421.90 423.00 425.70 420.60 390.00 412.00 442.20 435.80 440.00 464.50 465.00

        1.015892 1.002607 1.006383 .988020 .927247 1.056410 1.073301 .985527 1.009637 1.055682 1.001076

        Summe

        .014566 −.010347 −.011958 −.016170 .023412 .025305 −.016634 −.020938 .005025 −.008052 .024705 −.013400 .026379 .010167 .000241 log S j /S j−1 .015767 .002604 .006363 −.012053 −.075536 .054877 .070739 −.014579 .009591 .054187 .001076

        log S j /S j−1 − µ



        2 log S j /S j−1 − µ

        .008976 −.015937 −.017548 −.021760 .017822 .019715 −.022224 −.026538 −.000565 −.013642 .019115 −.018990 .020789 .004577 −.005349 log S j /S j−1 − µ .010177 −.002986 .000773 −.017643 −.081126 .049287 .065149 −.020169 .004001 .048597 −.004514

        .000081 .000254 .000308 .000473 .000318 .000389 .000494 .000704 .000000 .000186 .000365 .000361 .000432 .000021 .000029

        2 log S j /S j−1 − µ .000104 .000009 .000001 .000311 .006581 .002429 .004244 .000407 .000016 .002362 .000020

        .145337 .020899 & Mittelwert µ = ∑26 26 = .145337/26 = .005590 j=1 log S j /S j−1 2 & 26 2 Varianz auf Wochenbasis σ = ∑ j=1 log(S j /S j−1) − µ 25 = .020899/25 = .000836 2 Varianz p. a. σ = 52 · .000836 = .043472 √ Standardabweichung p. a. σ = .043472 = .208499

        Es folgt log d1 =

        465 480

          2 + log 1,07 + 0,208499 · .5 2 log 0,96875 + 0,044697 √ = ≈ 0,09 0,147431 0,208499 · .5

        und d2 = 0,087826 − 0,208499 ·

         0,5 ≈ −0,06 .

        405

        406

        9 Quantitative Methoden des modernen Wertpapier-Managements

        Aus tabellierten Werten der Standardnormalverteilung folgt: N(d1 ) = N(0,09) = 0,53519 und N(d2 ) = N(−0,06) = 1 − N(0,06) = 0,4761 . Wert der Kaufoption: C = 465 · 0,53519 − 480 · 1,07−0,5 · 0,4761 = 26,41 . Für einen Put gleichen Typs folgt analog P = −465 · [1 − N(0,09)] + 480 · 1,07−0,5 · [1 − N(−0,06)] = 25,44 oder auch aus der Put-Call-Parität

         P = C − S + Kr−T = 26,41 − 465 + 480/ 1,07 = 25,44 .

        9.5.9

        Delta-Faktor

        ● Delta ∆: Sensitivität des Optionspreises gegenüber dem Aktienkurs. Das Delta berechnet sich als erste partielle Ableitung des Black/Scholes-Operationswertes nach der Aktienkursvariablen. ∆C =

        ∂C ∂S

        = N(d1 ) > 0

        und ∆ P =

        ∂P ∂S

        = N(d1 ) − 1 < 0 .

        Delta eines Call liegt zwischen Null und Eins, das Delta eines Put zwischen minus Eins und Null. Eine weit aus dem Geld liegende Option erfährt bei einer Veränderung des Kurses der Basisaktie eine geringe Preisbeeinflussung. Mit zunehmender Wertigkeit steigt das Delta an, Wertzuwächse beim Call bzw. Wertminderungen beim Put werden also größer, wenn der Aktienkurs sich erhöht. Das Delta von in the money Calls strebt mit abnehmender Restlaufzeit gegen Eins, das Delta von out of the money Calls gegen Null.

        1

        0,6 0,4

        0,35 0,2

        0,2

        0,05 0 380 405 430 455 480 505 530 555 580

        Aktienkurs

        -0,2 -0,4

        0,95 0,8 0,65

        -0,6

        0,5

        Volatilität

        0,95 0,8 0,65 0,5

        Put-Delta

        Call-Delta

        0,8

        Volatilität

        0

        0,35 -0,8 -1 380

        0,2 0,05 405

        430

        455

        480

        505

        Aktienkurs

        530

        555

        580

        9.5 Preistheorie von Aktienoptionen

        9.5.10

        407

        Dynamisches Hedging

        Fixes Hedging, einmaliger Aufbau einer geeigneten Optionsposition, die – im Prinzip – über einen gewissen längeren Zeitraum bestehen bleibt. ● Dynamische Hedge-Strategien, laufende Anpassung der Absicherungsposition an die aktuelle Marktentwicklung der zu sichernden Position. Hedge-Strategien, die berücksichtigen, dass sich der Kurs des Underlying, also der Aktienkurs, ständig ändert bzw. ändern kann und somit die Anzahl der zu kaufenden oder auch zu verkaufenden Finanztitel für einen vollständigen Hedge fortwährend anzupassen ist. Um eine vollständige Absicherung zu gewährleisten, müssen beide Positionen ständig in einem bestimmten Verhältnis zueinander gehalten werden, das einen gegenseitigen vollständigen Ausgleich der Wertschwankungen gewährleistet. Während beim fixen Hedge bspw. pro abzusichernder Aktie genau eine Optionsposition eingegangen wird, also der Gegenwert der Kassaposition im Verhältnis 1:1 auf dem Optionsmarkt gedeckt wird, bestimmt man beim Delta-Hedge das Hedge-Verhältnis mit dem DeltaFaktor. ■ Portefeuille bestehend aus w1 Kaufoptionen C1 und w2 Kaufoptionen C2 auf die gleiche Basisaktie, die sich nur hinsichtlich Fälligkeit oder Basispreis unterscheiden. Wert der Position w1C1 + w2C2 ist gegen Änderungen des Aktienkurses immun, wenn: w1

        ∂C1 ∂S

        + w2

        ∂C2 ∂S

        =0,

        d. h.

        w1 ∆C =− 2 . w2 ∆ C1

        ∆ C1 Optionen vom Typ C2 zu ∆ C2 verkaufen. Für ein Portefeuille in Aktien und eine darauf bezogene Option erhält man analog, dass pro Optionskäuferposition ∆ Aktien zu verkaufen bzw. pro Aktieninhaberposition 1/∆ Optionen zu verkaufen sind. Für jede Long-Position in einer Option vom Typ C1 sind demnach

        9.5.11

        Gamma-Faktor

        ● Options-Gamma Γ , Veränderung des Delta bei einer Veränderung des Aktienkurses. Zweite partielle Ableitung der Black/Scholes-Formel nach der Aktienkursvariablen:    2 ∂∆ C ∂∆ P ∂2C 1 1 −d1   √ N (d1 ) > 0 mit N (d1 ) = √ exp Γ = = = 2 = . ∂S ∂S ∂S 2 Sσ T 2π Options-Gamma ist positiv und wird für sehr niedrige und sehr hohe Aktienkurse gleich Null. Das Gamma einer at the money-Option steigt gegen Ende der Laufzeit an. Das Gamma von in und out of the money-Optionen strebt dagegen mit abnehmender Restlaufzeit gegen Null. Das Options-Gamma fällt mit abnehmender Volatilität gegen Null, wobei zunächst ein Anstieg des Gamma zu beobachten ist. Dieser Anstieg ist bei at the money-Optionen am deutlichsten ausgeprägt. ● Gamma-Hedging, analog zur Vorgehensweise des oben beschriebenen Delta-Hedging wird eine Gamma-neutrale Position aufgebaut. Da das Gamma die Reagibilität des Delta auf Änderungen des Basiskurses beschreibt, kann durch eine Delta-Gamma-neutrale Strategie zum einen das Portefeuille Deltaneutral gestaltet werden und gleichzeitig durch die Gamma-Neutralität die Sensitivität des PortefeuilleDelta relativ niedrig gehalten werden, sodass Umschichtungen weniger häufig notwendig erscheinen. Gamma ist somit ein Maß für die Stabilität der Absicherungsposition.

        408

        9 Quantitative Methoden des modernen Wertpapier-Managements

        0,025

        0,015 0,8

        0,01

        0,55

        0,005 0 380

        0,3 430

        480

        530

        Aktienkurs

        9.5.12

        Volatilität

        Gamma

        0,02

        0,05 580

        Theta-Faktor

        ● Options-Theta Θ : Veränderung des Optionspreises bei einer sich verkürzenden Restlaufzeit: Sσ ∂P ∂C = √ N  (d1 ) + Kr−T (log r)N(d2 ) > 0; = − Kr−T (log r) . ΘP = ∂T ∂T ∂T 2 T Für einen Call ist das Theta immer positiv. Eine längere Restlaufzeit verringert zum einen den Barwert des Basispreises, zum anderen birgt sie ein größeres Potenzial an für die Option günstigen Aktienkursen, d. h. Kursen, ab denen die Option im Geld ist. Für Verkaufsoptionen sind diese beiden Effekte gerade gegenläufig, sodass keine eindeutige Aussage hinsichtlich des Vorzeichens beim Theta eines Put getroffen werden kann.

        ΘC =

        ∂C

        60 1,6

        40 1,1 20 0,6 0 380 425

        470

        Aktienkurs

        9.5.13

        0,1 515

        560

        Restlaufzeit

        Call-Theta

        80

        Lambda-, Rho-, Alpha- und Omega-Faktor

        ● Options-Lambda Λ (Options-Vega), Sensitivität des Optionspreises gegenüber der Kursvolatilität:   √ ∂C ∂P Λ = = = S T N  (d1 ) > 0 . ∂σ

        ∂σ

        Das Lambda berechnet sich als erste partielle Ableitung des Black/Scholes-Operationswertes nach der Volatilitätsvariablen.

        9.5 Preistheorie von Aktienoptionen

        409

        Der Optionspreis einer at the money-Option reagiert sehr stark auf Volatilitätsveränderungen. Das Options-Lambda ist positiv und steigt mit längerer Restlaufzeit der Option. Eine Option ist umso volatilitätssensibler, je höher ihre Zeitwertkomponente ist. Somit ist das Lambda von at the moneyOptionen deutlich größer als das Lambda von in und out of the money-Optionen. ● Options-Rho, Sensitivität des Optionspreises gegenüber dem Zinssatz. Der Rho-Faktor ist für einen Call positiv und für einen Put negativ. Mit zunehmendem Aktienkurs nimmt der Einfluss des Zinssatzes auf den Wert einer Kaufoption zu und auf den Wert einer Verkaufsoption ab. ● Options-Alpha, Sensitivität des Optionswertes gegenüber dem Basiskurs. ● Options-Omega Ω , Elastizität des Optionswertes bezüglich Veränderungen des Aktienkurses. Prozentuale Abhängigkeit des Optionspreises von der prozentualen Veränderung des Aktienkurses: S∆ C S∆ P und Ω P = . ΩC = C C Das Omega ist stets größer oder gleich Eins, die Option ist also stets elastischer als der zugrunde liegende Finanztitel. Da dies sowohl für Kurssteigerungen als auch für Kursverluste gilt, verdeutlicht Omega das erhöhte Risiko, das ein Anleger auf dem Optionsmarkt im Vergleich zum Anleger auf dem Kassamarkt eingeht. Die Elastizität für weit out of the money-liegende Optionen nimmt sehr große Werte an, ihre höchste Elastizität erreicht die Option unmittelbar vor dem Verfalldatum.

        9.5.14

        Berechnung von Optionskennzahlen in einem einfachen Fall

        ■ Spezialfall S = Kr−T : Black/Scholes-Formel: C = SN(d1 ) − Kr−T N(d2 ) = Kr−T [N(d1 ) − N(d2 )] mit

        

         + log r + √ d1 = σ T Put-Call-Parität: log

        Kr −T K

        

        σ2

        2

         T

        1 √ = σ T 2

        1 √ und d2 = − σ T . 2

        P = C − S + Kr−T = C . Taylor-Approximation der Dichtefunktion der Normalverteilung:   d3 1 1 d5 d− + − +... . N(d) = + √ 2 2 π 6 120 Bei Vernachlässigung aller √ Komponenten von N(d) mit einer Ordnung größer als zwei folgt für den Optionswert C = 0,4Sσ T . Options-Delta eines Call: √ 1 ∆ C = + 0,2σ T . 2 Options-Delta eines Put: √ 1 ∆ P = 0,2σ T − . 2     1 2 1 2  Mit N (d1 ) ≈ 0,4 exp − d1 = 0,4 exp − σ T ≈ 0,4 folgt für das Options-Gamma: 2 2 1 Γ = 0,4 √ . Sσ T

        10

        Operations Research

        Operations Research (OR), modellgestützte Vorbereitung von Entscheidungen zur Gestaltung und Steuerung soziotechnischer Systeme oder auch manchmal „die Anwendung quantitativer Verfahren zur Lösung wirtschaftswissenschaftlicher Probleme“. ▲ Der Begriff entstand zwischen 1937 und 1939 zunächst als „Operational Research“ in Abgrenzung zum „Technical Research“ am damaligen Radar-Warnsystem der Royal Air Force. Parallel zur technischen Entwicklung des Warnsystems sollte eine Gruppe von Mitarbeitern die Operationen, d. h. die Organisation, das Informationswesen, die Abstimmung von Maßnahmen etc. vorantreiben.

        Aufgabenstellung OR-Prozess, alle Aktivitäten von der Problemidentifizierung bis zum validen Modell: Problemerkennung und Problemformulierung, Identifizierung der Umweltzustände, Analyse und Festlegung der Entscheidungskriterien, Analyse und Prognose der Systemumwelt, Entwurf von Entscheidungsalternativen, Modellkonstruktion, Datenbeschaffung, Datenorganisation, Analyse der Datenqualität, Auswahl und Entwurf von Algorithmen, Auswahl und Entwurf von EDV-Programmen, Modellrechnungen, Interpretation der gefundenen Ergebnisse, Implementierung. ● Teilgebiete des OR: • Lineare Optimierung, • Netzplantechnik, • Netzwerkmodelle, • Dynamische Optimierung, • Ganzzahlige Optimierung, • Dualitätstheorie, • Nichtlineare Optimierung.

        10.1

        Lineare Optimierung

        Lineare Optimierung (LP), Teilgebiet des OR mit linearem Modell. ● Die Zielfunktion z, die maximiert oder minimiert wird, ist linear und alle Nebenbedingungen (Restriktionen) sind ausschließlich lineare Gleichungen oder Ungleichungen der Typs „kleiner-gleich“ oder „größer-gleich“. ▲ Alternative Bezeichnungsweisen sind: linear programming (engl.), Lineare Planungsrechnung oder auch Lineare Programmierung.

        10.1.1

        Das Grundmodell der Linearen Optimierung

        Grundmodell der linearen Optimierung (LP-Modell), Maximierungsmodell mit ausschließlich „≤“-Nebenbedingungen, ist durch Hinzufügen von Schlupfvariablen in kanonischer Form darstellbar.

        10.1 Lineare Optimierung Summenschreibweise

        Matrix-Schreibweise

        Max

        Max

        z

        mit

        z = cT · x + z0

        z n

        mit

        z = ∑ c j · x j + z0 j=1 n

        411

        u. d. N. yi + ∑ ai j · x j = bi für i = 1, 2, . . . , m u. d. N. y + A · x = b j=1

        yi , x j ≥ 0 für i = 1, 2, . . . , m für j = 1, 2, . . . , n

        x, y ≥ 0 c, x n-dimensionale Vektoren b, y m-dimensionaler Vektor A (m × n)-dimensionale Matrix

        Entscheidungsvariablen, Variablen x j des Modells. Es sind diejenigen Größen, deren Werte gesucht sind. Im Grundmodell ist x j eine kontinuierliche Variable, die nur nicht-negative Werte annehmen darf. Zielfunktionswert z, die zu optimierende Variable, nicht vorzeichenbeschränkt. Zielfunktion, beschreibt die Abhängigkeit des Zielwertes von den Entscheidungsvariablen. Sie muss definitionsgemäß linear sein. Nebenbedingung (oder Restriktion), jede Form einer Einschränkung der Wertzuweisung für die Entscheidungsvariablen. Dazu zählen die Nebenbedingungen in Form linearer Gleichungen und Ungleichungen, jedoch auch die Nichtnegativitätsbedingungen. Rechte Seite, die absoluten Glieder aller Restriktionen, i. d. R. zum Vektor b zusammengefasst. Lösungsraum, die von allen Nebenbedingungen beschriebene Menge der zulässigen Lösungen, stellt konvexen Polyeder dar: P = {x | A · x ≤ b, x ≥ 0}

        10.1.2

        Modellerweiterungen

        Allgemeines LP-Modell, allgemeinste Form eines linearen Optimierungsmodells mit allen Restriktionsvarianten. Modell Opt

        Attribut Opt ∈ {Max,Min}

        z n

        mit

        z=

        ∑ c j · x j + z0

        j=1 n

        ∑ ai j · x j

        u. d. N.

        j=1

        xj

         

        

        bi

        

        0

        ∈ {≤ , = , ≥} ∈ {≥ ,frei, ≤}

        Minimierungsproblem, die Zielfunktion ist zu minimieren; ist durch Vorzeichenumkehr der Zielfunktion in ein Maximierungsproblem zu transformieren: Min z = −Max(−z) Höchstgrenze für Nebenbedingungen ergibt „≤ - Restriktion“, Addition einer (nicht-negativen) Schlupfvariable führt auf Gleichungsform: n

        ∑ ai j · x j j=1

        ≤ bi



        n

        yi + ∑ ai j · x j = bi j=1

        mit yi ≥ 0

        412

        10 Operations Research

        Mindestforderung als Nebenbedingung ergibt „≥-Restriktion“, Subtraktion einer (nicht-negativen) Überschussvariablen führt auf Gleichungsform: n



        ai j · x j ≥ bi



        j=1

        n

        −yi + ∑ ai j · x j = bi

        mit yi ≥ 0

        j=1

        Künstliche Basisvariablen, werden allen Gleichungen hinzugefügt, die keine natürliche Basisvariablen in Form einer Schlupfvariablen besitzen. Nichtnegativitäts-Bedingungen für die Variablen brauchen nicht in Gleichungen transformiert zu werden; sie werden implizit berücksichtigt. Nicht-positive Variablen, durch Einführung einer Ersatzvariablen x−j = −x j lässt sich dieser Fall auf den Standardfall zurückführen: xj ≤ 0



        x−j = −x j

        mit x−j ≥ 0

        Freie Variable, eine Variable, die sowohl positive als auch negative Werte annehmen darf, d. h. z. B. aus dem Bereich −∞ < x j < +∞ frei wählbar ist. Ersetzt man sie durch die Differenz zweier nicht-negativer Variablen x j = x+j − x−j , so ist auch dies formal auf den Standardfall zurückgeführt: x j frei

        10.1.3



        x j = x+j − x−j

        mit x+j , x−j ≥ 0

        Grafische Lösung

        ■ Das folgende LP-Problem ist seiner Grundstruktur nach mit dem vorherigen Modell identisch: Max z mit z = 20x1 + 30x2 (zf) u. d. N. x1 + 2x2 ≤ 200 (n1) x1 + x2 ≤ 160 (n2) x2 ≤ 60 (n3) x1 , x2 ≥ 0 (nn) Die grafische Darstellung des Ungleichungssystems ergibt die schattierte Menge P aller zulässigen Lösungen:

        10.1 Lineare Optimierung

        413

        Die Zielfunktion stellt für einen festen Wert von z (z. B. z = 600) eine Gerade im x1 ,x2 -System dar. Alle auf dieser Geraden liegenden Punkte (x1 ,x2 ) ergeben denselben Zielfunktionswert z = z(x1 ,x2 ), d. h. jede Parallele zu der eingezeichneten Zielgeraden ist eine Isozielwertlinie, eine Linie gleichen Zielwertes. In Pfeilrichtung parallel verschobene Geraden entsprechen einem höheren Zielfunktionswert. Die am weitesten verschobene Parallele, die den Lösungsraum P gerade noch berührt (tangiert), stellt den maximalen Zielfunktionswert dar. Er ergibt sich im Punkt x1 = 120 und x2 = 40 mit dem Wert zmax = 3.600. ▲ Die grafische Lösung ist zwar nur für zweidimensionale Probleme möglich, jedoch zeigt die Abbildung bereits (fast) alle wesentlichen Eigenschaften allgemeiner LP-Probleme: ● Eigenschaften eines LP-Problems: • Alle Nebenbedingungen, d. h. einschließlich der Nichtnegativitätsbedingungen, bilden zusammen den zulässigen Lösungsraum. • Der Lösungsraum bildet ein beschränktes oder unbeschränktes konvexes Polyeder. • Eine lineare Zielfunktion nimmt ihr Extremum (Maximum oder Minimum) stets in einem Eckpunkt an oder ihr Wert ist unbeschränkt. • Der optimale Eckpunkt ist genau dann erreicht, wenn der Zielfunktionswert in allen benachbarten Punkten nicht besser ist.

        10.1.4

        Äquivalentes unterbestimmtes Gleichungssystem und Basislösung

        Jede Nebenbedingung des Typs „≤“ kann man durch Hinzufügen einer Schlupfvariablen, für die ebenfalls die Nichtnegativitätsbedingung gelten muss, in eine Gleichung transformieren: n

        ∑ ai j · x j

        ≤ bi

        n

        ist äquivalent zu

        j=1

        yi + ∑ ai j · x j = bi

        mit yi ≥ 0

        j=1

        Ist die Schlupfvariable yi gleich null, so ist die ursprüngliche Nebenbedingung als Gleichung erfüllt: yi = 0 ⇒

        n

        ∑ ai j · x j

        = bi

        j=1

        Für yi > 0 gilt die strenge Ungleichung: yi > 0 ⇒

        n

        ∑ ai j · x j

        < bi

        j=1

        ■ Durch Hinzufügen von Schlupfvariablen erhält man aus dem Beispiel die folgende äquivalente Darstellung: Max

        z

        mit

        z = 20x1 +30x2

        u. d. N. y1 y2 y3

        +x1 +2x2 = 200 +x1

        +x2 = 160 +x2 = 60

        y1 , y2 , y3 , x1 , x2 ≥ 0

        414

        10 Operations Research

        Ohne die Nichtnegativitätsbedingungen stellen die Nebenbedingungen ein unterbestimmtes Gleichungssystem (3 Gleichungen mit 5 Variablen) dar. Sie beschreiben den Lösungsraum P, wobei auf jedem der linearen Randstücke genau eine Variable gleich null ist. ● Ein Eckpunkt ist dadurch beschrieben, dass genau zwei Variablen gleich null sind. Eine Lösung mit dieser Eigenschaft wird als Basislösung des zugehörigen unterbestimmten Gleichungssystems bezeichnet. Die Basislösung ist zulässig, wenn ein Eckpunkt des Lösungsraums P vorliegt. ▲ Der grafische Lösungsweg kann rechnerisch nachvollzogen werden, indem - ausgehend von einem zulässigen Eckpunkt - die zugehörige Basislösung bestimmt wird. Ist die Zielfunktion von diesem Punkt aus verbesserungsfähig, d. h., gibt es eine benachbarte Basislösung mit besserem Zielfunktionswert, dann wird diese berechnet. Andernfalls kann die Berechnung beendet werden, weil die optimale Lösung erreicht ist. ● Dies ist exakt der Lösungsweg der Simplex-Methode.

        10.1.5

        Simplex-Methode

        Simplex-Methode, 1947 von G. B. Dantzig entwickelt, folgt im Prinzip dem grafischen Lösungsweg. ● Von einer Basislösung (= Eckpunkt) ausgehend wird die Zielfunktion sukzessive und zielgerichtet entlang benachbarter Eckpunkte parallel verschoben. ▲ Die Eigenschaft der Nachbarschaft wird durch den Austausch genau einer Variablen in der Basis beim Übergang von einer Lösung zur nächsten garantiert. Simplex-Iteration, Austausch einer Basisvariablen gegen eine Nichtbasisvariable, bestehend aus: • der Auswahl des Pivotelements und • der Durchführung der Pivotoperation. Simplex-Tableau, Tabellendarstellung der kanonischen Form eines LP-Problems. Basisvariablen, bestehend aus Schlupfvariablen und künstlichen Basisvariablen der kanonischen Form. Nichtbasisvariablen, Entscheidungs- und Überschussvariablen.

        10.1 Lineare Optimierung

        BV

        Max z xn+1 .. .

        x1 d1 a11

        NBV · · · xj · · · dj a1 j ...

        xn+i .. .

        ai1

        ai j

        xn+m

        am1

        xn dn a1n .. .

        RS z0 b1 .. .

        ain .. .

        bi .. .

        · · · amn

        bm

        ... · · · am j

        415

        Verkürztes Tableau, unterscheidet sich vom vollständigen durch das Fehlen der Einheitsmatrix (der Basisvariablen). ● Ganz besonders sei auf die Darstellung der Zielfunktion in diesem Tableau aufmerksam gemacht. In der Gleichungsform wird das Modell meist in der Form Max

        z n

        mit

        z=

        ∑ cj · xj j=1

        n

        u. d. N. xn+i + ∑ ai j · x j = bi für alle i = 1, 2, . . . , m j=1

        xk ≥ 0 für alle k Zielfunktionskoeffizienten c j haben im Tableau die Form: n

        z − ∑ cj = 0 j=1

        ▲ Im Tableau treten die Koeffizienten mit umgekehrtem Vorzeichen auf. Dies führt regelmäßig zu Interpretationsschwierigkeiten! Zielzeilenkoeffizienten d j : d j = −c j Damit ist äquivalent: n

        z − ∑ cj = 0



        j=1

        n

        z + ∑ dj = 0 j=1

        ▲ Durch Einführung der Zielzeilenkoeffizienten wird das Vorzeichenproblem im Tableau umgangen.

        10.1.6

        Simplex-Algorithmus

        Ausgangstableau: Max x j z dj xr ar j xi ai j

        xs ds ars ais

        RS z0 br bi

        ● Konvergenz der Simplex-Methode: Von einer zulässigen Lösung ausgehend, wird in endlich vielen Iterationen entweder die maximale Lösung erreicht oder nachgewiesen, dass die Lösung unbeschränkt ist.

        416

        10 Operations Research

        ▲ Der theoretische Fall des Kreiselns tritt in der Praxis nicht auf. Simplex-Methode (Standardform) Input: Simplextableau mit zulässiger Ausgangslösung Output: Simplextableau mit optimaler (oder unbeschränkter) Basislösung Vereinbarung: Umgerechnete Koeffizienten sind durch einen Stern (*) gekennzeichnet. Schritt 1: Auswahl der Pivotspalte s Es sei ds = min d j j

        Falls ds ≥ 0 ist, dann ist die maximale (= optimale) Lösung erreicht; die Rechnung ist beendet. Andernfalls wähle die Spalte s als Pivotspalte. Auswahl der Pivotzeile'r br bi

        Berechne: = min ais > 0} (Quotientenkriterium) i ars ais

        Schritt 2:

        Schritt 3: 3.1:

        3.2:

        3.3:

        3.4:

        3.5:

        Wähle Zeile r als Pivotzeile. Bei mehreren minimalen Quotienten wähle die Zeile r unter den entsprechenden Zeilen beliebig aus. Falls kein ais > 0 existiert, ist die Lösung unbeschränkt; die Rechnung endet. Pivotoperation bzgl. ars > 0 Pivotzeile r ar j br a∗r j = für alle j = s , b∗r = ars ars Pivotspalte s ais ds a∗is = − für alle i = r , ds∗ = − ars ars Pivotelement 1 a∗rs = ars Alle übrigen Elemente ais · ar j a∗i j = ai j − = ai j − ais · a∗r j für alle i = r und j = s ars ais · br b∗i = bi − = bi − ais · b∗r für alle i = r ars ds · ar j d ∗j = d j − = d j − ds · a∗r j für alle j = s ars ds · br z∗0 = z0 − = z0 − ds · b∗r ars Vertauschung der Variablen Tausche xr gegen xs und gehe nach Schritt 1.

        ■ Beispiel: Ausgangslösung: Max x1 x2 z −20 −30 x3 1 2 x4 1 1 x5 0 1

        RS 0 200 160 60

        Lösung nach 1. Iteration: Max x1 x5 RS z −20 30 1800 x3 1 −2 80 x4 1 −1 100 x2 0 1 60

        Lösung nach 2. Iteration: Max x3 x5 RS z 20 −10 3400 x1 1 −2 80 x4 −1 1 20 x2 0 1 60

        Lösung nach 3. Iteration: Max x3 x4 RS z 10 10 3600 x1 −1 2 120 x5 −1 1 20 x2 1 −1 40

        10.1 Lineare Optimierung

        417

        Optimale Lösung, alle Zielzeilenkoeffizienten sind d j ≥ 0: x3 = x4 = 0 → x1 = 120,x2 = 40,x5 = 20 → zmax = 3.600 Mehrdeutigkeit der Lösung liegt vor, wenn in der optimalen Lösung einer oder mehrere Zielzeilenkoeffizienten gleich null sind. ▲ Die Zielfunktion verläuft in diesem Fall parallel zu einer Kante oder einer Fassette des Polyeders. Degeneration der Lösung heißt, dass ein oder mehrere Koeffizienten der Rechten Seite gleich null sind. Der entsprechende Eckpunkt ist dann überbestimmt.

        10.1.7

        Bestimmung einer zulässigen Lösung

        Ausgehend von dem allgemeinen LP-Problem erhält man nach Einführung von Schlupf- und Überschussvariablen sowie künstlichen Basisvariablen das bereits bekannte LP-Problem: Max

        z

        mit

        z

        n

        + ∑ dj · xj

        = z0

        j=1 n

        u. d. N. x + ∑ a j · x j

        = b für alle  ∈ L ursprüngliche „≤“-Bedingung

        j=1 n

        xg  + ∑ ag j · x j − xg = be für alle g ∈ G ursprüngliche „≥“-Bedingung j=1 n

        xe + ∑ ae j · x j

        = be für alle e ∈ E ursprüngliche „≥“-Bedingung

        j=1

        xj ≥ 0 x ,xg ≥ 0 xg ,xe künstlich Wiederum seien bi ≥ 0 für alle i ∈ L∪G∪E vorausgesetzt, was durch Vorzeichenumkehr vor der Einführung von Schlupf- und Überschussvariablen stets erreicht werden kann. ▲ Die Unzulässigkeit der aktuellen Basislösung B0 = {x ,xg ,xe } besteht darin, dass die künstlichen Variablen in der Basis einen Wert größer null haben, falls bg , bg , be > 0 sind, sie in einem zulässigen Punkt aber gleich null sein müssen. Zweite Zielfunktion, gleich Summe aller künstlichen Variablen, die der Bedingung, dass die künstlichen Variable nicht negativ werden dürfen, minimiert wird. Unter dieser Voraussetzung kann die Summe der künstlichen Variablen bestenfalls gleich null werden, d. h. ein Ergebnis, bei dem notwendigerweise alle künstlichen Variablen gleich null sein müssten: Min w mit w = ∑g∈G xg + ∑e∈E xe u. d. N. xg ,xe ≥ 0 für alle g ∈ G und e ∈ E ergibt genau dann eine zulässige Lösung, wenn w = 0, d. h. xg = xe = 0 für alle g ∈ G und e ∈ E erreicht ist. Als zweite Zielfunktion ergibt sich: w=



        g∈G

        xg +

        ∑ xe = − ∑ ( ∑

        e∈E

        j

        g∈G

        ag j +

        ∑ ae j ) · x j + ∑

        e∈E

        g∈G

        xg +



        g∈G

        bg +

        ∑ be .

        e∈E

        418

        10 Operations Research

        In der Standardform eines Maximierungsproblem: Max

        (−w)

        mit

        (−w) + ∑ ( ∑ ag j +

        n

        j=1 g∈G

        ∑ ae j ) · x j + ∑

        e∈E

        g∈G

        xg = −( ∑ bg + g∈G

        ∑ be )

        e∈E

        n

        u. d. N. z + ∑ d j · x j j=1 n

        x + ∑ a j · x j

        = z0 = b für alle  ∈ L

        j=1 n

        xg + ∑ ag j · x j − xg = be für alle g ∈ G j=1 n

        xe + ∑ ae j · x j

        = be für alle e ∈ E

        j=1

        xj ≥ 0 x ,xg ≥ 0 xg ,xe ≥ 0 z frei Unzulässigkeitsfunktion, alternativer Name für die zweite Zielfunktion. Ihr Wert ist ein Maß für die Summe aller Unzulässigkeiten. ● Je kleiner der Wert der Unzulässigkeitsfunktion, desto stärker nähert sich die Lösung dem zulässigen Bereich. ▲ Mithilfe der Simplex-Methode kann man das neue Problem lösen, indem die ursprüngliche Zielfunktion wie eine Nebenbedingung mit umgerechnet wird, allerdings mit der Maßgabe, dass die entsprechende Zeile niemals Pivotzeile werden darf. Das heißt, diese „Nebenbedingung“ darf nicht restriktiv werden, sodass die Zielvariable z als freie Variable behandelt werden muss. Zulässige Lösung, der Lösungsprozess endet mit dem minimalen Wert der Funktion w = 0. Keine zulässige Lösung, der Lösungsprozess endet mit dem minimalen Wert der Funktion w > 0.

        10.2

        Dualitätstheorie

        Dualität linearer Programme, das paarweise Auftreten von LP-Problemen. Zu jedem LP-Problem existiert ein zweites, das als das „duale Problem“ des ersteren bezeichnet wird. ■ Bei Zwei-Personen-Nullsummenspielen wird besonders deutlich, dass der Gewinn des einen Spielers gleich dem Verlust des anderen Spielers ist. Das heißt, es muss sich dieselbe Lösung ergeben, wenn man den Mindestgewinn des Spielers A maximiert oder den Maximalverlust des Spielers B minimiert. Die entsprechenden linearen Programme sind dual zueinander. ■ In der Produktionsprogrammplanung ist mit jedem Ressourcen-Allokations-Problem ein Preisproblem verbunden. Das heißt, der Faktoreinsatz wird davon abhängig gemacht, welche Erlöse sich mit ihm erzielen lassen. Das Problem, die Ressourcen so einzusetzen, dass sich ein maximaler Gewinn ergibt, ist dual zu dem Problem, Verrechnungspreise für die Faktoren zu bestimmen, so dass die Kosten ihres Einsatzes minimiert werden.

        10.2 Dualitätstheorie Duale Entsprechungen, die gegenseitigen Entsprechungen des primalen und des dualen Problems. Primales Problem Zielfunktion Rechte Seite Koeffizientenmatrix Variable (Spalte) Nebenbedingung (Zeile)

        Duales Problem ⇔ ⇔ ⇔ ⇔ ⇔

        Rechte Seite Zielfunktion Transponierte Matrix (ohne Vorzeichen) Nebenbedingung (Zeile) Variable (Spalte)

        Das Mengenproblem lautet in allgemeiner Schreibweise:   x1    x2   x= → der Vektor der herzustellenden Mengen  ..   . xn cT = (c1 ,c2 , . . . ,cn )   a11 a12 · · · a1n    a21 a22 · · · a2n   A=  .. .. . . . ..  .   . . am1 am2 · · · amn   b1    b2   b=  ..  .   bn

        → der Vektor der Deckungsbeiträge

        → die Matrix der Produktionskoeffizienten

        → der Vektor der Kapazitätsangebote

        Mit diesen Bezeichnungen ergibt sich im Folgenden das als PRIMAL bezeichnete LP-Problem: Max z mit z = cT · x u. d. N. A · x ≤ b x≥0 Das Preisproblem ergibt sich, wenn man allen Faktoren i Preise ui zuordnet:   u1    u2   u= → der Vektor der Faktorbewertungen  ..   .  um Als Wert aller verfügbaren Faktoren erhält man: m

        w = ∑ bi · ui = bT · u i=1

        Die Preise sind so zu bestimmen, dass die Bewertung aller vorhandenen Faktoren minimal ist.

        419

        420

        10 Operations Research

        Bei der Berechnung der Preise soll in jedem Fall sichergestellt sein, dass der Wert der eingesetzten Faktoren in einer Aktivität den Deckungsbeitrag c j des Aktivitätenoutputs nicht unterschreitet: m

        ∑ ai j · ui ≥ c j

        für alle j = 1, 2, . . . , n

        i=1

        Restriktionen zusammengefasst: AT · u ≥ c Keine negativen Preise: u≥0 Zusammengefasst ergibt sich das LP-Problem: DUAL Min w mit w = bT · u u. d. N. AT · u ≥ c u≥0 Allgemeines duales Problem, ergibt sich aus folgender Synopse, die von links nach rechts zu interpretieren ist, wenn das primale Problem ein Maximierungsproblem ist, sonst von rechts nach links, wobei die so genannte Punktnotation für die i-te Zeile Ai· bzw. für die j-te Spalte A· j der Matrix A verwendet wurde: PRIMAL (DUAL) Kriterium: Max Variablen: x j ; j = 1, 2, . . . , n Funktionen: ATi· · x ; i = 1, 2, . . . , m Zielfunktion: z = cT · x + z0 Rechte Seite: b Nebenbed.: A· · x ≤ b ∀ ∈ L Ae· = be ∀e ∈ E T Ag· ≥ bg ∀g ∈ G Variablen: xi ≥ 0 ∀i ∈ I x j frei ∀ j ∈ J xk ≤ 0 ∀k ∈ K

        DUAL (PRIMAL) Kriterium: Min Funktionen: AT· j · u ; j = 1, 2, . . . , n Variablen: ui ; i = 1, 2, . . . , m Rechte Seite: c Zielfunktion: w = bT · u + z0 Variablen: u ≥ 0 ∀ ∈ L ue frei ∀e ∈ E ug ≤ 0 ∀g ∈ G Nebenbed.: AT·i · u ≥ ci ∀i ∈ I AT· j · u = c j ∀ j ∈ J AT·k · u ≤ ck ∀k ∈ K

        ▲ Zwischen den jeweils paarweise auftretenden LP-Problemen bestehen enge Beziehungen. Sie sind im Folgenden in Form von Eigenschaften zusammengestellt, auf die im weiteren Text Bezug genommen wird. Wir halten zunächst fest, dass es sich bei den beiden dualen Problemen Max z mit z = cT · x u. d. N. A · x ≤ b x≥0



        Min w mit w = bT · u u. d. N. AT · u ≥ c u≥0

        um zwei verschiedene Probleme handelt! Sie werden i. d. R. unterschiedliche Dimensionen besitzen und durch die Nebenbed