Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 3 von 411 Inhaltsverzeichnis Abbildungsverzeichnis ..................................................................................12 Tabellenverzeichnis ......................................................................................18 2 Geschäftsprozess-Gestaltung ....................................................................19 2.1 Grundbegriffe und –konzepte ....................................................................................19 Organisationsformen ......................................................................................................... 20 2.1.a Business Reengineering ............................................................................................ 22 Erfolgsfaktoren ..................................................................................................................... 24 Schritte des Reengineerings ................................................................................................... 25 Kriterien ............................................................................................................................... 25 Vor- und Nachteile ................................................................................................................ 26 Fazit ..................................................................................................................................... 26 2.1.b Geschäftsprozess und Geschäftsprozess-Modellierung ................................................. 26 Basiselemente....................................................................................................................... 28 Einteilung ............................................................................................................................. 28 Kernprozesse ................................................................................................................................. 29 Supportprozesse ............................................................................................................................. 29 Modellierung ......................................................................................................................... 30 2.1.c Workflow und Workflow-Spezifikation ......................................................................... 32 Vor- und Nachteile ................................................................................................................ 33 Workflow-Typen.................................................................................................................... 34 Workflow-Management-Systeme ............................................................................................ 35 2.1.d Gruppenarbeit und Workgroup-Computing ................................................................. 36 2.2 Geschäftsprozess-Management .................................................................................39 2.2.1 Prozessabgrenzung .................................................................................................. 46 Ableitung von Prozesskandidaten ........................................................................................... 48 Kundenbedürfnisse ......................................................................................................................... 48 Prozesstypen .................................................................................................................................. 50 Beschreibung der Prozesskandidaten ...................................................................................... 51 Auswahl der zu modellierenden Prozesse ................................................................................ 52 2.2.1.a Exkurs – Vorgehensmodell nach PROMET .................................................................... 53 Strategieanalyse ............................................................................................................................. 54 Architekturplanung ......................................................................................................................... 55 Prozessvision.................................................................................................................................. 55 Leistungsanalyse ............................................................................................................................ 55 Mikroprozessplanung ...................................................................................................................... 55 www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 4 von 411 Ablaufplanung ................................................................................................................................ 55 Prozessführung .............................................................................................................................. 56 2.2.2 Prozessmodellierung ................................................................................................. 56 Ziele von Prozessmodellen ..................................................................................................... 57 Grundsätze der Prozessmodellierung ...................................................................................... 58 Grundsatz der Richtigkeit ................................................................................................................ 58 Grundsatz der Relevanz .................................................................................................................. 58 Grundsatz der Wirtschaftlichkeit ...................................................................................................... 59 Grundsatz der Klarheit .................................................................................................................... 59 Grundsatz der Vergleichbarkeit ........................................................................................................ 59 Grundsatz des systematischen Aufbaus ............................................................................................ 60 2.2.2.a Phasen der Prozessmodellierung ................................................................................. 60 Ist-Zustand .................................................................................................................................... 62 Entwurf der Soll-Prozesse ............................................................................................................... 68 Bewertung der Soll-Prozesse ........................................................................................................... 69 Umsetzen der Sollmodelle ............................................................................................................... 70 2.2.2.b Sichten der Prozessmodellierung................................................................................. 74 PROMET ........................................................................................................................................ 75 ARIS .............................................................................................................................................. 76 2.2.2.c Methoden der Prozessmodellierung ............................................................................. 77 Repository ..................................................................................................................................... 78 2.2.3 Prozessführung ........................................................................................................ 78 2.2.3.a Prozessziele und Führungsgrößen ............................................................................... 79 Kritische Erfolgsfaktoren ................................................................................................................. 80 Leistungsparameter ........................................................................................................................ 81 Prozessziele ................................................................................................................................... 81 Regelgrößen................................................................................................................................... 83 2.2.3.b Prozessleistungen, Prozesskosten und Qualitätssicherung............................................. 85 Prozessleistungen ........................................................................................................................... 85 Prozesskosten ................................................................................................................................ 86 Qualitätssicherung .......................................................................................................................... 87 Exkurs - Prozessmanagement ................................................................................................ 89 Exkurs – Prozessoptimierung ................................................................................................. 90 2.3 Ansatz zur Modellierung von Geschäftsprozessen........................................................91 2.3.1 Erstellung von Geschäftsprozessmodellen ................................................................... 91 Beispiel Seminarbewerbung ................................................................................................... 91 Beispiel Literaturbeschaffung ................................................................................................. 93 Beispiel Teilnahme an Ausschreibungen.................................................................................. 95 2.3.2 Erstellung sichtenspezifischer Modelle ........................................................................ 96 2.3.3 Erstellung eines Geschäftsprozess-Repository ............................................................. 96 2.4 Exkurs – BPM CBOK ®............................................................................................ 101 3 Datenorganisation ...................................................................................104 www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 5 von 411 3.1 Grundlagen der Datenorganisation .......................................................................... 106 3.1.a Informationen und Daten ........................................................................................ 106 3.1.b Schlüssel ............................................................................................................... 108 3.1.c Informations- und Datenbanksysteme ...................................................................... 109 3.2 Dateiorganisation ...................................................................................................112 3.2.a Begriffe ................................................................................................................. 112 3.2.1 Speicherungsformen und Zugriffsmethoden .............................................................. 116 3.2.1.1 Sequentielle Speicherung ..........................................................................................119 3.2.1.2 Index-sequentielle Speicherung .................................................................................120 3.2.1.3 Verkettete Speicherung .............................................................................................122 3.2.1.4 Index-verkettete Speicherung....................................................................................122 3.2.1.5 Gestreute Speicherung ..............................................................................................123 3.2.1.6 Speicherung mit Bäumen ..........................................................................................124 3.2.1.7 Dateiorganisation mit invertierten Daten ....................................................................126 3.2.2 Suchen und Sortieren ............................................................................................. 127 3.2.2.1 Suchen.....................................................................................................................127 Sequentielle Suche ....................................................................................................................... 128 Binäre Suche ................................................................................................................................ 128 Weitere Suchverfahren ................................................................................................................. 129 3.2.2.2 Sortieren ..................................................................................................................130 Sortieren durch Austausch ............................................................................................................ 130 Sortieren durch Einfügen .............................................................................................................. 133 Sortieren durch Verschmelzen ....................................................................................................... 133 Indirektes Sortieren ...................................................................................................................... 134 Exkurs – Vergleich von Sortieralgorithmen ..................................................................................... 134 3.2.3 Dateiverwaltung ..................................................................................................... 136 3.2.3.a Dateiverwaltung durch Anwendungsprogramme .........................................................136 3.2.3.b Dateiverwaltung mit Dateiverwaltungssystemen .........................................................137 3.3 Datenbankorganisation ...........................................................................................138 Exkurs – mathematisches Relationenkonzept .................................................................... 139 Historie .......................................................................................................................... 140 3.3.1 Datenbankkonzept ................................................................................................. 141 3.3.2 Datenbankentwurf.................................................................................................. 143 Datenmodellierung nach ANSI-SPARC ...................................................................................143 Ermittlung der Informationsstruktur ............................................................................................... 144 Modellierung der Datenstruktur ..................................................................................................... 144 Umsetzung in ein logisches Modell ................................................................................................. 144 Realisierung des logischen Modells ................................................................................................ 145 Lebenszyklus .......................................................................................................................145 Nutzen- und Anforderungsanalyse ................................................................................................. 145 Entwurf, Design............................................................................................................................ 146 www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 6 von 411 Implementierung und Test ............................................................................................................ 146 Einsatz, Wartung, Pflege ............................................................................................................... 146 3.3.3 Datenmodellierung ................................................................................................. 147 3.3.3.1 Entity-Relationship-Modell .........................................................................................148 Begriffe und Darstellung ............................................................................................................... 148 Beispiel ........................................................................................................................................ 155 Exkurs – Datenbankentwurf mit UML.....................................................................................156 3.3.3.2 Das relationale Datenbankmodell ...............................................................................157 3.3.3.2.a Relationenmodell und Mutationsanomalien....................................................................... 157 3.3.3.2.b Der Prozess der Normalisierung....................................................................................... 167 3.3.3.2.c Schreibweise .................................................................................................................. 173 3.3.3.3 Erweiterungen ..........................................................................................................174 3.3.3.4 Überführung .............................................................................................................176 Exkurs – andere Datenbankmodelle ......................................................................................177 Hierarchisches Modell ................................................................................................................... 178 Netzwerkmodell............................................................................................................................ 178 Objektorientierte Datenbanken ...................................................................................................... 178 Dokumentorientierte Datenbanken ................................................................................................ 178 NoSQL-Datenbanken .................................................................................................................... 179 3.3.4 Datenbankverwaltungssysteme ............................................................................... 180 3.3.4.1 Funktionen ...............................................................................................................180 3.3.4.2 Benutzerklassen .......................................................................................................181 3.3.4.3 Einordnung und Aufbau ............................................................................................183 3.3.4.4 Structured Query Language (SQL) .............................................................................186 3.3.4.4.a Datendefinition mit DDL .................................................................................................. 186 3.3.4.4.b Datenmanipulation mit DML ............................................................................................ 186 3.3.4.5 Sicherung der Datenkonsistenz ..................................................................................186 Integrität ..................................................................................................................................... 187 Transaktionen .............................................................................................................................. 188 Mehrbenutzerzugriff ..................................................................................................................... 188 4 Systementwicklung .................................................................................190 4.1 Grundlagen der Systementwicklung ......................................................................... 191 4.1.1 Anwendungssysteme und Systementwicklung ........................................................... 191 Anwendungssysteme ............................................................................................................191 Klassifikation ................................................................................................................................ 193 Systementwicklung ..............................................................................................................198 Make or buy ................................................................................................................................. 198 Fehler in der Software-Entwicklung................................................................................................ 199 4.1.2 Software Life Cycle und Phasenmodelle .................................................................... 201 Phasen der Softwareentwicklung ...........................................................................................202 Life Cycle ..................................................................................................................................... 202 Vorgehensmodelle ........................................................................................................................ 210 www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 7 von 411 4.1.3 Prinzipien, Methoden und Werkzeuge....................................................................... 221 4.1.3.a Allgemeine Prinzipien ................................................................................................222 Strukturierung und Abstraktion...................................................................................................... 222 Modularität .................................................................................................................................. 222 Information hiding ........................................................................................................................ 222 Schnittstellen ............................................................................................................................... 223 Nebenläufigkeit ............................................................................................................................ 223 Ressourcen .................................................................................................................................. 223 Aspektorientierung ....................................................................................................................... 224 Re-Use......................................................................................................................................... 224 Ästhetik ....................................................................................................................................... 224 Qualität........................................................................................................................................ 224 4.1.3.b Allgemeine Methoden................................................................................................225 Top-Down .................................................................................................................................... 225 Bottom-Up ................................................................................................................................... 225 Trial and Error .............................................................................................................................. 226 Hardest first ................................................................................................................................. 226 Objektorientierter Entwurf............................................................................................................. 226 Praxis .......................................................................................................................................... 227 4.1.3.c Werkzeuge und Unterstützung ...................................................................................227 4.1.4 Paradigmen und Ansätze der Systementwicklung ...................................................... 231 Historie ...............................................................................................................................232 Systemmodelle ....................................................................................................................234 4.1.5 Programmierung und Programmiersprachen ............................................................. 237 4.1.5.a Programmierung .......................................................................................................238 Algorithmen ................................................................................................................................. 239 Strukturelemente.......................................................................................................................... 240 Flussdiagramme ........................................................................................................................... 242 Struktogramme ............................................................................................................................ 244 Pseudocode ................................................................................................................................. 246 4.1.5.b Programmiersprachen ...............................................................................................247 Klassifikation ................................................................................................................................ 248 Sprachkonzepte ............................................................................................................................ 248 Generationen ............................................................................................................................... 250 4.1.5.c Übersetzung von Programmen ...................................................................................259 Assembler .................................................................................................................................... 259 Compiler ...................................................................................................................................... 259 Linker und Loader ........................................................................................................................ 260 Interpreter ................................................................................................................................... 261 4.2 Objektorientierter Entwicklungsansatz ..................................................................... 262 4.2.1 Grundkonzepte der Objektorientierung ..................................................................... 264 4.2.1.1 Objekte, Klassen, Attribute und Operationen ..............................................................265 Abstraktion .................................................................................................................................. 265 www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 8 von 411 Klassen ........................................................................................................................................ 266 Objekte........................................................................................................................................ 268 Kapselung und Geheimnisprinzip ................................................................................................... 269 4.2.1.2 Botschaften ..............................................................................................................270 4.2.1.3 Assoziationen ...........................................................................................................272 Kardinalitäten ............................................................................................................................... 273 4.2.1.4 Vererbung ................................................................................................................274 4.2.2 Objektorientierte Analyse ........................................................................................ 275 Vorgehensweise ...................................................................................................................276 Analyse im Großen ....................................................................................................................... 276 Schritte zum statischen Modell ...................................................................................................... 277 Schritte zum dynamischen Modell .................................................................................................. 278 Durchführung ............................................................................................................................... 278 4.2.2.1 Beschreibungen von Anwendungsfällen ......................................................................279 4.2.2.2 Entwicklung des fachlichen Modells (OOA-Modell) .......................................................279 Statisches Modell .......................................................................................................................... 281 Dynamisches Modell ..................................................................................................................... 284 4.2.2.3 Prototyp der Benutzungsoberfläche............................................................................285 Prototypen ................................................................................................................................... 285 Fenster ........................................................................................................................................ 287 Dialoge ........................................................................................................................................ 287 Dialogelemente ............................................................................................................................ 289 Menüs ......................................................................................................................................... 293 GUI-Design .................................................................................................................................. 295 4.2.3 Objektorientierter Entwurf....................................................................................... 295 Anwendungskategorien ........................................................................................................296 Desktop-Anwendungen ................................................................................................................. 297 Client-/Server-Anwendungen ......................................................................................................... 297 Web-Anwendungen ...................................................................................................................... 297 Angepasste Standard-Software ...................................................................................................... 297 Mischformen ................................................................................................................................ 298 4.2.3.1 Drei-Schichten-Architektur .........................................................................................298 4.2.3.2 Entwurf der Fachkonzept-Schicht ...............................................................................299 4.2.3.3 Entwurf der GUI-Schicht............................................................................................301 Anbindung Fachkonzept - GUI ....................................................................................................... 303 4.2.3.4 Entwurf der Datenhaltungs-Schicht ............................................................................305 Anbindung nach Typ ..................................................................................................................... 306 Anbindung nach Zugriff................................................................................................................. 306 4.2.4 Objektorientierte Implementierung .......................................................................... 307 Java ....................................................................................................................................308 Allgemeines ................................................................................................................................. 308 BlueJ ........................................................................................................................................... 308 Virtuelle Maschinen....................................................................................................................... 309 www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 9 von 411 Java-Plattform .............................................................................................................................. 310 Klassendefinition .......................................................................................................................... 311 Operatoren .................................................................................................................................. 312 Kommentare ................................................................................................................................ 313 Variable ....................................................................................................................................... 314 Beispiel ........................................................................................................................................ 314 Anhang A - UML ..........................................................................................318 A.1 Grundsätzliches ......................................................................................................318 A.2 Begriffe der UML ....................................................................................................318 Artefakt ......................................................................................................................... 319 Notiz, Anmerkung ........................................................................................................... 319 Szenario ........................................................................................................................ 319 Einschränkung................................................................................................................ 319 Classifier ........................................................................................................................ 320 Stereotyp ....................................................................................................................... 321 A.3 Diagramme ............................................................................................................ 321 A.3.1 Diagrammtypen ..................................................................................................... 322 A.3.1.1 Strukturdiagramme ...................................................................................................322 A.3.1.1.1 Paket-Diagramme .......................................................................................................... 322 A.3.1.1.2 Klassen-Diagramme ....................................................................................................... 323 A.3.1.1.3 Objekt-Diagramme ......................................................................................................... 328 A.3.1.1.4 Kompositionsstruktur-Diagramme.................................................................................... 329 A.3.1.1.5 Komponenten-Diagramme .............................................................................................. 330 A.3.1.1.6 Verteilungs-Diagramme .................................................................................................. 331 A.3.1.2 Verhaltensdiagramme ...............................................................................................332 Interaktionen ............................................................................................................................... 332 A.3.1.2.1 Use-Case-Diagramme ..................................................................................................... 334 A.3.1.2.2 Aktivitäts-Diagramme ..................................................................................................... 339 A.3.1.2.3 Zustandsautomaten........................................................................................................ 340 A.3.1.2.4 Kommunikations-Diagramme .......................................................................................... 345 A.3.1.2.5 Sequenz-Diagramme ...................................................................................................... 345 A.3.1.2.6 Zeitverlaufs-Diagramme ................................................................................................. 351 A.3.1.2.7 Interaktionsübersicht-Diagramme ................................................................................... 351 A.4 Vorgangsweise bei der Modellierung ........................................................................352 A.4.1 Kontextabgrenzung ................................................................................................ 352 A.4.1.1 Datenflussdiagramm .................................................................................................353 A.4.1.2 Use-Case-Diagramm .................................................................................................354 A.4.1.3 Sequenzdiagramme ..................................................................................................355 A.4.2 Anwendungsfälle.................................................................................................... 356 A.4.2.1 Anwendungsfallschablonen .......................................................................................356 A.4.3 Abläufe ................................................................................................................. 358 www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 10 von 411 A.4.3.1 Aktivitätsdiagramme .................................................................................................358 A.4.3.2 Sequenzdiagramme ..................................................................................................358 A.4.3.3 Zustandsdiagramme .................................................................................................358 A.4.4 Nicht-funktionale Anforderungen ............................................................................. 358 Volere-Klassifikation .............................................................................................................359 FURPS+ ..............................................................................................................................360 Normen ...............................................................................................................................360 Anhang B - Prozessmodellierung ................................................................362 B.1 EPK .......................................................................................................................362 Elemente ....................................................................................................................... 362 Regeln ........................................................................................................................... 363 Verzweigungen/Konnektoren ........................................................................................... 364 oEPK ............................................................................................................................. 367 Beispiel Urlaubsantrag .................................................................................................... 368 B.2 IDEF ......................................................................................................................369 B.3 SSA .......................................................................................................................371 B.4 Datenflussmodelle .................................................................................................. 372 B.5 Aufgabenketten-Diagramme....................................................................................374 B.6 Geschäftsprozessdiagramme ...................................................................................375 B.7 Business Process Modeling Notation (BPMN) ............................................................ 376 B.8 UML ......................................................................................................................377 B.9 ARIS ......................................................................................................................378 Sichten .......................................................................................................................... 379 Organisationssicht ................................................................................................................379 Datensicht ...........................................................................................................................379 Funktionssicht ......................................................................................................................380 Leistungssicht ......................................................................................................................380 Steuerungssicht ...................................................................................................................381 Wertschöpfungskettendiagramm ................................................................................................... 381 Vorgangskettendiagramm ............................................................................................................. 381 Anhang C - SQL ...........................................................................................382 C.1 Allgemeines ........................................................................................................... 382 C.2 DDL – Data Definition Language ............................................................................. 383 C.2.1 CREATE/DROP SCHEMA.......................................................................................... 383 C.2.2 CREATE/ALTER/DROP TABLE .................................................................................. 384 C.3 DML – Data Manipulation Language ........................................................................ 385 C.3.1 INSERT ................................................................................................................. 385 C.3.2 UPDATE ................................................................................................................ 386 www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 11 von 411 C.3.3 DELETE ................................................................................................................. 386 C.4 DRL – Data Retrieval Language ...............................................................................386 C.4.1 SELECT-Anweisung ................................................................................................ 387 DISTINCT, AS ......................................................................................................................388 LIKE, BETWEEN, IN..............................................................................................................389 JOIN ...................................................................................................................................390 Sortierung ...........................................................................................................................392 Gruppierung ........................................................................................................................392 C.4.2 Unterabfragen ....................................................................................................... 393 C.4.3 Aggregatfunktionen ................................................................................................ 394 COUNT ................................................................................................................................394 MAX und MIN ......................................................................................................................394 SUM ....................................................................................................................................394 AVG ....................................................................................................................................395 Beispiele ..............................................................................................................................395 C.5 DCL – Data Control Language .................................................................................395 C.5.1 Transaktionen........................................................................................................ 395 C.5.2 Zugriffskontrolle ..................................................................................................... 396 C.6 SQL-Datentypen .....................................................................................................397 C.6.1 String-Datentypen .................................................................................................. 397 C.6.2 Numerische Datentypen ......................................................................................... 398 C.6.3 Datums-/Zeitangaben ............................................................................................. 399 C.6.4 NULL-Wert ............................................................................................................ 399 C.7 SQL-Ausdrücke.......................................................................................................400 C.7.1 Numerische Ausdrücke ........................................................................................... 400 C.7.2 Stringausdrücke ..................................................................................................... 400 C.7.3 Datum-, Zeit- und Intervall-Ausdrücke ..................................................................... 401 C.7.4 Boolesche Ausdrücke .............................................................................................. 401 Index ..........................................................................................................402 Quellenverzeichnis ......................................................................................410 www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 28 von 411 Basiselemente Basiselemente von Geschäftsprozessen sind: Objekte/Artefakte: Objekte durchlaufen einen Prozess und ändern Ihren Status durch Aktivitäten, die auf ihnen ausgeführt werden. Ein Objekt ist das zentrale Element eines Prozesses, da Prozesse durch sie erst ihre Existenzberechtigung erhalten und unterschieden werden. Aktivitäten/Schritte/Aufgaben: Aktivitäten sind Arbeitseinheiten, die innerhalb eines Prozesses ausgeführt werden. Die gleiche Aktivität kann in verschiedenen Prozessen und auf verschiedenen Objekten ausgeführt werden. Aktivitäten sollten demnach in wiederverwendbarer Form gestaltet werden. Ressourcen/Beteiligte: Ressourcen werden benötigt, um Aktivitäten ausführen zu können und verhalten sich entweder aktiv (wie z. B. personelle Ressourcen) oder passiv (wie z. B. Material). Ziele: Jeder Prozess und jede Aktivität wird gemäß der Erreichung eines bestimmten Ziels ausgeführt. Prozesse und Aktivitäten können entweder durch Standardisierung ihres Outputs (d. h. des Ziels) oder der Aktivitäten (d. h. der Arbeitsschritte) definiert werden. Ereignisse: Ereignisse verbinden ansonsten bezugslose Aktivitäten und Prozesse oder lösen Prozesse aus. Insbesondere sind Ereignisse dazu geeignet, das Verhalten externer Einflüsse zu beschreiben. Des Weiteren eignen sich Ereignisse auch zur Repräsentation von Prozessverzweigungsbedingungen. Einteilung Geschäftsprozesse können in primäre und sekundäre, d.h. unterstützende, Prozesse unterteilt werden. Sogenannte Kernprozesse erbringen die Hauptleistungen und verbrauchen die meisten Ressourcen. Sie gehören immer zu den primären Geschäftsprozessen und sind immer branchenspezifisch, sogar häufig auch unternehmensspezifisch. Unterstützende Prozesse – auch Supportprozesse genannt - sind hingegen nicht wertschöpfend, aber für die Erbringung der Kernprozesse notwendig. Abbildung 8: Einteilung von Prozessen (1) www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 29 von 411 Die Unterteilung kann wie folgt charakterisiert werden: - Managementprozesse = Führungsprozesse arbeiten „am“ Prozess Geschäftsprozesse = Kernprozesse arbeiten „im“ Prozess Unterstützende Prozesse arbeiten „für“ Prozesse Kernprozesse Kernprozesse sind Wertschöpfungsprozesse, die strategische Bedeutung haben und quer zu traditionellen Abteilungen liegen. Sie reichen von Schnittstellen zu Lieferanten bis zu Schnittstellen zu Kunden und geben Leistungen an die Umwelt ab. Unternehmen haben nur wenige Kernprozesse, die sich aus der Aufgabe und aus der Strategie ableiten. Kernprozesse müssen einen wahrnehmbaren Kundennutzen stiften, für den diese zu zahlen bereit sind. Sie müssen durch eine unternehmensspezifische Nutzung von Ressourcen einmalig sein und dürfen nicht durch andere Problemlösungen wie Outsourcing ersetzbar sein. Beispiele für branchenspezifische Kernprozesse sind: In Produktionsunternehmen: Innovationsplanung, Prozesse für Produktionsplanung und Produktionssteuerung In Versorgungsunternehmen: Tarifklassifizierung, Service-Management In Versicherungsunternehmen: Produktmanagement, Risikobeurteilung Supportprozesse Supportprozesse erfüllen unterstützende Aufgaben, damit Kernprozesse reibungslos ablaufen, haben allerdings keine strategische Bedeutung. Sie sind Kandidaten für Outsourcing, allerdings kann es sinnvoll sein, sie dennoch im Unternehmen abzuwickeln. Ein Beispiel ist die Instandhaltung komplexer Maschinen, welche Detailkenntnisse erfordert und deren Weitergabe sehr aufwendig sein kann. Andere typische Supportprozesse sind jene der Kostenrechnung oder der Materialwirtschaft. Supportprozesse sollten als eigenständige Module von Kernprozessen abgespalten und als eigenständige Leistung separiert werden. Dadurch werden Prozesse werden schlanker und es gibt weniger Ansprechpartner pro Prozess. Außerdem wird dadurch das Benchmarking von Supportprozessen und somit ein Vergleich mit externen Anbietern leicht möglich. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 30 von 411 Modellierung Durch die Unterscheidung in Geschäftsprozess und Workflow (siehe 2.1.c Workflow und Workflow-Spezifikation) ist es notwendig, bei der Prozessmodellierung in verschiedene Modellierungsebenen zu differenzieren: Abbildung 9: Ebenenkonzept der Prozessmodellierung Geschäftsprozess- und Workflowmodellierung unterscheiden sich grob wie folgt: Fokus Ziele Struktur Geschäftsprozessmodellierung Betriebliche Systeme und Strukturen Analyse (Wirtschaftlichkeit) Gestaltung (Dokumentation) Optimierung (BPR, CPI) Hierarchische Detaillierungsstufen Workflow-Modellierung Informationssysteme und Anwendungen Realisierung Ausführung Optimierung der Performance Technische Modellhierarchie Tabelle 2: Vergleich von Geschäftsprozessmodellierung und Workflow-Modellierung In der Regel sind Geschäftsprozesse komplex und daher ohne IT-Unterstützung – sowohl im Entwurf der Modelle als auch in der Durchführung – kaum machbar. Durch einen Geschäftsprozess sind betroffen Daten, die durch den Prozess gelesen, erzeugt oder manipuliert werden Funktionen/Prozesse, die das Ergebnis des Prozesses erbringen Ereignisse, die den Prozess auslösen Oberflächen, über die sich der informationstechnisch gestaltete Prozess einem Benutzer präsentiert organisatorische Regelungen benötigte Ressourcen zur Prozessausführung www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 85 von 411 2.2.3.b Prozessleistungen, Prozesskosten und Qualitätssicherung Prozessleistungen Eine Optimierung von Prozessen setzt auch eine Analyse der Prozessleistung voraus. Dafür müssen geeignete Kriterien und Kennzahlen herangezogen werden. Ein übergeordnetes Kriterium für die Leistung eines Geschäftsprozesses ist die Kundenzufriedenheit, wobei der Begriff des Kunden im Prozessmanagement sehr weit gefasst ist. Externe und interne Kunden werden hier ähnlich behandelt, denn auch bei den innerbetrieblichen Geschäftsprozessen entstehen Lieferanten-Kundenbeziehungen, welche für die Qualität einer Prozessleistung von großer Bedeutung sind. Weitere wichtige Parameter für die Beurteilung einer Prozessleistung sind die Qualität, die Durchlaufzeit, die Flexibilität und die Kosten eines Prozesses. Die Kriterien und Kennzahlen der Prozessleistung sind gleichzeitig Parameter für die Gestaltung von Prozessen. Prozessleistungen können beispielsweise wie folgt eingeteilt werden: Kategorie Nutzleistung Stützleistung Blindleistung Fehlleistung Beschreibung Leistung, die direkt in die Produkte und deren Eigenschaften fließt und bezweckt, die Kundenanforderungen zu erfüllen. Eine hohe Nutzleistung ist gleichbedeutend mit einer hohen Wertschöpfung Leistung, die nicht direkt in die Produkte und deren Eigenschaften fließt, aber dazu beiträgt,, dass eine Nutzleistung erbracht werden kann Leistung ohne direkten oder indirekten Beitrag zur Wertschöpfung oder Erfüllung von Kundenanforderungen. Blindleistungen sind somit reine Kostenfaktoren, welche die Effizienz senken Leistung, die der Erfüllung von Kundenanforderungen entgegenwirkt. Fehlleistungen führen dazu, dass Produkte fehlerhaft sind und zusätzliche Leistungen aufgewendet werden müssen, um die Fehler zu korrigieren Beispiele Marketing Entwicklung Konstruktion Produktion Dokumentenverwaltung Prüfverfahren Produktionsplanung Unnötige Mehrfacharbeit Zwischenlagerung Produktionsausfall durch Materialmangel Nicht-Erfüllung von Produktmerkmalen Fehlerhafte Datenerfassung Tabelle 8: Kategorien von Prozessleistungen www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 86 von 411 Abbildung 47: Ziele der Prozessgestaltung aus Sicht der Prozessleistungen In den meisten Fällen muss ein spezifisches Gleichgewicht zwischen den verschiedenen Zielgrößen gefunden werden, da sich die Ziele zum Teil gegenseitig widersprechen. Als Beispiel könnte der Betreiber eines Call-Centers seine Mitarbeiter mit viel Aufwand schulen und dadurch die Anzahl der Geschäftsfälle erhöhen. Dies trägt tendenziell zu einer Steigerung der Kundenzufriedenheit bei, erhöht jedoch gleichzeitig die Personalkosten. An dieser Stelle sei erwähnt, dass zur Analyse von Prozessleistungen auch das sogenannte Prozess-Benchmarking eingesetzt werden kann. Dies zielt darauf ab, von anderen Organisationen, die als Vertreter von besonders guten Prozesspraktiken gelten, zu lernen. Benchmarking kann dabei intern (also als Vergleich von Organisationseinheiten des eigenen Unternehmens) oder extern (als Vergleich mit anderen Unternehmen) durchgeführt werden. Prozesskosten Zur Steuerung von Geschäftsprozessen ist es von großem Interesse zu wissen, für welche Prozessaktivitäten welche Kosten anfallen. Ist diese Information vorhanden, so kann die Prozessoptimierung dort ansetzen, wo die höchsten Kosten verursacht werden. Prozesskosten können nach Personalkosten Sachkosten und Infrastrukturkosten unterschieden werden. Personalkosten sind meist einfach zu ermitteln, da Arbeitsplätze und damit die Kosten für die sie ausfüllenden Mitarbeiter den einzelnen Prozessen und Sub-Prozessen direkt zugeordnet werden können. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 87 von 411 Unter den Sachkosten sind unter dem Aspekt der Prozesskosten all jene Kosten zu verstehen, für die innerhalb eines Prozesses Geld ausgegeben wird. Ein Beispiel wäre der Zukauf von Werbematerial in einem Marketingprozess. Unter die Infrastrukturkosten fallen all jene Kosten, die zur Durchführung von Prozessen benötigt werden, beispielsweise spezielle Hard- und Software. Die klassische Kostenrechnung ordnet nur die Einzelkosten wie z.B. Lohn- und Materialkosten den betrieblichen Leistungen direkt zu, während die Gemeinkosten pauschal über einen Verteilungsschlüssel addiert werden. Im Gegensatz dazu nimmt die Prozesskostenrechnung für sich in Anspruch, die Gemeinkosten verursachergerechter den Produkten zuzuordnen. Sie unterstützt dabei auch das prozessuale Vorgehen, indem sie die Verbindung zwischen Prozessleistung, Ressourcenverbrauch und wirtschaftlichem Ergebnis herstellt. Abbildung 48: Vergleich einer klassischen Kalkulation versus einer Kalkulation mit Prozesskosten Qualitätssicherung Oft stehen Geschäftsprozessmanagement und Qualitätsmanagement in enger Beziehung – vor allem, seitdem die Qualitätsmanagement-Normenreihe ISO 900x einen prozessorientierten Ansatz verlangt hat. Es macht daher Sinn, das Geschäftsprozessmanagement in Verbindung mit diesen oder gleichartigen Vorgaben zu gestalten. Die ISO 900x-Reihe besteht aus Der ISO 9000 (Grundlagen und Begriffe) Der ISO 9001 (Anforderungen an Qualitätsmanagementsysteme) Der ISO 9004 (Leiten und Lenken für den nachhaltigen Erfolg) www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 88 von 411 Vergleichbare Normen wie die Reihe ISO 140xx für Umweltmanagement-Systeme oder die ISO 310xx für Risikomanagement-Systeme verfolgen einen gleichartigen Ansatz und lassen sich daher gut miteinander verbinden, was in sogenannten integrierten Managementsystemen mündet. Die ISO 9001 hat folgende Kapitelstruktur: 4 Qualitätsmanagementsystem 4.1 Allgemeine Anforderungen 4.2 Dokumentationsanforderungen 5 Verantwortung der Leitung 5.1 Verpflichtung der Leitung 5.2 Kundenorientierung 5.3 Qualitätspolitik 5.4 Planung 5.5 Verantwortung, Befugnis und Kommunikation 5.6 Managementbewertung 6 Management von Ressourcen 6.1 Bereitstellung von Ressourcen 6.2 Personelle Ressourcen 6.3 Infrastruktur 6.4 Arbeitsumgebung 7 Produktrealisierung 7.1 Planung der Produktrealisierung 7.2 Kundenbezogene Prozesse 7.3 Entwicklung 7.4 Beschaffung 7.5 7.6 Produktion und Dienstleistungserbringung Lenkung von Überwachungs- und Messmitteln 8 Messung, Analyse und Verbesserung 8.1 Allgemeines 8.2 Überwachung und Messung 8.3 Lenkung fehlerhafter Produkte 8.4 8.5 Datenanalyse Verbesserung Tabelle 9: Kapitelstruktur der ISO 9001 Insbesondere das Kapitel 8 widmet sich hier dem Thema der kontinuierlichen Überprüfung und Verbesserung. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 128 von 411 Sequentielle Suche Bei der linearen Suche – auch sequentielle Suche genannt – wird der Datenbestand von vorne nach hinten durchsucht, bis das gewünschte Element gefunden oder das Ende des Datenbestands erreicht ist. Das könnte mit folgendem Pseudo-Algorithmus dargestellt werden: #define NO_KEY -1 int seqSearch( liste, k ) { for i in range(len(liste) { if liste[i] == k: return i; return NO_KEY; } } Im besten Fall dauert die lineare Suche einen Durchlauf (wenn das gesucht Element am Anfang der Liste steht), im schlechtesten Fall n Durchläufe, wobei n die Länge der Liste ist. Im Mittel ergibt sich eine Laufzeit von n/2. Das gilt auch, wenn die Liste sortiert ist – für solche Fälle gibt es jedoch besser geeignete Suchverfahren. Die lineare Suche wird allgemein dann verwendet, wenn über die Elemente in den zu durchsuchenden Daten nichts bekannt ist. Wie auch beim Sortieren erwähnt ist die lineare Suche bei kleinen Datenbeständen (n ~ 10) schneller als z.B. die binäre Suche, weshalb sich auch kombinierte Verfahren anbieten (also z.B. zunächst binär zu suchen und wenn nach einigen Suchschritten nur mehr etwa 10 Elemente übrigbleiben diese mit der linearen Suche zu durchsuchen). Binäre Suche Die binäre Suche setzt voraus, dass der vorliegende Datenbestand nach dem Suchkriterium sortiert ist. Für die interne Suche sind binäre Suchbäume besonders geeignet – siehe dazu auch 3.2.1.6 Speicherung mit Bäumen. Die Suche beginnt bei der Wurzel und wird solange durchgeführt, bis das Suchkriterium gefunden ist (oder auch nicht). Es erfolgt also eine fortlaufende Halbierung der Knotenmenge. Am Beispiel einer Telefonbuchsuche soll das dargestellt werden: Suche in Telefonbuch durch sukzessives Halbieren des Suchbereichs: - Schlage Telefonbuch in Mitte auf Überprüfe, in welcher Hälfte sich der Eintrag befindet (halbiert Suchbereich) Wiederhole mit dieser Hälfte, bis Seite gefunden Die Suchdauer beträgt somit - mit 1 Vergleich: 2 Einträge www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 - Ausgabe 13.01.2013 Seite 129 von 411 mit 2 Vergleichen: 4 Einträge mit 3 Vergleichen: 8 Einträge … mit k Vergleichen: 2k Einträge Eine binäre Suche in einer Liste der Länge n benötigt somit höchstens (log2 n) Vergleiche. Weitere Suchverfahren Hashing eignet sich gut als Verfahren für dynamisch veränderliche Mengen von Objekten mit effizienten Grundoperationen (sog. Wörterbuchoperationen) wie Suchen, Einfügen oder Löschen – siehe dazu auch 3.2.1.5 Gestreute Speicherung. Im Schnitt wird damit eine Suche eine konstante Zeit dauern. Abbildung 90: Vergleich der durchschnittlichen Suchdauer Bei der exponentiellen Suche wird das Datenfeld nicht linear, sondern exponentiell aufgeteilt, so dass die rechte Grenze eines Datenfeldes schneller bestimmt werden kann. Ist diese gefunden, wird im so abgegrenzten Bereich binär weitergesucht: r = 1 while A[r] < k: r *= 2 binsearch( A, k, r/2, r ) Dieses Verfahren eignet sich gut für große Datenbestände. Beim Interpolation search wird die Position des Datensatzes geschätzt. In Analogie zu einem Telefonbuch würden wir dieses bei der Suche nach „Bauer“ weiter vorn aufschlagen, bei der Suche nach „Meier“ etwa in der Mitte oder bei der Suche nach „Wallner“ weiter hinten. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 130 von 411 3.2.2.2 Sortieren Das Sortieren von Datenbeständen ist neben dem Suchen von Datenobjekten eine der am häufigsten benötigten Aufgaben in jeder Software. Die ersten, auf Rechnern auszuführenden Sortieralgorithmen wurden bereits 1945 von John von Neumann entwickelt. Er verwendete dabei das von ihm erfundene Mischsortierverfahren (engl.: merge sort). Die algorithmische Umsetzung von Sortierverfahren und deren Laufzeitverbesserung sind Gegenstand intensiver Bemühungen seit den Anfängen der Informatik. Im Laufe der Zeit wurden eine Vielzahl an Verfahren entwickelt, die sich durch deren Eigenschaften – insbesondere der Effizienz – unterscheiden. Sortieren durch Austausch Eine Familie besonders einfacher Sortierverfahren beruht auf der Idee, solange systematisch benachbarte Elemente miteinander zu vergleichen und bei Bedarf zu vertauschen, bis der Datenbestand sortiert ist. Da das Vertauschen benachbarter Elemente die zentrale Operation dieses Verfahrens ist, nennt man es Austauschsortieren (engl.: exchange sort). Austauschsortieren ist zwar teils ineffizient, jedoch wohl die elementarste Methode, Artefakte in eine bestimmte Ordnung zu bringen. Wenn beispielsweise ein Zahlenfeld in eine aufsteigende Ordnung gebracht werden soll, so beginnt man damit, dass die Felder von Beginn zum Ende hin durchwandert werden und dabei – falls erforderlich – durch paarweise Vertauschung der Elemente das größere Element an das Ende wandern lässt. Danach wiederholt man den Vorgang für das um ein Element verkürzte Feld. Die beiden gängigsten Verfahren, welche diesen Ansatz verfolgen, sind Bubblesort und Quicksort. Bubblesort Bei Bubblesort werden jeweils zwei benachbarte Felder – konkret deren Schlüssel – miteinander verglichen. Bei jedem Durchlauf – also der Abarbeitung des gesamten Datenbestandes – beginnt der Sortieralgorithmus am Anfang oder am Ende der Schlüsselfolge und vergleicht jeden Schlüssel mit seinem Nachfolger oder Vorgänger und vertauscht diese gegebenenfalls. Nach dem ersten Durchlauf ist der größte bzw. kleinste Schlüssel am Ende bzw. am Anfang des teilsortierten Datenbestandes. Nach dem zweiten Durchlauf wird der zweitgrößte bzw. zweitkleinste Schlüssel in seine Position gebracht usw. Dieser Algorithmus terminiert somit nach spätestens (n-1) Durchläufen, wobei n = Anzahl der Felder im Datenbestand ist. Häufig sind jedoch weniger Durchläufe notwendig, da durch das Vertauschen oft auch schon andere Schlüssel in der richtigen Reihenfolge vorliegen. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 131 von 411 Der Sortieraufwand ist somit am größten, wenn die Schlüssel in dem unsortierten Feld in umgekehrter Reihenfolge vorliegen – dann sind 1 2 … n–1 Vergleiche notwendig. Die Laufzeit hängt somit auch im Mittel Feldanzahl ab. 2 4 quadratisch von der Quicksort Ein schnelleres und häufig eingesetztes Sortierverfahren für lineare Felder ist Quicksort. Die Idee beruht auf dem Teile-und-Herrsche-Prinzip (engl.: divide and conquer), wobei eine Aufgabenstellung in kleinere Teile zerlegt und rekursiv aufgelöst wird: 1. Teile: man teilt die Aufgabenstellung in mehrere Teilaufgaben von fast gleicher Größe (Aufteilungsphase) 2. Herrsche: man löst die sich ergebenen Teilaufgaben unabhängig voneinander 3. Verbinde: man legt die Lösungen der Teilaufgaben in eine Lösung für das ursprüngliche Problem zusammen (Verschmelzungsphase) Der Quicksort-Algorithmus zerlegt den Ausgangsdatenbestand so in zwei Teilfelder bezüglich eines Schlüssels s, dass alle Schlüssel im linken Teilfeld kleiner als s und im rechten Teilfeld größer als s sind. Die Teilfelder werden durch rekursive Anwendung von Quicksort wiederum zerlegt und so sortiert. Idealerweise wird der Ausgangswert s so ausgewählt, dass zu Beginn zwei möglichst gleichgroße Teilfelder entstehen. Eine andere Möglichkeit ist es, einen Zufallswert für die Teilung auszuwählen, womit eine gute durchschnittliche Performance erreicht wird. Um weitere Optimierungen zu erreichen, kann Quicksort auch mit anderen Verfahren kombiniert werden. Beispielsweise schneidet Quicksort bei Datenmengen n < 10 meist schlechter ab als andere Verfahren – dieser Nachteil kann wettgemacht werden, indem Teilfelder mit weniger als zehn Elementen nicht mehr weiter unterteilt, sondern mit Sortieren durch Einfügen in die gewünschte Reihenfolge gebracht werden. Als Pseudocode geschrieben könnte Quicksort wie folgt dargestellt werden: Sortiere(Liste, von, bis): wenn bis > von: partitioniere die Liste um das Pivot-Element (bei Index p) herum Sortiere(Liste,von,p-1) Sortiere(Liste,p+1,bis) www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 183 von 411 3.3.4.3 Einordnung und Aufbau Beispiele von DBMS-Architekturen sind die "Strawman"-Architektur von CCA/NBS (historisch relevant) die "Drei-Ebenen"-Architektur von ANSI-SPARC (konzeptuell relevant – siehe z.B. 3.3.1 Datenbankkonzept) das "Fünf-Schichtenmodell" von Senko (technisch noch relevant – siehe z.B. Abbildung 75: 5-Schichten-Architektur der Dateiorganisation) Gemeinsam sind allen Modellen die allgemeine Einsetzbarkeit und die Datenunabhängigkeit. Ein Datenbankmanagementsystem kann auch nach folgendem 5-Schichten-Modell betrachtet werden: Abbildung 142: 5-Schichten-Modell eines Datenbankmanagementsystems Ebene 1 der Benutzersprache: es existiert auf oberster Ebene eine Benutzerschnittstelle, die die Interaktion zwischen dem Benutzer und dem DBMS ermöglicht. Ebene 2 der Anfragebearbeitung: auf der Ebene der Anfragebearbeitung wird die Benutzersprache in einzelne Operationen auf einzelne Datensätze zerlegt. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 184 von 411 Ebene 3 der Zugriffsstrukturen und Code-Erzeugung: für die einzelnen Operationen wird auf dieser Ebene Code erzeugt. Ebene 4 der Synchronisation paralleler Zugriffe: auf dieser Ebene werden die Operationen schließlich auf lesende und schreibende Zugriffe abgebildet. Da in realen DBMS viele Anfragen gleichzeitig bearbeitet werden müssen, ist es notwendig, sie in eine gültige Reihenfolge (Synchronisation) zu bringen. Ebene 5 der Speicherverwaltung: die benötigten Daten sind schließlich auf dieser Ebene zu lokalisieren und müssen zwischen Hauptspeicher und Sekundärspeicher (z.B.: Festplatte) transferiert werden. Diese fünf Schichten kann man nun auf die Architektur eines DBMS umlegen: Abbildung 143: Aufbau von Datenbankmanagementsystemen Ebene 1: dem Benutzer unmittelbar zugeordnet ist ein Input/Output-Prozessor, welcher Kommandos entgegennimmt und entweder Erfolgs- oder Fehlermeldungen zurückgibt. Ein an die Datenbank gerichteter Benutzerauftrag wird sodann an einen Parser übergeben, welcher zunächst eine grammatikalische Analyse durchführt, einerseits die korrekte Schreibung der Befehle (z.B. SELECT, nicht aber SLECT) und andererseits den korrekten Aufbau (z.B. SELECT… FROM…WHERE) überprüft. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 185 von 411 Bei speziellen Kommandos kann ein sog. Precompiler erforderlich sein. Der nächste Verarbeitungsschritt, die Autorisierungskontrolle, stellt fest, ob die Benutzer mit den angesprochenen Daten überhaupt arbeiten dürfen oder die nötigen Rechte für die beabsichtigte Aktion haben. Als Resultat liegt dieser ersten Schritte liegt der ursprüngliche Benutzerauftrag dann bereits in einer „internen Form“ vor. Ebene 2: bei der weiteren Verarbeitung nimmt das DBMS unterschiedliche Aktionen vor. Bei Updates ist die Ausführung im Allgemeinen an die Integritätsbedingungen gebunden, welche die semantische Korrektheit der Datenbank regeln. Die interne Zwischenform des Auftrages wird in diesem Fall also vom Update-Prozessor unter Einbezug der Integritätsprüfung verarbeitet. Innerhalb der Integritätsprüfung wird die Einhaltung der Integritätsbedingungen überprüft (z.B. Alter darf nie < 0 sein). Bei Anfragen kann die Integritätsprüfung dieser Art entfallen. Des Weiteren ist es notwendig, dass Anfragen, die sich auf die externe Ebene beziehen, vom Query-Prozessor in die konzeptionelle Ebene übersetzt werden. Es ist auch der Fall denkbar, dass ein Benutzer seine Anfrage unnötig kompliziert formuliert und das System in der Lage ist, dies zu erkennen. Dann kann die Anfrage an einen Optimierer übergeben werden, der die Anfrage in eine effizientere Formulierung überführt. Ebene 3: die nächste Aufgabe eines DBMS besteht in der Erstellung eines Zugriffs- bzw. Ausführungsprogrammes (Zugriffsplanerstellung), das heißt, es passiert eine Code-Erzeugung für den Benutzerauftrag. Das System kann ja einen Auftrag, in welcher Sprache er auch immer vorliegt, nicht direkt ausführen; die Anfrage wird daher letztendlich in eine Folge von Leseund Schreibbefehlen für den Plattenspeicher übersetzt. Ebene 4: eine Datenbank steht im Allgemeinen mehreren Benutzern zur Verfügung. Das aus einem einzelnen Auftrag gemäß dem oben beschriebenen Ablauf erzeugte Programm (d.h. die Folge von read- bzw. write-Befehlen) wird im DBMS intern als Transaktion bezeichnet. Das für den Mehrbenutzerbetrieb zu lösende Problem besteht in der Synchronisation quasi parallel ablaufender Transaktionen. Dazu verfügt das DBMS über eine Transaktionsverwaltung, welche die Datenbank nach außen hin wie ein exklusives Betriebsmittel erscheinen lässt. Bei der Ausführung kann es passieren, dass eine gerade laufende Transaktion nicht erfolgreich zu Ende gebracht werden kann. In diesem Fall übergibt die Transaktionsverwaltung die Transaktion dem sogenannten Recovery-Manager, der die Datenbank in den Zustand zurückversetzen muss, in dem sie sich vor dem Start der Transaktion befand. Dazu benutzt er das Logbuch der Datenbank, in welchem unter Anderem Veränderungen, die durch die Transaktionen vorgenommen werden, verzeichnet sind. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 216 von 411 V-Modell Ausgehend von der Erkenntnis, dass Fehler typisch auf derselben Abstraktionsebene entdeckt werden, wo diese entstehen, hat sich das sogenannte V-Modell durchgesetzt und weit verbreitet. Abbildung 162: Abstraktionsebene der Fehlererkennung Daraus ergibt sich das V-Modell wie folgt: Abbildung 163: Vorgehensweise im V-Modell Beim Vorgehen nach dem V-Modell wird ebenso schrittweise wie in anderen Modellen vorgegangen. Das Modell wird von links oben – beginnend mit der Anforderungsspezifikation nach unten über die Implementierung (engl.: Coding) bis nach rechts oben zur Inbetriebnahme durchlaufen. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 217 von 411 Die Querverbindungen zeigen an, auf welchen Ebenen Tests durchgeführt werden. ModulTests werden gegenüber den Modulspezifikationen durchgeführt. Systemtests beinhalten bereits einzeln getestete (Modultests) sowie im Zusammenspiel getestete (Integrationstests) Teile. Am Ende wird mit einem Akzeptanztest die gesamte Funktion des Systems gegenüber den ursprünglichen Anforderungen validiert. Die aktuelle Version des V-Modells wird als V-Modell XT bezeichnet. Die Bezeichnung XT bedeutet „eXtreme Tailoring“ und bezeichnet damit eine flexible Vorgangsweise, die eine Anpassung des Modells an die jeweils benötigten Randbedingungen – also beispielsweise der Projektgröße – ermöglicht. Das V-Modell ist ein Leitfaden zum Planen und Durchführen von Projekten. Mit einer V-Modellkonformen Durchführung eines Projekts werden die folgenden Ziele verfolgt: Minimierung der Projektrisiken: Das V-Modell gibt standardisierte Vorgehensweisen vor, beschreibt die zugehörigen Ergebnisse und die verantwortlichen Rollen. Damit erhöht das V-Modell die Projekttransparenz und verbessert die Planbarkeit von Projekten… Verbesserung und Gewährleistung der Qualität: Als standardisiertes Vorgehensmodell stellt das V-Modell sicher, dass die zu liefernden Ergebnisse vollständig und von gewünschter Qualität sind. Die durch das Modell definierten Zwischenergebnisse können auf diese Weise frühzeitig überprüft werden… Eindämmung der Gesamtkosten über den gesamten Projekt- und Systemlebenszyklus: Durch die Anwendung des standardisierten Vorgehensmodells lasst sich der Aufwand für die Entwicklung, die Herstellung, den Betrieb und die Pflege und Wartung eines Systems auf transparente Weise kalkulieren, abschätzen und steuern… Verbesserung der Kommunikation zwischen allen Beteiligten: Die standardisierte und einheitliche Beschreibung aller relevanten Bestandteile und Begrifflichkeiten ist die Basis des wechselseitigen Verständnisses aller Projektbeteiligten… (Auszug aus (20) - V-Modell XT Gesamt Version 1.4). Interessant und wichtig ist, dass in diesem Modell auch Rollen mit deren Aufgaben und Verantwortungen beschrieben sind. Das V-Modell kann in Teilen auch iterativ durchschritten werden oder anders formuliert: es dient als Basis für andere Vorgehensweisen. Beispielsweise werden in agilen Vorgehensmodellen (siehe unten) die Phasen Anforderungen, Entwurf, Entwicklung bis hin zur Auslieferung lauffähiger Software im Sinne eines Wachstumsmodells mehrfach durchlaufen. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 218 von 411 Spiralmodell Das Spiralmodell ist eine Weiterentwicklung des Wasserfallmodells. Es war vor allem für die Entwicklung großer, risikoreicher Systeme gedacht. Anstelle der zyklischen Abfolge "Entwickeln, prüfen, entwickeln, prüfen..." tritt beim Spiralmodell ein vierteiliger Zyklus: Planung des ersten bzw. nächsten Spiralumlaufs Zielsetzung und gegebenenfalls Zielkorrektur oder Zielanpassung Untersuchung von Varianten und ihren Risiken, Variantenentscheid Entwicklung und Prüfung (dieser Schritt korrespondiert mit dem Wasserfall-Modell). Abbildung 164: Spiralmodell nach Boehm (21) Der Zyklus wird viermal durchlaufen, nämlich für Systemdefinition, Anforderungen an die Software, Konzipierung (Architektur, Entwurf) und Realisierung (Detailentwurf, Codierung, Test, Integration und Installation). Wichtig ist vor allem der dritte Schritt im Zyklus, wo die Risiken der Entwicklung erkannt und kontrolliert werden. Ein wesentliches Element hierfür sind Prototypen, siehe hierzu auch 4.2.2.3 Prototyp der Benutzungsoberfläche - Prototypen. Gelegentlich findet man unter dem Namen „Spiralmodell“ auch Modelle, die eigentlich Wachstumsmodelle sind, bei denen aber jeder Wachstumsschritt als ein Spiralumlauf dargestellt ist. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 219 von 411 Agile Vorgehensmodelle Agile Vorgehensmodelle sind etwa um das Jahr 2000 herum entstanden. Grund war die Unzufriedenheit einiger Autoren, dass trotz dem Einsatz von Software-Engineering-Methoden die Ergebnisse von Entwicklungsprojekten immer noch nicht befriedigend waren, sprich Zeitund Kostenüberschreitungen mit sich brachten. Das Ergebnis ist das Agile Manifest mit folgendem Inhalt: Manifest für Agile Softwareentwicklung Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun und anderen dabei helfen. Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt: Individuen und Interaktionen mehr als Prozesse und Werkzeuge Funktionierende Software mehr als umfassende Dokumentation Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung Reagieren auf Veränderung mehr als das Befolgen eines Plans Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein (22) Agil bedeutet laut Duden „flink, wendig, beweglich, rege“. Der agile Gedanken hat den Grundsatz „so wenig wie möglich, so viel wie nötig“, der leider auch oft missverstanden und missbraucht wurde, nämlich indem einige Personen die falsche Meinung vertraten, deshalb beispielsweise keine Dokumentationen erstellen zu müssen. Im Laufe der Zeit haben sich verschiedenste Richtungen und Schwerpunkte ausgebildet wie etwa XP (eXtreme Programming), Scrum, Crystal Family, Test driven development (TDD) und dergleichen mehr. Der agilen Idee liegt eine adaptive Vorgangsweise ähnlich den Wachstumsmodellen zugrunde: • • • Projekt laufend planen Projekt führen und laufend überwachen • Kontinuierliches Risikomanagement und Qualitätsmanagement durchführen • Auf Veränderungen und Anpassungen rasch reagieren • Auf Kundenzufriedenheit und motivierte Teams besonders achten • Angemessen handeln Projekt abschließen www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 298 von 411 Mischformen Für jeden Teilbereich kann der jeweils beste Lösungsansatz verwendet werden. Für die Erfassung von Massendaten bietet sich beispielsweise die klassische Client-Anwendung an, da die Bedienungsgeschwindigkeit oder eine vollständige Tastaturbedienung eine wichtige Rolle spielen. Für den Kundenzugriff über das Internet auf firmeninterne Daten wird meist eine Web-Anwendung Sinn machen. Um Adressen aus der unternehmensweiten Kundendatenbank automatisch in einen Musterbrief einzubetten wird man keine eigene Textverarbeitung entwickeln, sondern z.B. Microsoft Word entsprechend anpassen. Abbildung 230: Konzepte für Mehrschichten-Architekturen 4.2.3.1 Drei-Schichten-Architektur Am Anfang eines objektorientierten Entwurfs muss geprüft werden, zu welcher Anwendungskategorie das zu entwerfende Produkt gehört und auf welchen Plattformen es laufen soll. Bei den Plattformen stellt sich die Frage, ob sie bereits vorhanden sind oder ob mit dem neuen System auch die Plattformen einzuführen sind. Im zweiten Fall ist sorgfältig zu überlegen, welche Plattformen verwendet werden, da diese Entscheidung das Umfeld für weitere Produkte bestimmt. In Abhängigkeit von der Anwendungskategorie und den Plattformen ist dann der Architekturentwurf durchzuführen. Da bei Desktop-Anwendungen die Drei-SchichtenArchitektur nahezu zwingend ist, wollen wir die drei Schichten aus dieser Perspektive näher untersuchen. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 299 von 411 Entwurf der Fachkonzept-Schicht: ausgehend vom OOA-Modell wird ein OOD-Modell erstellt, wobei das OOA-Modell unter Entwurfsgesichtspunkten verfeinert und überarbeitet wird Entwurf der GUI-Schicht und Anbindung an die Fachkonzeptklassen: nach Auswahl des GUI-Systems müssen die GUI-Klassen entworfen und durch unidirektionale Assoziationen an die Fachkonzept-Klassen angebunden werden Entwurf der Anbindung an die Datenhaltung: die Datenhaltungs-Schicht wird durch die Wahl des Datenbankmodells bestimmt. Bei einer objektorientierten Datenbank sind nur geringe Anpassungsarbeiten vorzunehmen, während beim Einsatz einer relationalen Datenbank eine objektrelationale Abbildung vorzunehmen ist. Außerdem ist zu prüfen, über welche Mechanismen auf die Datenbank zugegriffen werden soll Sinn einer solchen Schichtenarchitektur ist es, dass Objekte einer Schicht jeweils nur auf Objekte der direkt unter ihr liegenden Schicht zugreifen können. Jede Schicht wird durch ein Paket modelliert. Die Vorteile einer solchen Architektur kennen wir schon aus dem ISO/OSI-Modell aus der Kurseinheit 1: Wiederverwendbarkeit: jede Schicht besitzt eine präzise definierte Aufgabe und Schnittstelle Änderbarkeit/Wartbarkeit: die interne Organisation einer Schicht kann bei gleicher Schnittstelle beliebig verändert werden Portabilität: Hardwareabhängigkeiten können in einer Schicht isoliert werden 4.2.3.2 Entwurf der Fachkonzept-Schicht 1. Modifikation der Klassenstruktur: In der Analyse wurde noch vereinfachend davon ausgegangen, dass jede Klasse ihre Objekte selbst verwaltet. Im Entwurf muss nun die zugehörige Objektverwaltung realisiert werden – dies erfolgt mittels sogenannter Container-Klassen. Solche Klassen dienen zum Aufnehmen und Gruppieren einer Menge von Objekten und stellen Operationen wie z.B. die Suche nach bestimmten Datenbeständen bereit, um auf die verwalteten Objekte zuzugreifen. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 300 von 411 Abbildung 231: Beispiel einer Container-Klasse Allgemein versteht man unter einer Kartei eine Sammlung von Aufzeichnungen auf Karten gleichen Formats und in einer bestimmten Ordnung. Eine Kontenkartei besteht demzufolge aus einer Sammlung – dem Karteikasten – vor Karteikarten mit Informationen zu Konten wie Kontonummer oder Kontostand. Jede Karte hat dabei – entsprechend den Attributen einer Klassendefinition - das gleiche Aufzeichnungsformat. Im übertragenen Sinne entspricht der Karteikasten einem Container, die Karteikarten den darin enthaltenen Datenobjekten. Die Container-Klassen sind in Hinblick auf die typischen Operationen wie Zugriff auf ein bestimmtes Element sowie Sortierung und Suche zu konzipieren. Analyseklassen werden 1:1 in die Fachkonzeptschicht übernommen. Wenn die funktionale Komplexität einer Klasse zu hoch ist werden Teilaufgaben an detailliertere Klassen delegiert. Zwecks Erreichens der notwendigen Performance werden Klassen mit starker Interaktion zusammengefasst. Weitere Klassen können hinzugefügt werden, um beispielsweise Zwischenergebnisse zu modellieren. Assoziative Klassen werden in „normale“ Klassen aufgelöst. 2. Verfeinern der Attribute: Für die Attribute wird nun festgelegt, mit welchen Datentypen diese realisiert werden und ob es Anfangswerte gibt etc. Für abgeleitete Attribute wird geprüft, ob die Werte zu speichern sind oder ob sie jeweils aktuell berechnet werden sollen. Müssen abgeleitete Attribute dynamisch berechnet werden, so sind dafür Operationen zur Berechnung vorzusehen. Abgeleitete Attribute können auch gespeichert werden, wenn komplexe Berechnungen gespart werden sollen und sich die Ursprungsdaten nicht häufig ändern. Eventuell macht auch die Einführung neuer abgeleiteter Attribute Sinn, wenn Zwischenergebnisse gespeichert werden sollen. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 345 von 411 A.3.1.2.4 Kommunikations-Diagramme In Kommunikations-Diagrammen (engl.: Communication diagram) wird die Interaktion zwischen Objekten dargestellt. Sie zeigen die Beziehungen zwischen den Objekten an und die Nachrichten, die übertragen werden. Dabei steht der Überblick der Kommunikationsstruktur im Vordergrund. Die Darstellung der zeitlichen Reihenfolge, in der die Nachrichten gesendet werden, kann durch eine Nummerierung vorgenommen werden. Kommunikationsdiagramme werden dann als Alternative zu Sequenz-Diagrammen verwendet, wenn an einer Szene viele Objekte beteiligt sind, die wenige Nachrichten austauschen. Sind wenige Objekte an einer Szene beteiligt, die viele Nachrichten austauschen, sind Sequenz-Diagramme wegen der übersichtlicheren Darstellung der zeitlichen Zusammenhänge vorzuziehen. sd Communication 4: downloaden StudentIn 1 1: bestellen 1..* Bestellung 2: annehmen 3: ausliefern Persönliches Paket Fernstudium-Guide Abbildung 272: Kommunikations-Diagramm für eine Vorlesungsbestellung A.3.1.2.5 Sequenz-Diagramme Sequenz-Diagramme (engl.: Sequence diagrams) geben Antworten auf die Frage „Wie läuft die Kommunikation in meinem System ab“?. Sie ermöglichen die Modellierung von festen Reihenfolgen, zeitlichen und logischen Ablaufbedingungen oder Schleifen etc. Das Sequenzdiagramm ist das am meisten verwendete Interaktionsdiagramm der UML. „Wie immer“ in der UML ist auch das Sequenzdiagramm nur eine mögliche Sicht, die einen bestimmten Aspekt der Systembetrachtung herausstellt. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 346 von 411 Die Verwendung von Sequenzdiagrammen ist dann sinnvoll, wenn eine Interaktion unter folgenden Randbedingungen dargestellt werden soll: Die Abfolge der Nachrichten ist wichtig Interaktionen sind komplex und müssen gesteuert werden Es sollen Ablaufdetails gezeigt werden Notation Interaktionsrahmen Ähnlich wie bei anderen Diagrammtypen kann mit einem Interaktionsrahmen eine Abgrenzung vorgenommen werden; insbesondere ist das interessant, wenn eine Interaktion wiederverwendet werden kann. Lebenslinie Eine Lebenslinie wird als rechteckiger Kasten mit angeschlossener, gestrichelter Linie dargestellt. Alternativ kann z.B. das Akteurs-Symbol statt des Rechtecks verwendet werden: sd Sequenz-Diagramm Lebenslinie Akteur Abbildung 273: Lebenslinien im Sequenzdiagramm Eine Lebenslinie repräsentiert einen Teilnehmer einer Interaktion. Anonyme Lebenslinien sind nicht zulässig, es muss ein Kommunikationspartner angegeben werden. Nachrichten Eine Nachricht repräsentiert den Informationsfluss zwischen den Kommunikationspartnern. Die Nachrichten werden als Pfeile zwischen den Lebenslinien der Interaktionsteilnehmer dargestellt, und zwar immer vom Sender zum Empfänger. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 347 von 411 Es wird zwischen synchronen und asynchronen Nachrichten unterschieden. Bei der synchronen Nachricht wartet der Sender nach dem Sendeereignis, bis das initiierte Verhalten beim Empfänger beendet ist und dieser eine Antwortnachricht sendet. Erst dann setzt der Sender seine Abarbeitung fort. In der Antwortnachricht dürfen Antwortdaten mitgeliefert werden: sd Sequenz-Diagramm Bankomat Kunde Pin eingeben() {< 60 s} Pin eingegeben(Pin) Abbildung 274: Synchrone Nachricht im Sequenzdiagramm Synchrone Nachrichten sind durch eine ausgefüllte Pfeilspitze gekennzeichnet. Handelt es sich wie im obigen Bild um eine Antwortnachricht (in diesem Fall um einen Rücksprung auf einen synchronen Operationsaufruf), so wird die Linie gestrichelt dargestellt (Pin eingegeben(Pin)). Bei der asynchronen Nachricht wartet der Sender nach dem Sendeereignis nicht auf eine Antwort des Emfpängers, sondern setzt unmittelbar nach dem Sendeereignis seine Abarbeitung fort. Ungeachtet dessen kann durchaus (zu einem späteren Zeitpunkt) eine Antwort vom Empfänger kommen, die jedoch wieder als ansynchrone Nachricht interpretiert wird: www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 374 von 411 B.5 Aufgabenketten-Diagramme Aufgabenketten-Diagramme sind eine im Business Engineering häufig verwendete Darstellungsform für Prozesse. Sie zeigen die wichtigsten Aufgaben eines Prozesses und deren Ablauffolge, sind also eine graphische Darstellung einer Aufgabe mit Ablauffolge und Zuordnung einer Aufgabe zu den Aufgabenträgern. Abbildung 308: Einige Notationselemente von Aufgabenketten-Diagrammen (nach (1)) Abbildung 309: Auszug aus einem beispielhaften Aufgabenketten-Diagrammen (nach (1)) www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 375 von 411 B.6 Geschäftsprozessdiagramme Leider gibt es – wie so oft – auch hierfür keine eindeutige Bezeichnung. GeschäftsprozessDiagramme werden als UML-Use-Case-Diagramme, als BPMN-Diagramme oder in der hier nach (1) verwendeten Bezeichnung dargestellt. Abbildung 310: Notation in Geschäftsprozessdiagrammen (1) Dies entspricht weitgehend dem im Skriptum verwendeten Begriffssystem für die Geschäftsprozessmodellierung. Beispiele und Fragestellungen hierzu finden sich unter 2.3.1 Erstellung von Geschäftsprozessmodellen. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 376 von 411 B.7 Business Process Modeling Notation (BPMN) Die BPMN wird von der OMG (http://www.omg.org) standardisiert und verwaltet. Aktuell liegt die Version 2.0 vom Jänner 2011 unter (29) vor. Abbildung 311: Notation in BPMN (1) Dazu ein einfaches Modellierungsbeispiel: Abbildung 312: Beispiel einer Bestellablaufs in BPMN (1) www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 394 von 411 C.4.3 Aggregatfunktionen Manchmal betreffen die Informationen, die aus einer Tabelle abgerufen werden sollen, nicht einzelne Zeilen der Tabelle, sondern ganze Gruppe von Zeilen. SQL definiert zu diesem Zweck fünf Mengenfunktionen – auch Aggregatfunktionen – genannt. Jede dieser Funktionen führt eine Aktion aus, welche die Daten aus einer Menge von Zeilen und nicht aus einer einzelnen Zeile holt. COUNT Die Funktion COUNT gibt die Anzahl der Zeilen in der angegebenen Tabelle zurück. Beispiel: SELECT COUNT (*) FROM dozenten WHERE Land = ‚Österreich‘ MAX und MIN Die Funktion MAX gibt den größten Wert in der angegebenen Spalte zurück, die Funktion MIN den kleinsten Wert. Beispiel: SELECT Vorname, Nachname, Lebensalter FROM Studenten WHERE Lebensalter = (SELECT MAX( Lebensalter ) FROM Studenten) Mit dieser Abfrage (die eine Unterabfrage enthält) werden alle Studenten, die gleich alt sind wie der/die älteste StudentIn, zurückgegeben. SUM Die Funktion SUM addierte die Werte in der angegebenen Spalte. Der Datentyp muss dazu numerisch sein und der Wert der Summe muss innerhalb des Wertebereichs dieses Datentyps liegen. Beispiel: SELECT SUM( Umsatz ) FROM Rechnung www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 395 von 411 AVG Die Funktion AVG gibt den Mittelwert aller Werte der angegebenen Spalte zurück. Wie bei der Funktion SUM muss der Datentyp der Spaltenwerte numerisch sein. Beispiel: SELECT AVG( Gewicht ) FROM Lieferungen Beispiele Wie viele Länder haben eine Mitgliedschaft in der EU? SELECT COUNT(*) AS AnzahlLänder FROM Mitglied WHERE EU-Mitgliedschaft = True Wie viele Länder gibt es in der Tabelle Land, wie groß ist die maximale, die minimale Fläche und die durchschnittliche Fläche aller Länder? SELECT COUNT(Landname), MAX(Fläche), MIN(Fläche), AVG(Fläche) FROM Land C.5 DCL – Data Control Language Zur Datenkontrollsprache gehören vier Anweisungen: COMMIT, ROLLBACK, GRANT und REVOKE. Sie dienen unter anderem dazu, Datenbanken vor zufälligen oder beabsichtigten Schäden zu bewahren. Dies betrifft einerseits die sogenannten Transaktionen, andererseits die Rechteverwaltung. C.5.1 Transaktionen Eine Transaktion ist eine nicht unterbrechbare Folge von DML-Befehlen, welche die Datenbank von einem logisch konsistenten in einen (neuen) logisch konsistenten Zustand überführt. Gerade bei Änderungen von Datenbeständen sind Datenbanken besonders anfällig für Schäden. Ein Hardware- oder Software-Ausfall während einer Änderung kann eine Datenbank in einen nicht konsistenten Zustand versetzen, selbst wenn das System nur einen einzigen Benutzer hat. Transaktionen spielen sich auch oft in einem Kontext ab, wo viele gleichzeitig laufende Transaktionen konkurrierend auf eine Datenbank zugreifen, beispielsweise bei einem Flugbuchungssystem. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 396 von 411 Als Beispiel, wo Transaktionen wichtig sind, sei ein Geldtransfer zwischen zwei Konten auf zwei Banken genannt: die Transaktion beginnt mit der Abbuchung des Betrags vom einen Konto und endet mit der erfolgreichen Zubuchung am anderen Konto. Wird ein solcher Vorgang innerhalb einer Transaktion ausgeführt, ist sichergestellt, dass bei eventuellen Fehlern nicht beispielsweise der Betrag vom einen Konto abgebucht, aber nicht am anderen Konto zugebucht wurde. Transaktionen sollen dabei die sogenannten ACID-Eigenschaften besitzen: Atomarität: Die Transaktion ist die kleinste, nicht mehr zerlegbare Einheit - „alles-odernichts“-Prinzip, d.h. sie können nur vollständig abgeschlossen oder zurückgesetzt werden Consistency: Die Transaktion hinterlässt nur einen konsistenten Datenbankzustand, gleichgültig ob die Transaktion mit COMMIT oder mit ROLLBACK abgeschlossen wurde. Zwischenzustände der Transaktionen dürfen jedoch inkonsistent sein, der Endzustand muss die Integritätsbedingungen erfüllen Isolation: Nebenläufig ausgeführte Transaktionen dürfen sich nicht beeinflussen, d.h. der erfolgreiche Abschluss einer Transaktion ist nicht vom Verhalten anderer Transaktionen abhängig Durability: Die Wirkung einer erfolgreich abgeschlossenen Transaktion bleibt dauerhaft in der Datenbank, auch nach einem Systemfehler muss die Wirkung gewährleistet sein. Die Wirkung einer erfolgreich abgeschlossenen Transaktion kann nur durch eine kompensierende Transaktion aufgehoben werden. Während einer Transaktion speichert die Datenbank alle Operationen, die sich auf die Daten auswirken, in einer Protokolldatei. Wird die Ausführung der Transaktion unterbrochen, kann das System mittels der Anweisung ROLLBACK in den Zustand vor der Transaktion versetzt werden. Ist die Transaktion erfolgreich verlaufen, wird sie mit COMMIT beendet und abgeschlossen. C.5.2 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man nicht allen Anwendern dieselben Möglichkeiten zur Verarbeitung der Daten einräumen wollen, da Änderungen der Daten unter Umständen kritisch sind, auch wenn die Daten an sich nicht vertraulich sind. www.fernstudium-guide.de Grundzüge Wirtschaftsinformatik – KE 2 Ausgabe 13.01.2013 Seite 397 von 411 Zugriffsrechte können nicht nur einzelnen Benutzern zugewiesen werden, sondern es können Zugriffsrechte auch an Rollen gebunden werden. Dafür gibt es die Zugriffskontrolle mit GRANT und REVOKE mit folgender (auszugsweisen) Syntax: GRANT <Liste von Rechten> ON <Objekt> TO <Liste von Benutzern> REVOKE <Liste von Rechten> ON <Objekt> FROM <Liste von Benutzern> C.6 SQL-Datentypen Jede Spalte einer Tabelle kann nur Werte eines bestimmten Datentyps speichern. Verschiedene DBMS bieten unterschiedliche Datentypen an, Strings (Zeichen und Zeichenketten) und Zahlen verschiedener Länge und Genauigkeit sind jedoch immer verfügbar. Datentypen definieren neben der Menge der möglichen Werte auch die Operationen auf die Werte. C.6.1 String-Datentypen CHARACTER [ ( length ) ] (Abkürzung: CHAR) CHAR( n ) beinhaltet eine Zeichenkette fester Länge mit n Zeichen. Wird keine Länge angegeben, wird 1 angenommen. Daten, die in einer Spalte mit diesem Datentyp gespeichert werden, werden mit Leerzeichen bis zur Länge n aufgefüllt. Somit wird immer Speicher für n Zeichen benötigt. Variiert die Länge der Daten stark, sollte VARCHAR verwendet werden. CHARACTER VARYING [ ( length ) ] (Abkürzung: VARCHAR) Beispiele: ‘Fernstudium”s Adresse’ VARCHAR beinhaltet Zeichenketten variabler Länge mit bis zu n Zeichen. Es wird nur Speicherplatz für die tatsächliche Länge der Zeichenkette benötigt. Die maximale Länge n dient als Beschränkung, beeinflusst aber normalerweise das Dateiformat auf der Festplatte nicht. www.fernstudium-guide.de