Informationstechnologie Kapitel 4: Softwarearten z Programmiersprachen z Betriebssysteme z Anwendungsprogramme • Office-Systeme • Datenbanken • Ablauforientierte Programme • ERP-Systeme • E-Learning 4 Softwarearten 1 0. Einführung (Vom Problem zur Maschine) 4 Softwarearten 2 0. Einführung (Modellierung der realen Welt) 4 Softwarearten 3 0. Einführung (Strukturen von Algorithmen) 4 Softwarearten 4 1. Programmiersprachen und Programme z Algorithmus z eindeutige Beschreibung eines endlichen Verfahrens zur Lösung einer bestimmten Klasse von Probleme z Programm z Folge von Befehlen, die in einer für den Computer verständlichen Sprache (Programmiersprache) formuliert sind z Programmiersprache z Dient zur Formulierung von Algorithmen auf Computern z Besteht aus einer Reihe von Befehlen, deren Funktionen je nach Programmiersprache für bestimmte Anwendungsgebiete geeignet sind 4 Softwarearten 5 0. Programmklassifikation Software Systemprogramme Betriebs -systeme Einzelplatz Mehrplatz Netzwerk 4 Softwarearten Anwenderprogramme Programmiersprachen Utilities Standardprogramme Individualprogramme Interpreter Compiler Verwaltungshilfen (PC-Tools) Programmierhilfen Text Kalkulation Grafik ... Individuell für eine Benutzergruppe erstelltesProgramm 6 1. Programmiersprachen z Aufteilung in Generationen, heute nur noch nach Konzepten z Generation meint nicht die zeitliche Entwicklung sondern in Konzepte und Anwendungen z Maschinensprachen z Assembersprache z Problemorientierte, höhere Programmiersprachen z Imperative Programmiersprachen: komplexe Anweisungen an den Rechner wie z.B. Kopieren von Speicherinhalten, Lesen von Dateien z Funktionale Programmiersprachen: im Vordergrund steht die Definition von komplexen Funktionen z Logische Programmiersprachen: es werden logische Zusammenhänge betrachtet wie z.B. dass jede männliche Person, die ein Kind hat, als Vater bezeichnet wird. 4 Softwarearten 7 1. Programmiersprachen 4 Softwarearten 8 1. Programmiersprachen (Maschinensprache) z direkt vom Computer verständliche Folgen von Nullen und Einsen. z Beispiel: 0001 1100 0001 Folge ist als 3x4Bit zu interpretieren z Bedeutung: z z z z 1. Halbbyte: Schaue in Tabelle nach Befehl 1 ÆAddiere 2. Halbbyte: Adresse 12 3. Halbbyte: Adresse 1 Ergebnis: Addiere Inhalt der Adressen 12 und 1 4 Softwarearten 9 1. Programmiersprachen (Assembler 2.Generation) z Maschinenbefehle durch Abkürzungen dargestellt z Beispiel: ADD 12, 1 Addiere Inhalt Adresse 12 und Inhalt Adresse 1 z Zahlendarstellung in verschiedenen Zahlensystemen z 1:1 - Umsetzung Assemblerbefehl in Maschinenbefehl z Vorteil: schnelle Ausführung der Befehle z Unterprogramme möglich 4 Softwarearten 10 1. Programmiersprachen (Hardwarenah) z Assemblersprachen: - Lesbare Form der Maschinensprache eines Prozessors - Die ersten Betriebssysteme wurden in Assembler geschrieben - Systemtreiber und Hardware-Unterstützung wird bis heute teilweise in Assembler realisiert z Programmiersprache C: - Sprachabstraktion zur Assemblersprache - Sprachkonzepte orientieren sich an ALGOL, BCPL und B - Entworfen für die Programmierung des Systemkerns von UNIX - Zahlreiche spätere Sprachen orientieren sich an der Syntax von C 4 Softwarearten 11 1. Programmiersprachen (höhere) z Programmiersprache FORTRAN: - Erste tatsächlich umgesetzte höhere Programmiersprache - Bevorzugt im Einsatz für numerische Berechnungen - Optimiert für mathematische Berechnungen z Programmiersprache COBOL: - Bevorzugt im Einsatz für betriebswirtschaftliche Programme - Optimiert für die Behandlung großer Datenmengen z Programmiersprache Java: - Übersetze Programme (Bytecode) lauffähig auf verschiedenen Plattformen - Objektorientiert mit Optimierung auf Vernetzung und „Web“ 4 Softwarearten 13 1. Programmiersprachen (höhere) z Maschinenunabhängig, problemorientiert z Programmierung entspricht dem Problemdenken z Übersetzer notwendig (Interpreter oder Compiler) z Übersetzung jeder Anweisung in Maschinenbefehle z Aus 1 Anweisung werden meist n – Anweisungen in der Maschinensprache 4 Softwarearten 14 1. Programmiersprachen (Pascal) z PASCAL –Programm: Beispiel Berechnung einer Potenzzahl program demo(output); VAR [PUBLIC] i,j : INTEGER; sum, lauf : INTEGER; BEGIN WRITE('Geben sie den Wert für i ein'); READLN(i); WRITE('Geben sie den Wert für j ein'); READLN(j); sum := 1; FOR lauf := 1 to j DO sum := sum * i; WRITELN('Der Wert für‘, i,‘ hoch‘ , j, `ist',sum:10); END. 4 Softwarearten 15 1. Programmiersprachen (Objektorientiert) Definition objektorientierte Programmiersprachen z Objektorientierte Programmiersprachen enthalten Sprachkonstrukte, die die objektorientierte Systementwicklung unterstützen. z Ein Objekt ist hierbei ein logisch, abgeschlossener Teil eines Programms, dessen Zustand in Variablen (den so genannten Instanzvariablen) gespeichert ist. Dieser Zustand kann (ausschließlich) über spezielle Operationen des Objekts verändert werden. 4 Softwarearten 16 1. Programmiersprachen (Objektorientiert) 4 Softwarearten 17 1. Programmiersprachen (Nicht-prozedurale) z Programmierung nicht mehr ablauforientiert, sondern z z z z z beschreibend Anstatt WIE nun WAS ist zu tun Hauptvorteil: Produktivität steigt von 1:5 auf 1:300 d.h. aus 1 Anweisung werden 300 Maschinenbefehle Programmiersysteme nicht-prozeduralen Programiersprachen umfassen meist eine Datenbank mit entsprechenden Abfrage- und Änderungsmöglichkeiten Beispielsprache: SQL: Structered Query Language SQL als Standard für Abfragen an Datenbanken 4 Softwarearten 18 1. Programmiersprachen (Nicht-prozedurale) SQL - Abfragesprache für eine Datenbank Beispiel: (Mengen in Prädikaten) "Finde alle Namen der Autoren mit den Verlagen Teubner und Addison-Wesley" SELECT AUTOR-NAME FROM BUCH WHERE VERLAG IN ('Teubner','Addison-Wesley') Alternativ zu dieser Where-Klausel: Where Verlag = 'Teubner' OR Verlag = 'Addison-Wesley' 4 Softwarearten 19 1. Programmiersprachen (Expertensysteme) z System um das Wissen von Experten jedem zur Verfügung zu stellen z Komponenten: Wissen und Problemlösungsteil für Schlussfolgerungen Beispiel: Problemlösungsteil:bestimmte Schlussfolgerungsregeln Wissen: Alle Vögel fliegen Der Spatz ist ein Vogel Frage: Kann ein Spatz fliegen ? Antwort des Expertensystems: JA z Zusätzlich erforderlich: Erklärungskomponente 4 Softwarearten 20 2. Softwareklassifikation Software • SAP • Microsoft Standard-Software Anwendungssoftware (Problemorientierte Software) Individual-Software • Eigenentwicklung • Auftragsprogrammierung Systemsoftware (Systemorientierte Software) • Betriebssysteme • Dienst-, Übersetzungs- und Organisationsprogramme Anwendungsspezifische Software • SAP-Module • ORACLE Application Kommerzielle Anwendungssoftware 4 Softwarearten Anwendungsneutrale (systemnahe) Software • Datenbanken • Softwaretools • Finanz- u. Rechnungswesen • Vertrieb Technische Anwendungssoftware • Lager- u. Materialwirtschaft • Produktionsplanungssysteme 21 2. Softwareklassifikation (Systemsoftware Compiler) + Optimale Ausnutzung der jeweiligen Prozessoreigenschaften mit hoher Abarbeitungsgeschwindigkeit - Das übersetzte Programm läuft nur auf dem jeweiligen Prozessortyp - Für verschiedene Prozessortypen unterschiedliche Compiler unterschiedicher Hersteller - Programmiersprachen oft nicht plattformunabhängig definiert 4 Softwarearten 22 2. Softwareklassifikation (Systemsoftware Java Compiler) + Für alle Prozessortypen wird nur ein Java Compiler benötigt + Java ist unabhängig von allen Plattformen exact definiert + Übersetzte Java-Programmiersprache laufen ohne Neuübersetzung auf allen Plattformen - Die übersetzten Programm laufen langsamer, da sie interpretiert werden 4 Softwarearten 24 2. Softwareklassifikation (Systemsoftware Compiler) 4 Softwarearten 25 2. Softwareklassifikation (Systemsoftware VM) Bei der Verwendung einer virtuellen Maschine erfolgt während der Übersetzung nur die Erstellung eines plattformunabhängigen ByteCode, der dann zur Ausführungszeit interpretiert wird. 4 Softwarearten 26 2. Softwareklassifikation (Systemsoftware Interpreter) 4 Softwarearten 27 2. Softwareklassifikation (Systemsoftware Betriebssystem) z Programm, das die Verbindung zwischen dem Benutzer, der Software und der Hardware herstellt z Die Installation eines Betriebssystems ist für die Arbeit mit einem Computer unerläßlich Windows NT: DOS: 4 Softwarearten 28 2. Softwareklassifikation (Systemsoftware Betriebssystem) z Betriebssysteme (englisch: operating system): Programme, die (zusammen mit den Eigenschaften der Rechnerhardware) die grundlegende Infrastruktur für die Ausführung von Anwendungssoftware bilden z Steuerung und Überwachung von Anwendungsprogrammen z bestehen aus vielen einzelnen, in ihrer Funktion aufeinander abgestimmten Programmen. z Betriebssysteme bestehen aus einem Betriebssystemkern (das sind Programme, die sich permanent im Arbeitsspeicher befinden) und den Dienstprogrammen 4 Softwarearten 29 3. Betriebssystem (Aufgaben) z Auftragsverwaltung d.h. die Verwaltung der gleichzeitig ablaufenden z z z z z z Programme, wobei diese zeitverzahnt oder parallel ablaufen können Arbeitsspeicherverwaltung: Verwaltung des realen und virtuellen Arbeitsspeichers durch Programme und Daten Gerätesteuerung: Steuerung angeschlossener Eingabe- / Ausgabegeräte und externer Speicher (Netzwerkkarten, Festplatte) Benutzerverwaltung: Ermächtigung verschiedener Benutzer zur Verwendung oder Teilverwendung des Rechners über Benutzerzugriffsrechte Dateisystem: Organisation des Dateisystems durch Führung eines Belegungsverzeichnisses, Dateinamen und Zugriffsmethoden Dienstprogramme: Hilfsprogramme zur Abwicklung häufig vorkommender, anwendungsneutraler Aufgaben bei der Benutzung des Rechners (Suchen von Dateien, Formatierung von Platten) Fehlerbehandlung 4 Softwarearten 30 3. Betriebssystem (Technische Daten) z 8/16/32/64-Bit-Betriebssystem z Grafische Benutzeroberfläche z Sicherheitsaspekte z Verwaltbarer Festplattenspeicher z Verwaltbarer Arbeitsspeicher z Multitasking z Multithreading z Netzwerkfähigkeit z Plug & Play 4 Softwarearten 32 3. Betriebssystem (Anbieter und Versionen) Betriebssystem MSDOS 80386 1 MB RAM 16 Windows 3.x 80386 4 MB RAM 16 Windows XP Pentium 64 MB RAM 32 / 64 16 (Teil) ja Windows NT/2000 Pentium 24 MB RAM 32 Windows Vista Pentium 512 MB RAM 32 / 64 Linux ja Windows 95 (98) Pentium 16 (32) MB RAM 32 / 16 (Teil) ja Nein ja Ja nein nein nein ja ja Ja Ja, nur mit 12 MB RAM Ja Sicherheitsaspekte Verwaltbare Festplatte Verwaltbarer RAM 2 GB 2 GB 16 TB 16 TB 16 TB 16 TB 1 MB 16 MB 2 GB (2 TB) 4 GB 4 GB 128 GB (64 Bit) 4 GB / 1 TB Multitasking Nein nein Nein Ja Preemptiv Ja ja Ja Preemptiv Ja Nein Ja Multithreading Plug & Play Ja kooperativ nein Nein 4 GB/ 32 GB 16 TB virtuell Ja Preemptiv Ja ja Ja Preemptiv Ja ja Hardware – Anforderungen (Minimum) ?? – Bit Betriebssystem Grafische Oberfläche 4 Softwarearten Ja Nein 80386 4 MB RAM 32 / 64 33 3. Betriebssystem (MS-DOS) z MS-DOS = Microsoft-Disk-Operating-System z Erstes weit verbreitetes Betriebssystem für z z z z Personalcomputer Zeichenorientiert 16-Bit-Betriebssystem Arbeitsspeicherverwaltung auf 640 KB begrenzt Dateinamen auf acht Zeichen begrenzt Microsoft(R) DOS Version 6.2 (C) Copyright Microsoft Corp 1980-1993. C:\> copy autoexec.bat a: 1 Datei(en) kopiert. C:\> cd word C:\WORD> word MS-DOS-Oberfläche 4 Softwarearten 34 3. Betriebssystem (Windows 3.x) z Grafische Betriebssystemerweiterungen für MS-DOS z WYSIWYG-Technik (What You See Is What You Get) 4 Softwarearten 35 3. Betriebssystem (GUI) z Intuitive Benutzerführung über leicht zu deutende Symbole und grafische Elemente z Alle Anwendungen werden in “Fenstern” dargestellt => Windows (engl.) = Fenster z Maus als zentrales Eingabegerät zur Befehlsausführung 4 Softwarearten 36 3. Betriebssystem (OO-GUI) z Alle Hard- und Software-Komponenten sind Objekte 4 Softwarearten 37 3. Betriebssystem (Windows 95) z 32-Bit-Nachfolger für die Kombination MS-DOS/Windows 3.x z Lange Dateinamen (bis zu 256 Zeichen) z Arbeitsspeicherverwaltung bis zu 4 GB z Preemptives Multitasking z Multithreading z Plug & Play z Abwärtskompatibel für ältere MS-DOS-Programme 4 Softwarearten 38 3. Betriebssystem (Windows NT) z NT = New Technology z Reines 32 - Bit-Betriebssystem für professionelle und geschwindigkeitsorientierte Anwender z NTFS (New Technology File System) z Professionelle Netzwerkfähigkeit z Sicherheitskriterien z Anmeldename + Zugangspaßwort z Sicherheitsstandard C2 (US-Verteidigungsministerium) 4 Softwarearten 40 3. Betriebssystem (Windows XP) • Weiterentwicklung auf Basis NT • herausragende Betriebssystemleistung • präemptivem Multitasking, Fehlertoleranz • Schutz des Systemspeichers. • neu gestaltete Oberfläche • Unternehmen und im anspruchsvollen Heimeinsatz • Remotedesktop, • verschlüsselndes Dateisystem, • Systemwiederherstellung • fortschrittliche Netzwerkfeatures. 4 Softwarearten 41 3. Betriebssystem (OS/2) z OS/2 von IBM z Konnte sich aufgrund der anfänglichen Inkompatibilität zu DOS und der höheren Hardware-Anforderungen nicht durchsetzen z Insbesondere unter den alten IBM-Großrechnerkunden verbreitet Objekt Fenster Mauszeiger 4 Softwarearten 42 3. Betriebssystem (Linux und Unix) z Unix z Wurde mit der Programmiersprache C speziell für Rechner der mittleren Datentechnik entwickelt (sechziger Jahre) z Betriebssystem für vernetzte Umgebungen z Linux z Unix-Version für Personalcomputer z 32-oder 64 Bit-Betriebssystem z Grafische Oberfläche z Weiterentwicklung im Open-Source-Bereich 4 Softwarearten 43 3. Betriebssystem (Einsatzgebiete) Verwendungszweck Geeignetes Betriebssystem Server Windows 2003, Windows 2000, LINUX, Unix Internetserver FreeBSD, Windows 2003, Windows 2000, LINUX, Unix Büroanwendungen, Office Windows XP/ Vista, Windows Me, Windows 2000, Linux Unternehmenskritische Anwendungen Windows XP/Vista, Windows 2000, LINUX, UNIX Grafikanwendungen Windows XP/Vista, Windows 2000, LINUX, BeOS Programmentwicklung Windows XP/Vista, Windows 2000, LINUX Spiele Windows XP/Vista, Windows Me, Windows 2000, Linux 4 Softwarearten 44 4. Office Systeme (Standardsoftware) Firewall Webseiten Editor Präsentation Netzwerk Datenbanken Publishing E-Mail Adressverwaltung Terminverwaltung MS Outlook 4 Softwarearten Ressourcen 45 4. Office Systeme (Klassifikation) z z z z z z z z z z Office-Pakete Möglichkeiten der Textverarbeitung Tabellenkalkulation Datenbanken Präsentationsprogramme Pixel- und Vektorgrafiken Bekannte Grafikprogramme DTP-Programme Mail-Programme Weitere typische Standardanwendungen 4 Softwarearten 46 4. Office Systeme (Office-SW-Pakete) z Office-Paket = Software für Büroanwendungen z Standardanwendungen (Text, Tabelle, Grafik und Datenbank) werden in einem Paket angeboten z Preislich oft günstiger als der Kauf der Einzelprogramme z Bekannte Office-Pakete z Microsoft Office z Open Office (Open Source Projekt) z Lotus SmartSuite z Corel Word Perfect Suite z StarOffice von Sun Microsystems (früher StarDivision) 4 Softwarearten 47 4. Office Systeme (Textverarbeitung) z Zeichenhervorhebung (Zeichenformatierung) z Seitengestaltung (Seitenformatierung) z Kopf- und Fußzeilen z Inhalts- und Stichwortverzeichnisse z Fußnotenverwaltung für wissenschaftliche Texte z Textbausteine für häufig wiederkehrende Textteile z Absatzgestaltung (Absatzformatierung) z Grafiken einbinden z Synonymwörterbuch (Alternativwörter) z Serienbriefe z Automatische Silbentrennung und Rechtschreibprüfung z Linien und Rahmen zeichnen 4 Softwarearten 48 4. Office Systeme (Textverarbeitungsprogramme) z Word von Microsoft z WordPerfect von Corel z StarWord von SUN Microsystems z Word Pro von Lotus z Writer (OpenOffice) 4 Softwarearten 49 4. Office Systeme (Tabellenkalkulation) z Möglichkeiten einer Tabellenkalkulation z Aufbereitung und Auswertung von Zahlenmaterial in tabellenartiger Form z Bei jeder Änderung in der Tabelle werden alle Formelfelder automatisch neu berechnet z Bekannte Tabellenkalkulationsprogramme z Excel von Microsoft z Calc (Open Office) z Quattro Pro von Corel z StarCalc von SUN Microsystems z 1-2-3 von Lotus 4 Softwarearten 50 4. Office Systeme (MS Excel) 4 Softwarearten 51 4. Office Systeme (Excel) z Excel zur Berechnung von Trendentwicklungen 4 Softwarearten 52 4. Office Systeme (Datenbanken) z Möglichkeiten eines Datenbankprogramms z Karteikarteninhalte eintragen, verändern und löschen z Individuell gestaltbare Ein- und Ausgabemasken z Beliebig sortierte Listen und Berichte z Selektion von Daten (z.B. Umsatz > EUR 1000,-) z Etikettendruck z Serienbriefe z Auswertungen, Statistiken z Automatisierung durch Programmierung z Zugriff von verschiedenen Benutzern auf gemeinsame Daten 4 Softwarearten 53 4. Office Systeme (MS Access) 4 Softwarearten 54 4. Office Systeme (Präsentationsprogramme) z Möglichkeiten von Präsentationsprogrammen z Darstellung von Informationen für ein bestimmtes Publikum z Einfache und schnelle Darstellung von Texten, Zahlen, Diagrammen und Organigrammen auf übersichtlichen Folien z Ausdruck oder Projektion der Folien z Verwendung von Präsentationsvorlagen z Bekannte Präsentationsprogramme z PowerPoint von Microsoft z Impress (Open Office) z Presentations von Corel z Freelance von Lotus 4 Softwarearten 55 4. Office Systeme (Powerpoint) 4 Softwarearten 56 4. Office Systeme (DTP-Programme) z Desktop-Publishing (DTP) z Druckerei am Schreibtisch z Prospekte, Berichte und Bücher drucktechnisch aufbereiten z Bekannte DTP-Programme z Pagemaker von Adobe z Ventura Publisher von Corel z Quark XPress 4 Softwarearten 57 4. Office Systeme (Mail-Programme) z Mailsysteme z Versenden und Empfangen elektronischer Post z Firmenintern oder weltweit z Bekannte Mail-Programme z Outlook von Microsoft z Notes Mail von Lotus z Thunderbird 4 Softwarearten 58 4. Office Systeme (Grafikprogramm) z Erstellen von Bildern, Zeichnungen, ... z Retuschierung, Optimierung, Verfremdung, Effekte z Bekannte Bildbearbeitungsprogramme (Pixelgrafik) z z z z Photoshop von Adobe Photo-Paint von Corel Picture Publisher von Micrografx Draw (Open Office) z Bekannte Vektorgrafikprogramme z Corel Draw von Corel z Designer von Micrografx z Freehand von Adobe 4 Softwarearten 59 4. Office Systeme (Weitere Standardanwendungen) z Terminplaner z Groupware (Workflow) z Integrierte Programme z Betriebswirtschaftliche Programme z Wissenschaftliche Programme z CAD - Computer Aided Design z CAM - Computer Aided Manufacturing z ... 4 Softwarearten 60 5. Datenorientierte Softwaresysteme (Datenbanken) Die Verwendung des traditionellen Ansatzes der Dateiverarbeitung begünstigt die Entwicklung von Anwendungen durch verschiedene Funktionsbereiche eines Unternehmens, die jeweils eigene Datendateien erfordern. Dies führt zu Datenredundanz und -inkonsistenzen, Inflexibilität in der Verarbeitung und einer Verschwendung von Speicherressourcen. 4 Softwarearten 61 5. Datenorientierte Softwaresysteme (Datenbanken) Eine gemeinsame Datenbank für das Personalwesen kann von mehreren Benutzern und Anwendungen gemeinsam genutzt werden und ermöglicht es Informationen für verschiedene Anwendungen zentral zur Verfügung zu stellen. Das Datenbankmanagementsystem fungiert als Schnittstelle zwischen den Anwendungsprogrammen und den Daten. 4 Softwarearten 62 5. Datenorientierte Softwaresysteme (Datenbank) DBMS mit Office Anbindung z Access und SQL-Server von Microsoft z StarBase von SUN Microsystems z Approach von Lotus z Datenbankmodul im Open Office Professionelle DBMS ohne Office Anbindung z Oracle DBMS z SQL-Server von Microsoft z DB2 von IBM 4 Softwarearten 63 6. Ablauforientierte Softwaresysteme (Workflow) 4 Softwarearten 64 7. ERP Systeme (Wirtschaftsinformatik) ERP-Systeme können die wichtigsten Geschäftsprozesse eines gesamten Unternehmens in einem einzigen Softwaresystem integrieren, das den reibungslosen unternehmensweiten Informationsaustausch ermöglicht. Diese Systeme konzentrieren sich primär auf interne Prozesse, können jedoch auch Transaktionen mit Kunden und Lieferanten umfassen. 4 Softwarearten 65 7. ERP Systeme (Anwendungsbereiche) 4 Softwarearten 66 7. ERP Systeme (SAP) z Betriebswirtschaftliche Software 4 Softwarearten 67 8. Wissensbasierte Systeme (eLearning) z Computerunterstütztes Lernen (NBT = Network Based Training) 4 Softwarearten 68 Lernkontrolle z Kennen Sie z Eigenschaften von Maschinen, Assembler und z z z z z z Hochsprachenprogrammen? den Unterschied von Interpreter und Compiler? Eigenschaften eines Betriebssystems? einige Kennzahlen von Betriebssystemen? wichtige Office-Anwendungen und deren Einsatzzwecke? Einsatz von Datenbanken Einsatzbereiche von ERP- Systemen 4 Softwarearten 9 69