Prof. Dr. Peter Hubwieser Fachgebiet Didaktik der Informatik Fakultät für Informatik der TU München Informatik in der Mittelstufe 9.1. Funktionale Modellierung http://ddi.in.tum.de [email protected] 1. Didaktische und fachliche Vorüberlegungen 2 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Der Lehrplan G8 – 9.1 ausgewählte Elemente von Datenflussdiagrammen (Funktion/Prozess, Datenfluss, Ein- und Ausgabe, Verteiler) Funktion als informationsverarbeitende Einheit (Bezeichner, Eingangsparameter, Funktionswert, Zuordnungsvorschrift; Eindeutigkeit); vordefinierte Funktionen, insbesondere bedingte Funktion („WennFunktion“) und logische Funktionen Umsetzung von Datenflussdiagrammen in Terme eines Tabellenkalkulationssystems elementare Datentypen: Zahl, Text, Datum, Wahrheitswert 3 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Brown et al. (1989) Methodische Prinzipien Moderne konstruktivistische Lernansätze fordern: Einführung in die jeweilige Problematik an Hand authentischer Probleme Anordnung der Lernprozesse in größeren Projekten NEIN! Viel Eigentätigkeit der Schülerinnnen und Schüler Möglichst kurze, aber dafür informative Lehrervorträge (510 Minuten pro Stunde). Intensive Kooperation zwischen den Schülerinnen und Schülern. JA! 4 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Wie geht das in der Praxis? 1. z.B. Konzept „mehrstellige Funktionen“ Zahlenlotto gibt es in fast allen Ländern Europas. In Deutschland tippt man „6 aus 49“, in Österreich „6 aus 45“, in Italien „5 aus 90“ und in Schweden „7 aus 35“. Mithilfe der Funktion KOMBINATIONEN kannst du in einem Rechenblatt die Anzahl der möglichen Ergebnisse für diese Spiele berechnen. Stelle fest, in welchem Land man die größten Chancen auf einen Hauptgewinn hat. Schüler bearbeiten Lernaufgabe: Bezug zur Erfahrungswelt Spannend, herausfordernd => Neue Konzepte erforderlich! 2. Schülergespräch, notfalls kurzer Informationsinput durch Lehrkraft; Hefteintrag 3. Übungsaufgaben 4. Zusammenfassung, Einordnung, Ausblick MÖGLICHST KEIN fragendentwickelnder Unterricht über mehrere Lernstufen! 5 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Zentrale Fachmethode: „Teile und herrsche“ Problem: • Komplexe Systeme können nicht im Ganzen bis ins Detail beschrieben werden Lösung: • Man gliedert das betrachtete System (z.B. einen Betrieb) in Teilsysteme (z.B. Einkauf, Vertrieb, Marketing, ..) • beschreibt die Interaktion bzw. Kommunikation zwischen diesen Teilsystemen (Komponenten) durch ein Diagramm, • Man beschreibt nicht die innere Struktur der Komponenten 6 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Modellierungstechnik: Datenflussdiagramme Datenverarbeitung Kunde Werbung, Preise Datenspeicherung Marketing Lieferzeiten, Preise Lieferant Preisgestaltung Bestellung Einkauf Verkaufsdaten Produktion Produktdaten Ausgaben Rechnung Bestellung Kosten Anforderung Produktionsergebnis Vertrieb Bestand Lagerhaltung Anforderung Lagerbestand Ein- Ausgaben Einnahmen Buchhaltung Überweisungen Bank Umsatzdaten Steuererklärung Kontostand Steueranforderung Finanzamt 7 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Sichtweise: Verarbeitung von Information abstrakt Eingabedaten z.B. Steuerung eines Geldautomaten: • • Informationsverarbeitender Prozess Eingabedaten: Kontonummer, PIN, Betrag Ausgabedaten: Transaktion OK, Abbuchung Konto z.B. Antiblockiersystem (ABS) im Auto: • • Eingabe: Rotationsgeschwindigkeit der Räder Ausgabe: Steuersignal an Bremssystem Ausgabedaten 8 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Warum Tabellenkalkulation? Solange alle Prozesse eines Datenflussdiagramms Funktionen sind, kann es gut durch ein Tabellenkalkulationssystem simuliert werden Umgekehrt kann die Arbeitsweise von Tabellenkalkulationssystemen sehr gut durch Funktionen und Datenflüsse beschrieben (abstrahiert) werden. 9 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Das Konzept ist stabil! Spezielle Standardsoftware für mathematisch/ kaufmännische Berechnungen Entwickelt von D. Bricklin, B. Franston 1979 VisiCalc (Apple II), später: Lotus 1-2-3, Excel, StarCalc, etc. 10 VisiCalc Screen, early Alpha 1/4/79 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Datenflussdiagramme in Rechenblättern Offensichtlich kann man (manche) Datenflussdiagramme in Rechenblätter abbilden Mit den folgenden Einschränkungen: • als Informationsverarbeitende Prozesse sind nur Funktionen mit einer Datenausgabeleitung zugelassen • es gibt keine (dauerhaften) Datenspeicher ⇒ es kann also nicht jedes funktionale Modell in einer Tabellenkalkulation dargestellt werden. 11 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Funktion als Spezialfall eines Prozesses Eingabedaten Informationsverarbeitender Prozess Funktionen können als datenverarbeitende Prozesse betrachtet werden Sie dürfen aber nur genau eine Ausgangsleitung haben! Ausgabedaten 12 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Literatur P. Hubwieser, M. Spohrer, M. Steinert, S. Voß: Informatik 2. Tabellenkalkulationssysteme, Datenbanken. Klett, 2007. ISBN 978-3-12731668-1 P. Brichzin, U. Freiberger, K. Reinold, A. Wiedemann: Informatik. Ausgabe für das G8 in Bayern. Schülerbuch I. Oldenbourg, 2007. ISBN: 978-3-486-00156-3 13 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung 2. Ein Unterrichtskonzept Achtung: Hier werden die von den Schülern gelernten Konzepte dargestellt. Diese sollten nicht ausschließlich von der Lehrkraft eingeführt werden! 14 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Struktur der Dokumente Dokumente einer Tabellenkalkulation bestehen aus Rechenblättern („Tabellen“) 15 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Struktur der Dokumente Ein Rechenblatt besteht aus Zellen, die in (endlich) vielen Zeilen und Spalten angeordnet sind. (z.B. Excel XP: 65.536 Zeilen mal 256 Spalten) Eine dieser Zellen ist die aktuelle Zelle, deren Inhalt in der Kopfleiste angezeigt wird. 16 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Aufbau eines Rechenblattes Zellen enthalten: • Daten verschiedener Sorten (Zahl, Währung, Datum, Text, ..) oder • Formeln, bestehen aus einem Gleichheitszeichen und einem Term. 17 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Wert einer Zelle Jede nichtleere Zelle hat einen Wert: Enthält eine Zelle ein Datum (Singular von Daten), so entspricht ihr Wert genau diesem Datum, z.B. der Zahl 5 oder dem Text „Hallo“ Enthält eine Zelle eine Formel, so muss deren Term zur Bestimmung Zellwertes ausgewertet werden, z.B.: Summe(3; 4; 5) = 3 + Summe(3; 4) = 3 + 4 + Summe(5) = 3 + 4 + 5 = 12 18 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Zellbezüge Mit Hilfe von Zellbezügen kann man den Wert einer Zelle als Eingabe (Argument) in andere Zellen kopieren 6 Hier nutzen wir die Möglichkeit, anstatt ihrer Werte die Formeln in den Zellen anzeigen zu lassen (Extras – Optionen – Ansicht – Formeln) 19 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Anpassung von Zellbezügen Beim Kopieren von Formeln von einer Zelle in eine andere werden die Zellbezüge entsprechend der relativen Lage der beiden Zellen zueinander angepasst: Beim Kopieren um x Spalten nach rechts werden die Spaltenbezeichner um x erhöht Beim Kopieren um y Zeilen nach unten werden die Zeilenbezeichner um y erhöht 20 (C) Peter Hubwieser, 13.7.2007 3 Zeilen nach unten kopieren Zeilenbezeichner um 3 erhöhen: z.B. B4 → B7 Beim Transfer einer Formel über Ausschneiden – Einfügen werden die Zellbezüge nicht angepasst! TUM-Informatiklehrertag 2007: Funktionale Modellierung Absolute Zellbezüge Wenn man verhindern will, dass beim Kopieren Zellbezüge verändert werden (z.B., weil man immer auf dieselbe Zelle verweisen will), dann setzt man vor den jeweiligen Zeilen- oder Spaltenbezeichner ein $-Zeichen. Damit erzeugt man einen absoluten Zellbezug 21 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Datentypen Die Zellen beinhalten neben ihrem Wert auch die Angabe der Art, wie dieser Wert darzustellen ist (Format), z.B. einstellige Bruchzahl, Dezimalbruch, Datum, .. 22 Wenn der Wert nicht genau als Wert eines bestimmten Formates dargestellt werden kann, wird er auf den nächstliegenden Wert gerundet: z.B. 0,30 -> 3/7 = 0,2857.. im einstelligen Bruchformat. (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Addition? Wenn man versucht, die Inhalte von Zellen mit verschiedenen Formaten zu addieren, stellt man fest, dass man fast alle Typen außer Texten addieren kann. 23 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Werte sind Zahlen oder Texte Durch Versuche mit Änderung des Formates einer Zelle stellt man fest: • Eine Zelle enthält als Wert entweder eine Zahl oder einen Text; • Zahlenwerte kann man in sehr vielen unterschiedlichen Formaten darstellen: Brüche, Währung, Datum, Uhrzeit, als logischen Wert usw. 24 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung E-V-A Prinzip (Eingabe-Verarbeitung-Ausgabe) Mit Hilfe von Zellbezügen kann man in einem Rechenblatt das E-V-A Prinzip realisieren: Eingabe • Der Wert einer Zelle wird mittels Zellbezug einer Funktion als Argument übergeben (Eingabe) • Der Wert der Funktion wir berechnet (Verarbeitung) und • erscheint als Ausgabe in der Zelle, welche die Formel enthält. Verarbeitung Ausgabe 25 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Funktionen und DV-Prozesse Eine Funktion ist eine eindeutige paarweise Zuordnung (Relation) zwischen den Elementen zweier Mengen: • Menge der Argumente (Definitionsmenge) • Menge der Funktionswerte (Wertemenge) Argument 12 RÖMISCH A = Menge der natürlichen Zahlen Diese Zuordnung wird in der Informatik durch informationsverarbeitende Prozesse festgelegt: • RÖMISCH 1 2 3 4 5 6 ... • Das Funktionsargument ist die Eingabe der Funktionswert ist die Ausgabe des Prozesses XII 26 Funktionswert (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung I II III IV V VI ... B = Menge der römischen Zahldarstellungen Keine Funktion! 2 8 3 7 4 6 5 5 A B Berechnung von Funktionen Mathematik: Zuordnungsvorschrift wird über mathematische Formeln eindeutig festgelegt • oft wird kein Berechnungsverfahren angeben, • manchmal gibt es nicht einmal eines. Informatik: Funktionen müssen durch Computer tatsächlich berechnet werden. • Algorithmus: Ausführbares Verfahren, das auf präzise Weise beschreibt, wie zu jedem Argument der Funktionswert berechnet wird. • Programm: maschinenlesbare Darstellung eines Algorithmus 27 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Automatische Erzeugung von Funktionsgraphen B GANZZAHL(x) 4,0 3,0 2,0 1,0 0,0 keine Funktion! GANZZAHL(x) 1, 1 1, 2 1, 3 1, 4 1, 5 1, 6 1, 7 1, 8 1, 9 2, 0 2, 1 2, 2 2, 3 2, 4 2, 5 2, 6 2, 7 2, 8 2, 9 3, 0 x ABS(a) 12 10 8 6 ABS(a) 4 2 0 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 Linien- bzw. Balkendiagramme mit Hilfe der Tabellenkalkulation 28 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung A Mehrstellige Funktionen Viele Funktionen haben mehr als ein Argument: POTENZ, KGV, RUNDEN Solche Funktionen heißen mehrstellig Manche Funktionen können sogar eine variable Anzahl von Argumenten aufnehmen, z.B.: SUMME, MITTELWERT 29 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Beispiel: Bruchberechnung Eingabe / Verarbeitung Ausgabe 30 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Reihenfolge der Argumente Bei den meisten mehrstelligen Funktionen führt eine Vertauschung der Reihenfolge der Argumente zu veränderten Ergebnissen: POTENZ(2: 3) = 23 = 8 POTENZ(3; 2) = 32 = 9 Bei manchen Funktionen spielt die Reihenfolge der Argumente dagegen keine Rolle: SUMME(a; b) = SUMME(b; a); KGV(x; y) = KGV(y; x) Solche Funktionen heißen kommutativ 31 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Infix- und Präfixnotation Zweistellige Funktionen werden oft abgekürzt durch ein Operatorsymbol zwischen den Argumenten dargestellt: SUMME(2; 3) Präfixnotation PRODUKT(a; b) = 2+3 = a*b Infixnotation Die linke Art der Darstellung heißt Präfix-, die rechte Infixnotation, weil das Funktionssymbol vor bzw. zwischen den Argumenten steht. Manche Schreibweisen gehören weder zur einen noch zur anderen Art: z.B. xy für POTENZ(x; y) 32 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Verkettung von Funktionen Für viele Aufgabenstellungen muss man mehrere Funktionen kombinieren. Oft wendet man dabei die Verkettung von Funktionen an: Eine Funktion übernimmt dabei die Werte einer anderen Funktion als Argument, hier z.B. RUNDEN das Ergebnis von MITTELWERT als 1. Argument. 33 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Fester Wert in Formel! Bereichsoperator Linke obere Ecke Oft benötigt man als Argument einer Rechte untere Funktion die Folge der Ecke Werte eines zusammenhängenden (rechteckigen) Bereichs von Zellen : SUMME 34 (C) Peter Hubwieser, 13.7.2007 Bei Funktionen mit einer variablen Anzahl von Argumenten kann man dafür den Bereichsoperator : (Infixnotation) verwenden: SUMME(B5:C16) TUM-Informatiklehrertag 2007: Funktionale Modellierung Kompression von Berechnungen Anstatt das Zwischenergebnis bei einer Verkettung in einer eigenen Zelle abzulegen .. .. kann man auch die ganze Berechnung in einer Zelle ausführen. 35 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Terme aus Datenflussdiagrammen Bei der Bildung des komprimierten Terms aus dem Datenflussdiagramm beginnt man mit der zuletzt ausgeführten Funktion, RUNDEN(MITTELWERT(..).) Die vorher berechneten Funktionen erscheinen als deren Argumente 36 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Beispiel: Diagonale im Rechteck a b 2 2 POTENZ a POTENZ SUMME WURZEL d 37 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung d b Aufgabe: Term erstellen Lösung: RUNDEN(BRTEIL(AD, ED)*((Z:100)*K) AD (Anfangsdatum) ES (Enddatum) Z (Zinnssatz) 100 Ein Geldbetrag liegt für gewisse Zeit auf einem verzinsten Konto (z.B. 3,75% pro Jahr). : BRTEIL * * Setzen Sie dieses Datenflussdiagramm in einen Term um! 38 (C) Peter Hubwieser, 13.7.2007 K (Kapital) 2 RUNDEN Welcher Zinsbetrag wird gutgeschrieben (ohne Zinseszins)? BRTEIL bezeichnet den Bruchteil eines Jahres, über den der Betrag auf dem Konto war. TUM-Informatiklehrertag 2007: Funktionale Modellierung BRTEIL? 30 Wie berechnet man BRTEIL? Standardmäßig rechnen die Banken dabei mit 30 Tagen pro Monat und 360 Tagen pro Jahr. Erstellen Sie einen Term aus dem nebenstehenden Datenflussdiagramm! AD Wert kopieren! ED TAG MONAT TAG - MONAT - 30 * SUMME 360 / Lösung: 39 SUMME(30-TAG(A5);30*(MONAT(C5)-1-MONAT(A5));TAG(C5))/360 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung 1 Datenverteiler Zähler1 Nenner1 Zähler2 Nenner2 kgV Meist komprimiert man die Terme soweit möglich in einer Zelle. Ausnahmen: • • Ein Zwischenergebnis soll angezeigt werden. Ein Zwischenergebnis soll mehrfach verwendet werden. Im zweiten Fall muss der Wert der Zelle, die das Zwischenergebnis enthält, kopiert werden (Symbol: Fetter Punkt). / / * * + Beispiel: Bruchaddition, z.B. 5/6 + 3/8 = (5*4 + 3*3)/24 Zähler3 40 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Nenner3 Ausgezeichneter Preis 100 € Bedingte Terme Bei manchen Berechnungen hängt die Struktur des Terms von gewissen 25 € Bedingungen ab, z.B.: 0,75 < * - Ein Baumarkt gewährt in einer Sonderaktion • • WENN Ermäßigter Preis 41 (C) Peter Hubwieser, 13.7.2007 auf alle Preise unter 100€ einen Rabatt von 25%, ab 100 € aufwärts jedoch einen Nachlass von 25€. Solche Aufgaben können mit Hilfe der WENNFunktion gelöst werden. WENN(Preis<100; Preis*0,75; Preis-25) TUM-Informatiklehrertag 2007: Funktionale Modellierung Bedeutung <Bedingung> <Term1> <Term2> Dreistellige WENN-Funktion: WENN (<Bed>; <Term1>;<Term2>) WA HR falls <Bed> = WAHR <Bedingung> <Term1> <Term2> FAL S CH 42 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung falls <Bed> = FALSCH Auswertung <Bedingung> <Term1> <Term2> WA HR <Bedingung> WENN (<Bed>; <Term1>;<Term2>) • Zunächst wird die Bedingung <Bed> zu einem Wahrheitswert (WAHR oder FALSCH) ausgewertet. • Falls <Bed> = WAHR wird <Term1> ausgewertet und als Ergebnis der WENN-Funktion zurückgegeben. • Andernfalls wird der <Term2> ausgewertet und als Ergebnis zurückgegeben. <Term1> <Term2> FAL S ACHTUNG: Die Bedingung wird zu einer Zahl ausgewertet: CH • 0 wird als FALSCH interpretiert • alle anderen Werte als WAHR! 43 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Problem: Striktheit Eine Funktion heißt strikt, wenn ihr Ergebnis nicht definiert ist, sobald mindestens eines ihrer Argumente einen nicht definierten Wert annimmt. a b 0 b=0 <> Die WENN-Funktion ist nicht strikt, z.B.: WENN(b <> 0 ; a/b; „FEHLER“) Hier ist Falle b = 0 das 1. Argument <Term1> der Funktion nicht definiert. Dennoch liefert die Funktion einen Text als definierten Wert zurück. Ursache: <Term1> bzw. <Term2> werden nur dann ausgewertet, wenn die Bedingung den jeweiligen Wert (wahr bzw. falsch) aufweist! 44 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung / FEHLER! WENN Ergebnis Jahreszahl 4 100 ist Teiler von Beispiel: Schaltjahre 400 ist Teiler von ist Teiler von Nach dem Gregorianischen Kalender ist ein Jahr ein Schaltjahr, wenn die Jahreszahl • • NICHT • durch 4 und nicht durch 100 oder durch 400 teilbar ist. Formalisiert: J ist Schaltjahr, falls UND (4 ist Teiler von J) UND (NICHT (100 ist Teiler von J)) ODER (400 ist Teiler von J) ODER Schaltjahr? 45 (C) Peter Hubwieser, 13.7.2007 Im Rechenblatt berechnen wir “ist Teiler von” durch: NICHT(REST(Jahreszahl; Teiler)) TUM-Informatiklehrertag 2007: Funktionale Modellierung Logische Funktionen Die Funktionswerte der Logischen Funktionen UND, ODER bzw. NICHT lassen sich sehr übersichtlich in Wahrheitstafeln darstellen: 46 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Gleichungen und Ungleichungen A B < Ergebnis Eine Gleichung bzw. Ungleichung kann man als zweistellige Funktion mit dem Infixoperator „=“ bzw. „<“ oder „>“ betrachten die einen Wahrheitswert als Ergebnis liefert. 47 Diese Tatsache wird bei der WENN-Funktion angewandt, wo oft Gleichungen und Ungleichungen als Bedingung auftreten. (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Vollständige Funktionale Modellierung Datenverarbeitung Kunde Werbung, Preise Datenspeicherung Marketing Lieferzeiten, Preise Lieferant Preisgestaltung Bestellung Einkauf Verkaufsdaten Produktion Produktdaten Ausgaben Rechnung Bestellung Kosten Anforderung Produktionsergebnis Vertrieb Bestand Lagerhaltung Anforderung Lagerbestand Ein- Ausgaben Einnahmen Buchhaltung Überweisungen Bank Umsatzdaten Steuererklärung Kontostand Steueranforderung Finanzamt 48 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung DIN 66001 49 (C) Peter Hubwieser, 13.7.2007 Datenflussdiagramme wurden bereits 1966 in DIN 66001 genormt. In der neuesten Fassung von Dezember 1983: „Ein Datenflussplan stellt Verarbeitungen und Daten sowie die Verbindungen zwischen beiden dar.“ In der DIN 66001 werden 19 verschiedene grafische Symbole zur Darstellung aufgeführt, heute wird eine wesentlich geringere Anzahl von Symbolen verwendet. TUM-Informatiklehrertag 2007: Funktionale Modellierung Materialflüsse: PKW-Montageband Karosserielager Fahrgestelllager Karosseriemontage Fahrgestell -montage Endteilelager Just-in-timeAnlieferung der Räder Radmontage Endmontage 50 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Methode der schrittweisen Verfeinerung Zunächst wählt man die Komponenten (Prozesse) relativ groß (und betrachtet sie als „black box“) In weiteren Schritten gliedert man jede wichtige Komponente wiederum durch ein Datenflussdiagramme Es folgt ein Beispiel dazu: PC-Rechenanlage 51 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung PC-Rechenanlage: Datenflussdiagramm Bildschirm Lautsprecher Joystick Scanner Drucker Kartenleser Maus Tastatur USB-Hub LAN-Dose Zentraleinheit 52 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Verfeinerung: PC-Zentraleinheit DVD-Brenner CPU Festplatte Bildschirm Grafikkarte Antenne TV-Karte Controller 53 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung Vielen Dank für Ihre Aufmerksamkeit! Noch Fragen? Andernfalls: guten Appetit beim Mittagessen! 54 (C) Peter Hubwieser, 13.7.2007 TUM-Informatiklehrertag 2007: Funktionale Modellierung