Java • • • • • Programmierung Höhere Programmiersprachen Java als Programmiersprache Aufbau der Java-Software Verwendung von JOE Anwendungen der Wirtschaftsinformatik SS 2009 201-1 Warum Programmierung? • Prozessor versteht nur Folgen von 0 und 1 • Wie erstellt man die Folge von 0 und 1, um den Prozessor zu der gewünschten Arbeit zu veranlassen? • Wie entsteht Software? Anwendungen der Wirtschaftsinformatik SS 2009 201-2 Programmierung Beispiel Taschenrechner • Eingabe von Zahlen über Tastatur incl. Umwandlung in Dualsystem • Tasten für bestimmte Funktionen (+ - * / M+ etc.) • Prozessor kennt nur die Befehle, die hinter den Tasten liegen (Befehlssatz) (Befehlssat ) => Mensch muss die Abfolge der Eingaben und Operationen selber festlegen • Beispiele – (3+4):(10-3) – Addition zweier 10-stelliger Zahlen mittels Taschenrechner mit 6 Stellen Anwendungen der Wirtschaftsinformatik SS 2009 201-3 1 Programmierung • Mensch schreibt selber in Sprache des Prozessors (Maschinensprache) • Einsatz eines Programms, das Maschinensprache aus anderen Sprachen erzeugt • Es bleibt für den Menschen die Notwendigkeit, die Aufgabe in formalisierter Form zu beschreiben. => Modell der Datenverarbeitung 201-4 Anwendungen der Wirtschaftsinformatik SS 2009 Modell der Datenverarbeitung Eingabedaten Ausgabedaten Verarbeitung g EVA-Prinzip 201-5 Anwendungen der Wirtschaftsinformatik SS 2009 DV: Einfache Beispiele • Addition 2 + 2 4 • Telefonnummer suchen Müller Suche 123 654 Telefonbuch Anwendungen der Wirtschaftsinformatik SS 2009 201-6 2 Programmierung • Problemlösung im Rahmen der EDV erfordert die Formulierung der Lösung in einer der Maschine verständlichen Form. Æ Programmierung • Formulierung F li d der Arbeitsvorschrift A b it h ift mittels itt l Anweisungen (durch den Menschen) Æ Algorithmus • Formalisierte Beschreibung des Algorithmus und Übersetzung in Maschinensprache Æ Programmiersprache 201-7 Anwendungen der Wirtschaftsinformatik SS 2009 Programmierung Algorithmus P bl Problemlösung in menschlicher Sprache Programmiersprache E t Entwurf f Formalisiert, dem Menschen angepasst M Maschinen hi code in Sprache der Hardware 201-8 Anwendungen der Wirtschaftsinformatik SS 2009 Algorithmus Berechnung der Umsatzsteuer E Nettobetrag Steuersatz V Programm A Endbetrag Realisierung durch eine Reihe von Anweisungen = Algorithmus Anwendungen der Wirtschaftsinformatik SS 2009 201-9 3 Sprachliche Formalisierung des Algorithmus Lies Nettobetrag ein (von Tastatur) Lies Steuersatz ein (aus Datei) Steuer := Nettobetrag · Steuersatz : 100 Endbetrag := Nettobetrag + Steuer Gib Endbetrag aus (auf Bildschirm) Ende Anwendungen der Wirtschaftsinformatik SS 2009 201-10 Konstrukte für komplexe Abläufe • Verzweigungen (wenn … dann … sonst) • Wenn MwSt-Schlüssel = 1 dann voller MwSt-Satz sonst ermäßigter MwSt-Satz • Schleifen (x mal) oder (solange, wie …) • Berechne bei degressiver Abschreibung den Abschreibungsbetrag solange, bis der Restbuchwert unter dem Restverkaufserlös liegt Anwendungen der Wirtschaftsinformatik SS 2009 201-11 Programmiersprache • Natürliche Sprache trotz Formalisierung nicht eindeutig Æ genormte Spezialsprache Æ Programmiersprache g p • Formulierung in dieser Sprache ist Aufgabe des Menschen (da es die Maschine ja per Definitionem nicht kann) Anwendungen der Wirtschaftsinformatik SS 2009 201-12 4 Umsetzung in Programmiersprache Beispiel in Java public class Umsatzsteuer... { double nettobetrag, endbetrag, steuer; Integer steuersatz; nettobetrag = getDouble(); steuersatz = getInteger(); steuer = nettobetrag * steuersatz / 100; endbetrag = nettobetrag + steuer; System.out.printf("Endbetrag:%25.2f%n", endbetrag); }... Anwendungen der Wirtschaftsinformatik SS 2009 201-13 Umsetzung in Programmiersprache Beispiel in Pascal Program Umsatzsteuer; Var Nettobetrag, Endbetrag, Steuer: Real; Steuersatz: Integer; Begin ReadLn (Nettobetrag); ReadLn (Steuersatz); Steuer := Nettobetrag * Steuersatz / 100; Endbetrag := Nettobetrag + Steuer; WriteLn (Endbetrag:15:2) End. Anwendungen der Wirtschaftsinformatik SS 2009 201-14 Compilierung • Programmcode ist eindeutig, aber noch nicht prozessorgerecht • Gründe – Operationen zu komplex für Prozessor Æ Zerlegung Z l eines i k komplexen l B Befehls f hl in i viele einfache, z.B. ADD 1,2 oder JMP 64 – Übersetzung der einfachen Befehle in Maschinensprache Darstellung im Dualsystem 10010011 10101011 10000101 • Übersetzung übernimmt der Computer (Compiler ist auch ein Programm). Anwendungen der Wirtschaftsinformatik SS 2009 201-15 5 Klassische Schritte der Programmierung Edit Quellprogramm Compile Objektmodul Link ausführbares Programm Execute Anwendungen der Wirtschaftsinformatik SS 2009 201-16 Höhere Programmiersprachen 3. Generation • Problemorientierung kommerziell / technisch-wissenschaftlich • Elemente – Anweisungen (Statements) – Vereinbarungen • Übersetzungsprogramm (Compiler) Anweisungen und Vereinbarungen in Folgen von Maschinenbefehlen aufgelöst Anwendungen der Wirtschaftsinformatik SS 2009 201-17 höhere Programmiersprachen 3. Generation • COBOL, RPG: kommerzieller Bereich • FORTRAN: technisch-wissenschaftlicher Bereich • ALGOL, Pascal und Modula: geprägt durch theoretische Ansätze der Informatik • PL/1: Versuch, die Erfahrungen mit COBOL, FORTRAN und ALGOL zu vereinen • BASIC: für interaktive Programmierung konzipiert • C: im Zusammenhang mit UNIX (2½ GL) • ADA: neuere Entwicklung, technisch • Java: neuerer Standard • PHP: Internet Anwendungen der Wirtschaftsinformatik SS 2009 201-18 6 Java • Java: umgangssprachlich für „Tasse Kaffee“ => dampfende Tasse Kaffee ist offizielles Java-Logo • Entwickelt von Sun Microsystems (hat auch alle Rechte daran), Tochter JavaSoft • Entwickelt seit 1991, Name seit 1994, erste offizielle Version 1.0 1996 veröffentlicht • Ursprüngliche Zielrichtung: Programme für WWW-Browser, erst später allgemeine Programmiersprache Anwendungen der Wirtschaftsinformatik SS 2009 201-19 Java • Völlig neu entworfen • Ziel: möglichst einfach, Übernahme bewährter Merkmale vorhandener Sprachen unter Verzicht auf fehleranfällige komplexe Bautei Bauteile, Anwendungsbereich vernetzte Systeme • „einfach, objektorientiert, verteilt, interpretiert, robust, sicher, architekturneutral, portabel, performant, nebenläufig, dynamisch“ • JavaScript Ù Java JavaScript hat mit Java NICHTS zu tun. Anwendungen der Wirtschaftsinformatik SS 2009 201-20 Schritte der Programmierung bei Java • Edit erzeugt Quellcode (*.java) • Compile erzeugt systemunabhängigen Bytecode (*.class) • Laufzeitumgebung L f i b (Run (R Time Ti Environment) E i ) virtuelle Maschine (systemabhängig!) lädt und interpretiert ByteCode-Programme dynamisch • Sonderversion: Applets Compilieren und Ausführung im WWW-Browser • Konsequenz: hohe Portabilität Anwendungen der Wirtschaftsinformatik SS 2009 201-21 7 Schritte der Programmierung bei Java (konkrete Arbeiten) • Edit Notepad oder anderer Editor (ohne Formatierung!) Speicherung der Datei als xxx.java • Compile Bestandteil von Java SDK: javac xxx erzeugt xxx.class • Laufzeitumgebung (Run Time Environment) Bestandteil von Java SDK: java xxx führt xxx.class aus • Zur Vereinfachung Entwicklungsumgebung, JCreator Anwendungen der Wirtschaftsinformatik SS 2009 201-22 Java SDK • Software Development Kit = Werkzeug zur Erstellung von Software • von Fa. Sun kostenlos bereitgestellt, ladbar über das Internet • enthält alles, was man für die Programmentwicklung und Ausführung braucht • Struktur vorgegeben, Installationsvorschriften (PATH etc.) • für Windows, Linux u.a. verfügbar • Versionen (1.4.3, 1.5 = Java 5, 1.6 ) Anwendungen der Wirtschaftsinformatik SS 2009 201-23 JCreator • Programmsystem zur Entwicklung von JavaProgrammen • Ladbar aus dem Internet LE als Testversion nutzbar • zur Erstellung von komplexen Programmen, aber auch für klassische zeichenorientierte Programme • verwendet die Werkzeuge aus Java SDK, setzt sie geschickt ein (Menüpunkte) • eigener Editor Anwendungen der Wirtschaftsinformatik SS 2009 201-24 8 Zusätze Uni Münster • eigene Unterprogramme (Klassen) für Eingabe im DOS-Fenster • müssen zusätzlich in Dateisystem kopiert werden • müssen als zusätzliche Klassenpfade eingebunden werden (JCreator) Anwendungen der Wirtschaftsinformatik SS 2009 201-25 Software / Literatur / Hilfen • Java SDK kostenlos ladbar • JCreator LE kostenlos ladbar • Installationsanleitung unter www wiwi uni-muenster de/grundzuege wi/ www.wiwi.uni-muenster.de/grundzuege_wi/ • Literaturliste in den Java-Materialien • Dokumentation im Java SDK • Hilfesystem von JCreator Anwendungen der Wirtschaftsinformatik SS 2009 201-26 9