Inhaltsverzeichnis Modellunternehmen . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.4 1.4.1 1.4.2 1.5 2 2.1 2.1.1 2.1.2 2.1.3 2.1.3.1 2.1.3.2 2.1.3.3 2.1.4 2.1.4.1 2.1.4.2 2.2 2.2.1 2.2.2 8 Betriebswirtschaftliche Anwendungen Geschäftsprozesse . . . . . . . . . . . . . . . . . . Abbildung von Geschäftsprozessen in Computersystemen . . . . . . . . . . . . . . . . . Automatisierung einzelner Prozessschritte . . . . . . . . . . . . . . . . . . . . Integration als Forderung des Managements . . . . . . . . . . . . . . . . . . . . . Schaffung integrierter Anwendungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . Integration von Anwendungssystemen . . . . . . . . . . . . . . . . . . . . . . . . . Integration über Unternehmensgrenzen hinweg . . . . . . . . . . . . . . . . . . . . . . . . . . Softwaretechnische Realisierung . . . . . . Business Objects . . . . . . . . . . . . . . . . . . . Referenzmodelle oder Business Frameworks . . . . . . . . . . . . . . . . . . . . . . Ausgewählte betriebswirtschaftlichtechnische Standardanwendungen . . . . . Softwarearchitektur . . . . . . . . . . . . . . . . Softwaretools zur Modellierung von Geschäftsprozessen . . . . . . . . . . . . . ARIS -Modell . . . . . . . . . . . . . . . . . . . . . SiSy-Tool . . . . . . . . . . . . . . . . . . . . . . . . Konsequenzen für das Projekt der Auszubildenden . . . . . . . . . . . . . . . . 18 21 22 23 25 27 30 31 31 33 33 34 36 36 38 39 Entwicklung von Anwendungssoftware Software als Produkt . . . . . . . . . . . . . . . . Was ist Software? . . . . . . . . . . . . . . . . . . Software in der Hand des Anwenders . . . Systematik der Software . . . . . . . . . . . . . System- oder Anwendungssoftware . . . . Standard- oder Individualsoftware . . . . . Vergütung der Softwareentwicklungsleistungen . . . . . . . . . . . . . . . . . . . . . . . . Softwarequalität . . . . . . . . . . . . . . . . . . . Qualitätsmerkmale nach ISO/IEC 9126 (DIN 66272) . . . . . . . . . . Qualitätsmanagement . . . . . . . . . . . . . . . Entwicklung von Softwareprodukten . . . . . . . . . . . . . . . . . . . . . . . . Softwareklebenszyklus . . . . . . . . . . . . . . Phasen der Softwareentwicklung . . . . . . 40 40 40 41 41 42 44 46 47 49 50 50 51 2.2.2.1 2.2.2.2 2.2.2.3 2.2.2.4 2.2.2.5 2.2.3 2.2.3.1 2.2.3.2 2.2.3.3 2.2.3.4 2.2.4 2.2.4.1 2.2.4.2 2.2.4.3 2.2.4.4 2.2.4.5 2.2.4.6 2.3 2.3.1 2.3.1.1 2.3.1.2 2.3.1.3 2.3.1.4 2.3.1.5 2.3.2 2.3.2.1 2.3.2.2 2.3.2.3 2.3.2.4 2.3.2.5 2.3.2.6 2.3.2.7 2.3.2.8 2.3.2.9 2.3.3 2.3.3.1 2.3.3.2 2.3.3.3 2.3.3.4 2.3.4 2.3.4.1 2.3.4.2 2.3.4.3 2.3.4.4 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . Entwurf . . . . . . . . . . . . . . . . . . . . . . . . . . Implementierung . . . . . . . . . . . . . . . . . . . Integration und Integrationstest . . . . . . . Dokumentation . . . . . . . . . . . . . . . . . . . . Softwaretechnologie . . . . . . . . . . . . . . . . Prinzipien . . . . . . . . . . . . . . . . . . . . . . . . Methoden . . . . . . . . . . . . . . . . . . . . . . . . Verfahren . . . . . . . . . . . . . . . . . . . . . . . . Werkzeuge . . . . . . . . . . . . . . . . . . . . . . . Phasenmodelle . . . . . . . . . . . . . . . . . . . . Trial and Errorr . . . . . . . . . . . . . . . . . . . . . Wasserfallmodell . . . . . . . . . . . . . . . . . . Prototyping . . . . . . . . . . . . . . . . . . . . . . . Spiralmodell . . . . . . . . . . . . . . . . . . . . . . V-Modell . . . . . . . . . . . . . . . . . . . . . . . . . Extrem Programming (XP) . . . . . . . . . . . Management von Softwareprojekten . . . . . . . . . . . . . . . . . . . . . . . . . Grundbegriffe . . . . . . . . . . . . . . . . . . . . . Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . Vorgänge und Arbeitspakete . . . . . . . . . . Vorgangsbeziehungen . . . . . . . . . . . . . . . Ressourcen und Ressourcenplanung . . . . . . . . . . . . . . . . . . . . . . . . . . Meilensteine . . . . . . . . . . . . . . . . . . . . . . Team-Management . . . . . . . . . . . . . . . . . Ziele und Zielkonflikte . . . . . . . . . . . . . . Projektorganisation . . . . . . . . . . . . . . . . . Team-Entwicklung . . . . . . . . . . . . . . . . . Team-Konflikte . . . . . . . . . . . . . . . . . . . . Aufwandsschätzung zu einzelnen Vorgängen . . . . . . . . . . . . . . . . . . . . . . . . Top-Down-Vorgehensweise . . . . . . . . . . Bottom-Up-Vorgehensweise . . . . . . . . . . Projektplanungssoftware . . . . . . . . . . . . Netzpläne PERT/CPM . . . . . . . . . . . . . . Projektdurchführung . . . . . . . . . . . . . . . . Projektfortschrittskontrolle . . . . . . . . . . . Basisplan und Planänderungen . . . . . . . . Protokollierung des Aufwands . . . . . . . . Auswertung und Berichte . . . . . . . . . . . . Projektmanagement und Prozessqualität . . . . . . . . . . . . . . . . . . . . Reife der Organisation . . . . . . . . . . . . . . Klassifikation nach CMMI . . . . . . . . . . . Total Quality Management . . . . . . . . . . . Zertifizierung nach ISO 9000 . . . . . . . . . 52 53 53 54 55 56 56 59 61 61 62 63 63 64 66 68 69 72 73 73 74 76 77 78 78 79 79 81 82 83 83 83 84 85 86 86 86 87 87 88 88 88 91 92 Inhaltsverzeichnis 3 3 3.1 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.2.1.1 3.2.1.2 3.2.2 3.2.3 3.2.3.1 3.2.3.2 3.2.4 3.2.4.1 3.2.4.2 3.2.5 3.3 3.3.1 3.3.2 3.3.2.1 3.3.2.2 3.3.2.3 3.3.3 3.4 3.4.1 3.4.1.1 3.4.1.2 3.4.1.3 3.4.1.4 3.4.1.5 3.4.2 3.4.3 4 4.1 4.1.1 4.1.2 4.1.3 4.1.4 4.2 4.2.1 4.2.2 4.2.3 Analyse und Entwurf Projektvorbereitung . . . . . . . . . . . . . . . . Kick-off-Meeting . . . . . . . . . . . . . . . . . . Lastenheft . . . . . . . . . . . . . . . . . . . . . . . . Projektplan . . . . . . . . . . . . . . . . . . . . . . . Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . Systeme als Untersuchungsgegenstand d ........................ Systembegriff . . . . . . . . . . . . . . . . . . . . . Merkmale von Systemen . . . . . . . . . . . . Systemanalyse . . . . . . . . . . . . . . . . . . . . Vorbereitung der Systemanalyse . . . . . . Vorgehensweise . . . . . . . . . . . . . . . . . . . Qualitätsanforderungen . . . . . . . . . . . . . Die Erfassung als erster Schritt der Systemanalyse . . . . . . . . . . . . . . . . . Gegenstand . . . . . . . . . . . . . . . . . . . . . . . Erfassungstechniken . . . . . . . . . . . . . . . . Die Analyse als zweiter Schritt der Systemanalyse . . . . . . . . . . . . . . . . . Entwurf . . . . . . . . . . . . . . . . . . . . . . . . . . Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . Modellierung mit SiSy . . . . . . . . . . . . . . Arbeitsweise mit SiSy . . . . . . . . . . . . . . Entwurf von Prozess- und Datenmodell . . . . . . . . . . . . . . . . . . . . . . Funktionale Anforderungen . . . . . . . . . . Testszenarien . . . . . . . . . . . . . . . . . . . . . Pflichtenheft . . . . . . . . . . . . . . . . . . . . . . Vorgehensweise nach dem V-Modell XT . . . . . . . . . . . . . . . . . . . . . Grundkonzept . . . . . . . . . . . . . . . . . . . . . Vorgehensbausteine und Tailoring . . . . . Projektdurchführungsstrategien . . . . . . . Qualitätssicherung . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . Pflichtenheft erstellen . . . . . . . . . . . . . . . Abnahme des Pflichtenheftes durch den Auftraggeber . . . . . . . . . . . . . . . . . . 94 94 96 100 102 103 103 105 106 107 107 108 4.3.3 109 109 110 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.5 112 114 114 114 115 116 116 116 117 118 119 121 123 124 124 125 135 Programmentwurf Klassische Darstellungsmittel . . . . . . . . Programmablaufplan (PAP) . . . . . . . . . . Struktogramm . . . . . . . . . . . . . . . . . . . . . Pseudocode . . . . . . . . . . . . . . . . . . . . . . . Entscheidungstabellen . . . . . . . . . . . . . . UML (Unified Modelling Language) . . . Anwendungsfalldiagramm . . . . . . . . . . . Klassendiagramm . . . . . . . . . . . . . . . . . . Objektdiagramm . . . . . . . . . . . . . . . . . . . 4 Inhaltsverzeichnis 4.2.4 4.2.5 4.2.6 4.2.7 4.3 4.3.1 4.3.2 137 137 139 140 141 142 142 142 146 4.3.4 4.3.5 4.3.6 5 5.1 5.1.1 5.1.2 5.1.3 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.2.10 5.2.10.1 5.2.10.2 5.2.10.3 5.2.11 5.2.11.1 5.2.11.2 5.2.12 5.2.12.1 Sequenzdiagramm . . . . . . . . . . . . . . . . . Kollaborationsdiagramm . . . . . . . . . . . . Zustandsdiagramm . . . . . . . . . . . . . . . . . Komponentendiagramm . . . . . . . . . . . . . Programmiersprachen . . . . . . . . . . . . . . . Einteilung der Programmiersprachen . . . Erste Generation: Maschinensprachen . . . . . . . . . . . . . . . . . . . . . . . . . Zweite Generation: Assemblersprachen . . . . . . . . . . . . . . . . . . . . . . . . . Dritte Generation: Problemorientierte Sprachen . . . . . . . . . . . . . . . . Vierte Generation: Deklarative Sprachen . . . . . . . . . . . . . . . . . . . . . . . . . Fünfte Generation: Künstliche Intelligenz . . . . . . . . . . . . . . . . . . . . . . . . Entwicklungswerkzeuge . . . . . . . . . . . . . Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . Interpreter . . . . . . . . . . . . . . . . . . . . . . . . Compiler und Assembler . . . . . . . . . . . . Debugger . . . . . . . . . . . . . . . . . . . . . . . . Entwicklungsumgebung . . . . . . . . . . . . . Standardbibliotheken . . . . . . . . . . . . . . . Modellgetriebene Softwareentwicklung (MDSD) . . . . . . . . 146 147 148 148 150 150 152 152 153 153 154 155 155 156 156 157 157 159 159 Programmierung in Java Die Java-Idee . . . . . . . . . . . . . . . . . . . . . Applikation . . . . . . . . . . . . . . . . . . . . . . . Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . JavaScript . . . . . . . . . . . . . . . . . . . . . . . . Grundlegende Sprachelemente in Java . . . . . . . . . . . . . . . . . . . . . . . . . . . Das erste Programm . . . . . . . . . . . . . . . . Variablennamen oder Bezeichner . . . . . . Reservierte Wörter . . . . . . . . . . . . . . . . . Literale . . . . . . . . . . . . . . . . . . . . . . . . . . Kommentare . . . . . . . . . . . . . . . . . . . . . . Anweisungen und Anweisungsblöcke . . Gültigkeitsbereich . . . . . . . . . . . . . . . . . . Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . Wertzuweisungen . . . . . . . . . . . . . . . . . . Datentypen . . . . . . . . . . . . . . . . . . . . . . . Numerische Datentypen . . . . . . . . . . . . . Zeichen-Datentyp . . . . . . . . . . . . . . . . . . Boolescher Datentyp . . . . . . . . . . . . . . . Variablen . . . . . . . . . . . . . . . . . . . . . . . . . Syntax der Variablendeklarationen . . . . . Wertzuweisung an Variablen . . . . . . . . . Operatoren . . . . . . . . . . . . . . . . . . . . . . . Arithmetische Operatoren . . . . . . . . . . . 163 163 163 164 164 164 165 166 166 166 166 167 167 167 167 168 168 168 168 169 169 169 169 5.2.12.2 5.2.12.3 5.2.13 5.2.13.1 5.2.13.2 5.2.13.3 5.2.13.4 5.2.13.5 5.2.13.6 5.2.13.7 5.2.14 5.2.15 5.2.16 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4 5.4.1 5.4.2 5.4.3 5.5 5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 5.6. 5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 6 6.1 6.1.1 6.1.1.1 6.1.1.2 6.1.1.3 Logische Operatoren . . . . . . . . . . . . . . . Vergleichsoperatoren . . . . . . . . . . . . . . . Kontrollstrukturen . . . . . . . . . . . . . . . . . Folge (Sequenz) . . . . . . . . . . . . . . . . . . . Bedingte Anweisung, einseitige Auswahl . . . . . . . . . . . . . . . . . . . . . . . . . Bedingte Anweisung, zweiseitige Auswahl . . . . . . . . . . . . . . . . . . . . . . . . . Bedingte Anweisung, mehrseitige Auswahl . . . . . . . . . . . . . . . . . . . . . . . . . Wiederholung mit vorausgehender Bedingungsprüfung . . . . . . . . . . . . . . . . Wiederholung mit nachfolgender Bedingungsprüfung . . . . . . . . . . . . . . . . Wiederholung mit Zähler . . . . . . . . . . . . Ein- und Ausgabe an der Konsole . . . . . Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . Funktionen . . . . . . . . . . . . . . . . . . . . . . . Objektorientierte Programmierung . . . . . Von der Struktur zum Objekt . . . . . . . . . Argumente für Objekte . . . . . . . . . . . . . . Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . Konstruktoren . . . . . . . . . . . . . . . . . . . . . Methoden . . . . . . . . . . . . . . . . . . . . . . . . Klassenvariablen . . . . . . . . . . . . . . . . . . . Vererbung . . . . . . . . . . . . . . . . . . . . . . . . Programmierung mit Eclipse . . . . . . . . . Terminologie . . . . . . . . . . . . . . . . . . . . . . Arbeiten mit der Workbench . . . . . . . . . . Erstes Projekt . . . . . . . . . . . . . . . . . . . . . Auswahlmenü für den Webshop (Azubi-Projekt) . . . . . . . . . . . . . . . . . . . . Menüstruktur . . . . . . . . . . . . . . . . . . . . . Visuelle Klasse mit Hauptmenü . . . . . . . Startklasse . . . . . . . . . . . . . . . . . . . . . . . . actionPerformed-Methoden . . . . . . . . . . Visuelle Klassen mit Labels und Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . Arbeiten mit dem UML-Editor . . . . . . . . Anwendungsfalldiagramm . . . . . . . . . . . Aktivitätsdiagramm . . . . . . . . . . . . . . . . Klassendiagramm . . . . . . . . . . . . . . . . . . Code-Generierung . . . . . . . . . . . . . . . . . Reverse Engineering . . . . . . . . . . . . . . . . 170 170 170 171 171 6.1.2.1 6.1.2.2 6.1.2.3 6.2 172 6.2.1 172 6.2.2 6.2.2.1 6.2.2.2 6.2.2.3 6.2.2.4 173 174 174 175 176 176 177 177 178 179 179 180 180 181 181 181 182 184 186 186 186 187 188 189 190 191 194 197 200 202 Datenbankanwendung Einführung . . . . . . . . . . . . . . . . . . . . . . . Datenbanksysteme . . . . . . . . . . . . . . . . . Konzeptionelles Schema . . . . . . . . . . . . Internes Schema . . . . . . . . . . . . . . . . . . . Externes Schema . . . . . . . . . . . . . . . . . . 6.1.2 203 203 204 204 205 6.2.3 6.2.3.1 6.2.3.2 6.2.3.3 6.2.3.4 6.2.3.5 6.2.4 6.2.4.1 6.2.4.2 6.2.4.3 6.2.4.4 6.2.4.5 6.2.4.6 6.2.4.7 6.2.4.8 6.3 6.3.1 6.3.1.1 6.3.1.2 6.3.1.3 6.3.1.4 6.3.2 6.3.3 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.4.1 6.4.4.2 6.4.5 6.4.5.1 Anwendungsformen von Datenbanksystemen . . . . . . . . . . . . . . . . Stand-alone-Datenbank . . . . . . . . . . . . . File-Share-Datenbank . . . . . . . . . . . . . . . Client-Server-Datenbank . . . . . . . . . . . . Arbeiten mit einer relationalen Datenbank . . . . . . . . . . . . . . . . . . . . . . . . Relationale Datenbankmanagementsysteme . . . . . . . . . . . . . . . . Normalisieren einer Tabelle . . . . . . . . . . Erste Normalform (1NF) . . . . . . . . . . . . Zweite Normalform (2NF) . . . . . . . . . . . Dritte Normalform (3NF) . . . . . . . . . . . . Nachteile einer extremen Normalisierung . . . . . . . . . . . . . . . . . . . . Begriffe der Datenmodellierung und Datenbankmanipulation . . . . . . . . . . Entität und Entitätstyp . . . . . . . . . . . . . . Entitätsbeziehungen . . . . . . . . . . . . . . . . Primärschlüssel . . . . . . . . . . . . . . . . . . . . Redundanz, Mutation und Anomalie . . . Referenzielle Integrität . . . . . . . . . . . . . . Entity-Relationship-Diagramm (ER-Diagramm) . . . . . . . . . . . . . . . . . . . Entity (Objekt) . . . . . . . . . . . . . . . . . . . . Attribute . . . . . . . . . . . . . . . . . . . . . . . . . Abhängige (weak) Entitys . . . . . . . . . . . Relation . . . . . . . . . . . . . . . . . . . . . . . . . . Kardinalität . . . . . . . . . . . . . . . . . . . . . . . Darstellung im vereinfachten ER-Diagramm . . . . . . . . . . . . . . . . . . . . . Fünf Schritte zum ER-Modell . . . . . . . . Entity-Relationship-Diagramm (ER-Diagramm) . . . . . . . . . . . . . . . . . . . Arbeit mit MySQL . . . . . . . . . . . . . . . . . Datentypen . . . . . . . . . . . . . . . . . . . . . . . Zeichenketten . . . . . . . . . . . . . . . . . . . . . Numerische Datentypen . . . . . . . . . . . . . Datum und Zeit . . . . . . . . . . . . . . . . . . . . Aufzählung . . . . . . . . . . . . . . . . . . . . . . . Umsetzung vom ER-Diagramm in Tabellen . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . Datenbankzugriffe mit SQL . . . . . . . . . . Kleine SQL-Geschichte . . . . . . . . . . . . . SQL-Befehlsübersicht . . . . . . . . . . . . . . Struktur von Tabellen erzeugen, ändern und löschen . . . . . . . . . . . . . . . . . Abfrageformulierung mit SQL . . . . . . . . Projektion . . . . . . . . . . . . . . . . . . . . . . . . Selektion . . . . . . . . . . . . . . . . . . . . . . . . . Aggregatfunktionen und Gruppen . . . . . Gruppenbildung in SQL-Anfragen . . . . . 205 206 206 207 207 207 210 214 214 215 216 216 216 216 216 216 217 217 217 217 219 219 220 221 221 222 222 222 222 223 223 224 225 226 228 228 228 229 231 231 232 233 234 Inhaltsverzeichnis 5 6.4.5.2 6.4.6 6.4.6.1 6.4.6.2 6.4.6.3 6.4.7 6.4.7.1 6.4.7.2 6.4.7.3 6.4.7.4 6.4.7.5 7 7.1 7.1.1 7.1.2 7.1.3 7.2 7.2.1 7.2.1.1 7.2.1.2 7.2.1.3 7.2.1.4 7.2.1.5 7.2.1.6 7.2.1.7 7.2.1.8 7.2.1.9 7.2.2 7.2.2.1 7.2.2.2 7.2.2.3 7.2.2.4 7.2.2.5 7.2.2.6 7.2.2.7 7.3 7.3.1 7.3.1.1 7.3.1.2 7.3.2 7.3.2.1 Auswahl von Gruppen . . . . . . . . . . . . . . Unterabfragen (Subqueries) . . . . . . . . . . Einzeilige Unterabfragen . . . . . . . . . . . . Mehrzeilige Unterabfragen . . . . . . . . . . . Unteranfragen mit dem IN-Operatorr . . . . Verbund (JOIN) von Tabellen . . . . . . . . . Einfacher EQUIJOIN mit zwei Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . Einfacher EQUIJOIN über mehr als zwei Tabellen . . . . . . . . . . . . . . . . . . . . . Vereinigung und Durchschnitt mit UNION . . . . . . . . . . . . . . . . . . . . . . . . . . Verknüpfung aller Tabellen mit INNER JOIN und OUTER JOIN . . . . . . SELF JOIN . . . . . . . . . . . . . . . . . . . . . . . 234 235 235 235 236 236 236 236 236 237 237 Web-Anwendungen mit Java Technische Kommunikation . . . . . . . . . . Formen der Client-ServerKommunikation . . . . . . . . . . . . . . . . . . . Realisierungsvarianten der technischen Kommunikation . . . . . . . . . Dokumente der Client-ServerKommunikation . . . . . . . . . . . . . . . . . . . Statische Dokumente . . . . . . . . . . . . . . . HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . Grundlagen . . . . . . . . . . . . . . . . . . . . . . . Textformatierungen . . . . . . . . . . . . . . . . Tabellen und Listen . . . . . . . . . . . . . . . . Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . RGB-Farbmodell . . . . . . . . . . . . . . . . . . What’s a deprecated tag/attribute? . . . . . Frames . . . . . . . . . . . . . . . . . . . . . . . . . . Formulare . . . . . . . . . . . . . . . . . . . . . . . . Beispiel einer statischen Webseite . . . . . XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ursprung der Sprache . . . . . . . . . . . . . . . Aufbau eines XML-Dokuments . . . . . . . Gültige und wohlgeformte XML-Dokumente . . . . . . . . . . . . . . . . . . Parser für XML-Dateien . . . . . . . . . . . . . XML-Schemata . . . . . . . . . . . . . . . . . . . XSL zur Formatangabe . . . . . . . . . . . . . . Epilog zu XML . . . . . . . . . . . . . . . . . . . . Clientseitige Programmierung . . . . . . . . Scripte . . . . . . . . . . . . . . . . . . . . . . . . . . . JavaScript zur Eingabekontrolle . . . . . . . Eingabekontrolle mit Prüfziffernberechnung in JavaScript . . . . . . . . . . . . Applets . . . . . . . . . . . . . . . . . . . . . . . . . . Aufruf von Applets . . . . . . . . . . . . . . . . . 6 Inhaltsverzeichnis 239 240 240 240 241 241 241 242 244 246 247 248 249 251 254 257 257 257 258 259 259 259 260 261 261 261 262 265 265 7.3.2.2 7.3.2.3 7.3.2.4 7.4 7.4.1 7.4.1.1 7.4.1.2 7.4.1.3 7.4.1.4 7.4.1.5 7.4.1.6 7.4.2 7.4.2.1 7.4.2.2 7.4.2.3 7.4.3 7.4.3.1 7.4.3.2 7.4.3.3 7.4.3.4 7.4.4 7.5 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.5.8 7.5.9 7.6 7.6.1 7.6.2 8 8.1 8.2 8.3 Gefährdung durch Applets . . . . . . . . . . . Applet zur EAN-Kontrolle mit Ereignisbehandlung . . . . . . . . . . . . . . . . . . . . . . . Erstellen und Einbetten des Applets . . . . Serverseitige Programmierung . . . . . . . . Webserver . . . . . . . . . . . . . . . . . . . . . . . . Arbeitsteilung zwischen HTTP-Server und Webserver . . . . . . . . . . . . . . . . . . . . Tomcat als Webserver . . . . . . . . . . . . . . . Lokale Installation von Tomcat . . . . . . . Lokaler Server und Firewall . . . . . . . . . . Test und Administration des TomcatServers . . . . . . . . . . . . . . . . . . . . . . . . . . Tomcat in Eclipse einbinden . . . . . . . . . . Servlets . . . . . . . . . . . . . . . . . . . . . . . . . . Das Konzept der Servlets . . . . . . . . . . . . Einfaches Beispiel zur Abfrage von Serverdaten . . . . . . . . . . . . . . . . . . . . . . . Codieren und Compilieren des Servlets . . . . . . . . . . . . . . . . . . . . . . . . . . Deployment . . . . . . . . . . . . . . . . . . . . . . Prinzip des Deployments . . . . . . . . . . . . Werkzeug für das Deployment . . . . . . . . Zusammenfassung in einem Webarchiv . . . . . . . . . . . . . . . . . . . . . . . . Übermittlung des Webarchivs zum Server . . . . . . . . . . . . . . . . . . . . . . . Verwendung des Servlets . . . . . . . . . . . . ACI-Webshop: Servlet mit Datenbankzugriff . . . . . . . . . . . . . . . . . . Installationshinweise . . . . . . . . . . . . . . . SQL-fähiges Datenbanksystem verwenden . . . . . . . . . . . . . . . . . . . . . . . . Dynamischer Methodenaufruf . . . . . . . . Verbindung zur Datenbank herstellen . . . Datenbankzugriff aus Java mit SQL . . . . Datensicherung und Fehlerbehandlung beim Datenbankzugriff . . . . . . . . . . . . . . Antwort des Servlets . . . . . . . . . . . . . . . . Servlet mit Datenbankabfrage . . . . . . . . Deployment . . . . . . . . . . . . . . . . . . . . . . ACI-Webshop: Zwischenbericht zum Entwicklungsstand . . . . . . . . . . . . . Offene und unbehandelte Probleme . . . . Vergleich der Anforderungen mit dem erreichten Stand . . . . . . . . . . . . . . . 265 266 269 270 270 270 271 271 273 273 275 277 277 278 278 281 281 282 282 284 286 287 287 289 290 291 292 293 294 296 297 299 299 302 Testverfahren Zielstellung . . . . . . . . . . . . . . . . . . . . . . . 304 Überblick . . . . . . . . . . . . . . . . . . . . . . . . 305 Teststufen . . . . . . . . . . . . . . . . . . . . . . . . 305 8.4 8.4.1 8.4.2 8.4.3 8.4.3.1 8.4.3.2 8.4.3.3 8.5 8.6 9 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.1.1 9.2.1.2 9.2.2 9.2.2.1 9.2.2.2 9.2.2.3 9.2.2.4 9.3 Durchführung der Tests . . . . . . . . . . . . . Manuelle Testverfahren . . . . . . . . . . . . . White-Box-Verfahren . . . . . . . . . . . . . . . Black-Box-Verfahren . . . . . . . . . . . . . . . Äquivalenzklassenbildung . . . . . . . . . . . Grenzwertanalyse . . . . . . . . . . . . . . . . . . Testsequenzermittlung . . . . . . . . . . . . . . Testszenarien . . . . . . . . . . . . . . . . . . . . . Testdokumentation . . . . . . . . . . . . . . . . . 306 306 307 308 308 309 309 311 313 9.3.1 9.3.2 9.3.3 315 10.1.3 10.1.4 10.1.5 10.2 10.2.1 10.2.2 Dokumentation Rolle der Dokumentation im Softwarelebenszyklus . . . . . . . . . . . . . . . Dokumentation als kollektives Gedächtnis der Entwickler . . . . . . . . . . . Dokumentation als Hilfe für den Benutzer . . . . . . . . . . . . . . . . . . . . . . Programm ohne Dokumentation . . . . . . . Dokumentationsarten . . . . . . . . . . . . . . . Entwickler-Dokumentation . . . . . . . . . . Planungsdokumente . . . . . . . . . . . . . . . . Dokumente für Entwurf und Implementierung . . . . . . . . . . . . . . . . . . . Anwender-Dokumentation . . . . . . . . . . . Marketingunterlagen . . . . . . . . . . . . . . . . Installationshinweise . . . . . . . . . . . . . . . Benutzer-Dokumente . . . . . . . . . . . . . . . Online-Hilfe . . . . . . . . . . . . . . . . . . . . . . Erstellung der Dokumentation . . . . . . . . 316 317 320 321 322 322 324 325 327 327 327 328 328 9.3.4 10 10.1 10.1.1 10.1.2 10.2.3 10.2.4 10.3 Formulardokumentation . . . . . . . . . . . . . Parallele Dokumentation . . . . . . . . . . . . Werkzeuge zur Dokumentationserstellung . . . . . . . . . . . . . . . . . . . . . . . . Dokumentation in der ACI GmbH . . . . . 328 328 328 332 Routinebetrieb von IT-Systemen Informationsmanagement . . . . . . . . . . . . Entwicklungsstufen . . . . . . . . . . . . . . . . Strategische, taktische und operative Aufgaben des Informationsmanagements . . . . . . . . . . . . . . . . . . . . . Personalmanagement . . . . . . . . . . . . . . . Organisationsmanagement . . . . . . . . . . . Informationsinfrastrukturmanagement . . IT Infrastructure Library (ITIL) . . . . . . . Historische Entwicklung . . . . . . . . . . . . Service Operation und Service Transition . . . . . . . . . . . . . . . . . . Service Desk . . . . . . . . . . . . . . . . . . . . . . Service Design und Service Strategie . . . Zusammenfassung . . . . . . . . . . . . . . . . . 333 333 334 336 338 339 340 340 341 342 344 347 Anhang Richtlinien für die Softwaredokumentation . . . . . . 348 Sachwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . 352 Inhaltsverzeichnis 7