Sie sind auf Seite 1von 99

Stand: 14-02-2021

PWIN WS 20/21

Vorlesung - Zusammenfassung
PWIN WS 20/21 - Zusammenfassung

Inhaltsverzeichnis
1 Informationssysteme 1................................................................................................. 1
1.1 Einführung in Informations- und Kommunikationssysteme ................................. 1
1.2 Beispiele für Informationssysteme...................................................................... 3
1.3 Einführung in die Unternehmensmodellierung .................................................... 3
2 Informationssysteme 2................................................................................................. 7
2.1 Strukturmodelle für Informationssystemarchitekturen ......................................... 7
2.2 Architekturkonzepte für Informationssysteme ..................................................... 9
3 Informationssysteme 3............................................................................................... 16
3.1 Was ist Mobilität? ............................................................................................. 16
3.2 Mobile Infrastruktur und Ökosystem ................................................................. 16
3.3 Mobile Informationssysteme und Mobiles Marketing ........................................ 22
3.4 Herausforderungen und Vorteile mobiler Informationssysteme ........................ 25
4 Data Mining und maschinelles Lernen ....................................................................... 26
4.1 Einführung in Data Mining ................................................................................ 26
4.2 Einführung in künstliche Intelligenz und maschinelles Lernen .......................... 28
4.3 Entscheidungsbäume....................................................................................... 30
4.4 ID3 Algorithmus ............................................................................................... 31
5 Einführung in ICT-Projekte (Information, Communication and Technology) ............... 33
6 ICS Entwicklung 1 – Softwareentwicklung ................................................................. 44
6.1 Einführung in Softwareentwicklung .................................................................. 44
6.2 Überblick über den Softwareentwicklungsprozess ........................................... 48
6.3 Softwareentwicklungsprozessmodelle .............................................................. 51
7 ICS Entwicklung 2 – Objektorientierung & UML ......................................................... 55
7.1 Objektorientierter Ansatz .................................................................................. 55
7.2 Vereinheitlichte Modellierungssprache (UML) .................................................. 58
8 ICS Entwicklung 3 – Markup-Sprachen ..................................................................... 68
8.1 Von HTML zu XML ........................................................................................... 68
8.2 XML Konzepte ................................................................................................. 72
8.3 Verarbeitung von XML Dokumenten ................................................................ 76
8.4 Anwendungen von XML ................................................................................... 77
9 Datenbankmanagement 1 – Datenbanken................................................................. 78
9.1 Grundlagen der Datenorganisation .................................................................. 78
9.2 Datenbanken ................................................................................................... 79
9.3 Datenorientierte Modellierung .......................................................................... 83
PWIN WS 20/21 - Zusammenfassung

10 Datenbankmanagement 2 – SQL............................................................................... 89
10.1 Einführung ....................................................................................................... 89
10.2 Grundlegende SQL-Sprachelemente ............................................................... 89
10.3 Erweiterte SQL-Sprachelemente ...................................................................... 94
10.4 SQL-gesteuerte Datenbankfunktionen ............................................................. 95
PWIN WS 20/21 - Zusammenfassung

1 Informationssysteme 1

1.1 Einführung in Informations- und Kommu-


nikationssysteme

Was ist ein Informationssystem?


Eine Reihe miteinander verbundener Komponenten, die Informationen sammeln, abrufen,
verarbeiten und speichern um die Entscheidungsfindung, Koordination und Kontrolle in ei-
ner Organisation zu unterstützen.

Informationssystem und Anwendungssystem


Informationssystem (IS):
- Für die Verwendung in einem Unternehmensteil entwickelt
- Enthält alle relevanten Anwendungssysteme
- Ist eingebettet in die Organisation und Management eines Unternehmens
Anwendungssystem (AS):
- Ein System, das Geschäftsaufgaben und -prozesse abwickelt
- Besteht aus der IT-Infrastruktur und Anwendungssoftware
- Enthält die erforderlichen Daten, um die Unternehmensziele zu erreichen

Mensch (User)

Anwendungssoft-
Software ware
System
Basis Software Information System
Application System
Computer
Hardware System
IT-Infrastruktur (Net-
work)

Daten und Informationen


- Data: Zeichen (Symbole), die auf gegenseitiger Vereinbarung beruhen, Informatio-
nen auf elektronisch verarbeitbare Weise darzustellen.
- Knowledge: Inhalte, die den Glauben an die Wahrheit von Aussage enthalten
- Information: Explizites Wissen (in Form von Sprache), das vom Menschen verwen-
det wird, um Geschäftsziele mit zielgerichtetem Wissen zu erreichen
- Informationsaustausch zwischen Menschen sowie Datenaustausch zwischen Ma-
schinen

1
PWIN WS 20/21 - Zusammenfassung

Elementare Funktionen von Anwendungssystemen in Bezug auf Daten und Informationen


- Input: Eingabe oder Erfassung von Rohdaten
- Processing: Umwandlung von Daten in eine für den Menschen verständliche Form
- Output: Verteilung der verarbeiteten Informationen an die jeweiligen Verantwortli-
chen
- Feedback: Ausgabe wird zum Zwecke der Bewertung / Korrektur an die verantwort-
lichen Personen zurückgesendet

Eigenschaften eines Anwendungssystems

Formale Systeme
- Formal System: Ein System, das auf festen Definitionen für Daten und Prozesse
basiert und auf vordefinierten Regeln basiert.
- Programm: Eine Verarbeitungsspezifikation (Algorithmus) bestehend aus einer
Reihe von Befehlen, ausgedrückt im Maschinencode des jeweiligen ausführenden
Computers
- Software: Programm in einer Programmiersprache geschrieben
- Hardware: Physikalische Geräte, die zur Eingabe, Verarbeitung und Ausgabe in In-
formationssystemen verwendet werden

2
PWIN WS 20/21 - Zusammenfassung

1.2 Beispiele für Informationssysteme


Intelligente Sprachassistenten
Diese Systeme sind so konzipiert, dass sie im Namen der Benutzer Maßnahmen ergreifen

Mensch (User)

Alexa (Web-) Skills


Software
System Fire OS, Alexa Base
Software Information System
Application System
Amazon Echo
Hardware System
Skill-Servers and Inf-
rastrucutre

1.3 Einführung in die Unternehmensmodellierung


Isolierte Informationssysteme
- Prozesse und Zwischenschritte werden teilweise analog abgearbeitet
- Kein Workflow zwischen den Systemen

Probleme von isolierten Informationssystemen (Ü1)


- Anfällig für Fehler
- Personalintensiv
- Kostenintensiv
- Unflexibel
- Lange Prozesse und schwieriges Controlling wegen fehlender gemeinsamer Daten-
basis

Verbundene Informationssysteme
- Prozesse werden komplett elektronisch abgearbeitet

Herausforderungen bei verbundenen Informationssystemen (Ü1)


- Datenspeicherung muss zwischen den Systemen redundant sein
- Datenformate müssen einheitlich gemacht werden
- Interfaces und Kommunikation zwischen den IS muss hergestellt werden
- Hohe kosten durch Einführung eines neuen ganzheitlichen IS
- Hohe Komplexität von einem ganzheitlichen IS

3
PWIN WS 20/21 - Zusammenfassung

Unternehmensmodellierung (Enterprise Modelling)


Unternehmensmodellierung ist die abstrakte Darstellung, Beschreibung und Definition der
Struktur, Prozesse und Informationen eines Unternehmens oder einer anderen großen Or-
ganisation.

Enterprise Model
Ein Unternehmensmodell ist eine Darstellung der Struktur, Aktivitäten, Prozesse, Informa-
tionen, Ressourcen, Personen, Verhaltensweisen, Ziele und Einschränkungen eines Unter-
nehmens.

Was ist ein Modell?


- Ein Modell ist eine Repräsentation der realen Welt
- Repräsentation: Ein Modell ist immer eine Repräsentation von natürlichen oder
künstlichen Objekten, die selbst Modelle sein können.
- Abstraktion: Modelle sind typischerweise ein Ausschnitt der Realität
- Pragmatismus: Der Inhalt eines Modells wird durch die folgenden Fragen relativiert:
Für wen? Warum? Wofür?

Regeln für die Modellierung


- Konsistente Übereinstimmung von Struktur und Verhalten zwischen Modell und
Original
- Modellierungsfunktion soll eine homomorphe Transformation sein
- Die „Sprache“ für die Definition eines Modellsystems wird von einem Metamodell
bereitgestellt

Abstrakte Mechanismen von Modellen (Ü1)


Modelle haben den Nutzen, Vorgänge zu Vereinfachen und Komplexität zu reduzieren
Mechanismen zur Modellierung:
Aggregation:
- Kombination von verschiedenen Einzelobjekten zur Erstellung eines neuen
Objektes
- Keyboard, Display, Antenne, Hülle -> Zusammenfassung zum Begriff
„Mobile Device“
Generalisierung:
- Gleichartige Objekte werden abstrahiert zu einem neuen, höherwertigen Objekt
- Mobiltelefon, Smartphone, Notebook -> Zusammenfassung zum Begriff Mobile De-
vice

4
PWIN WS 20/21 - Zusammenfassung

Enterprise Modelling Konzepte


Techniken für Enterprise Modelling:
- Active Knowledge Modelling
- Enterprise Modelling Methodology/Open Distributed Processing (EMM/OPD)
- Design & Engineering Methodology for Organisations (DEMO)
- Dynamic Enterprise Modelling
Weitere Enterprise-Modellierungstechniken die in Enterprise Architecture weiterentwickelt
wurden:
- ARIS ARchitecture of Integrated Information Systems
- DoDAF the US Department of Defense Architecture Framework
- OBASHI The OBASHI Business & IT methodology and framework

ARIS – Architecture of Integrated Information Systems


- Enterprise Modelling Framework
- Bietet Methoden zur Analyse von Geschäftsprozessen
- Bietet eine ganzheitliche Sicht auf Prozessdesign, Management, Workflow und An-
tragsbearbeitung

ARIS Sichten auf die Unternehmung


- Organisatorische Sicht
o Ressourcen (Menschen, Maschinen, Hardware, usw.)
o Organigramm
- Funktionale Sicht
o Alle Prozesse die einen Output erzeugen sowie ihre Beziehungen zueinan-
der
- Datenansicht
o Alle Ereignisse, die Daten erzeugen (z.B. Dokumente, E-Mails usw.)
o Entitätsbeziehungsmodell
- Kontrollansicht
o Integration aller anderen Ansichten in einen logischen Prozess
o Ereignisgesteuerte Prozessketten
- Ressourcenansicht
o Dienstleistungen, Produkte und finanzielle Vermögenswerte
o Produktbaum

5
PWIN WS 20/21 - Zusammenfassung

ARIS Sichten auf die Unternehmung

ARIS Abstraktionsschichten (Ü1)


Das Fachkonzept, DV-Konzept und die Implementierung zielen auf die verschiedenen An-
sprüche und Informationsbedürfnisse der verschiedenen Zielgruppen ab.
Fachkonzept:
- Beschreibt Prozesse unabhängig von der Implementierung in einem Informations-
system (z. B. über ERM oder EPK)
- Zielgruppe: Spezialabteilungen
DV-Konzept:
- Übersetzung von Geschäftskonzepten in IS Konzepte (z.B. Strukturdiagramme, To-
pologien, Beziehungen
- Zielgruppe: Fachleute für Wirtschaftsinformatik
Implementierung:
- Spezifische/detallierte Beschreibung einer technischen IS-Implementierung basie-
rend auf dem technischen Modell (z.B. Programmcode, Datenbankensysteme)
- Zielgruppe: Softwareentwickler

6
PWIN WS 20/21 - Zusammenfassung

2 Informationssysteme 2

2.1 Strukturmodelle für Informationssystemarchi-


tekturen
Anforderungen an die Struktur von Information System Architekturen (Modularisierung)
Minimierung der Komplexität
- Weniger Komplexität führt zu weniger Entwicklungsfehlern und einfacherer Wartung
des Informationssystems
Skalierungsmöglichkeiten
- Bei einer Vergrößerung der Unternehmung kann die Software sich mit entwickeln
Portabilität
- Teile können auf unterschiedlichen Betriebssystemen oder Hardware laufen
(z.B. Mobile/Desktop)
Wartung
- Möglichkeiten zur Erhaltung der Software
Standardisierung
- Arbeitsvereinfachung durch Wiederverwendung von bekannten Prozessen
Gut definierte Schnittstellen zwischen IS-Komponenten
- Wie können Interfaces und Schnittstellen einfach angesprochen werden?
Unabhängigkeiten
- Ermöglicht den Austausch einer IS-Komponente ohne Auswirkungen auf andere
Komponenten oder das gesamte System

Strukturelle Modelle für Information System Architekturen


Three-Tier Concept (DLP)
(P) Präsentationsstufe:
- Die oberste Ebene der Anwendung ist die Benutzeroberfläche (UI)
- Hauptfunktion der Schnittstelle ist Programmaufgaben und Ergebnisse zu etwas zu
übersetzen, das der Benutzer verstehen kann
- Beispiel: Eingabe von Inforamtionen (Alter, Name) durch User
(L) Logikstufe:
- Koordiniert die Anwendung, verarbeitet Befehle, macht logisch Entscheidungen und
Bewertungen und führt Berechnungen durch
- Bewegt und verarbeitet Daten zwischen den beiden umgebenden Schichten
- Beispiel: Algorithmen
(D) Datenstufe:
- Hier werden Informationen aus einer Datenbank gespeichert und abgerufen

7
PWIN WS 20/21 - Zusammenfassung

- Die Informationen werden dann zur Verarbeitung an die Logikschicht und schließlich
an den Benutzer zurückgegeben

Model-View-Controller Konzept
Model:
- Verwaltet Daten und, wenn anwendbar, enthält die Programmlogik
View:
- Zeigt Daten aus dem Modell dem Benutzer an (GUI)
Controller:
- Steuert Ansichten, initiiert relevante Präsentationsaktualisierungen in der Ansicht
und Datenaktualisierungen im Modell

- Die Programmlogik befindet sich manchmal im Modell und manchmal im Controller


(MVC)

Zusammenfassung zum Three-Tier und Model-View-Controller Konzept


- Sind ähnliche Konzepte zur Strukturierung von IS-Architekturen
- Keines der Konzepte ist universell definiert oder spezifiziert
- Es gibt auch zweistufige Konzepte (zweistufige Architektur)
- Fazit: Unabhängig von den zugrunde liegenden Strukturmodellen für IS-Architektu-
ren sollten Sie bestimmte Kategorien in IS modularisieren

8
PWIN WS 20/21 - Zusammenfassung

2.2 Architekturkonzepte für Informationssysteme


Architekturkonzepte von vernetzen Informationssystemen
Central-Server Architektur:
- Low-Feature-Terminals (Empfänger von Diensten), die an eine leistungsstarke
Zentraleinheit (Anbieter von Diensten) angeschlossen sind
Client / Server-Architektur:
- Netzwerk von Computern, die die Rolle des Servers übernehmen können (Anbieter
von Dienstleistungen) oder Client (Empfänger von Dienstleistungen) oder beides
Cloud Computing Architektur:
- Netzwerk von Computern als Client (Empfänger von Diensten), verbunden mit der
„Cloud“ (Anbieter von Diensten), die als einzelner zentraler Server fungieren
Peer-to-Peer Architektur:
- Netzwerk gleichberechtigter Computer (Anbieter / Empfänger von Diensten)
Edge Computing Architektur:
- Nutzt Netzwerkressourcen zur Optimierung von Cloud-Computing-Systemen durch
Datenverarbeitung am Netzwerkrand in der Nähe der Datenquelle

Zentralserverarchitektur
- Ein leistungsstarker Zentralcomputer
- „Dumme“ low-feature-Terminals (oft auch ohne Festplatte)
- Terminals bieten nur grafische Benutzeroberfläche
- Zentrale Server zuständig für die Bearbeitung der Anwendungen
- Zentraler Server kümmert sich um die Datenbank und deren Verwaltung

Zentralserverarchitektur im Three-Tier (DLP) Modell

Presentation Tier Terminal

Logic Tier
Central Server
Data Tier

Vorteile und Nachteile der Zentralserverarchitektur


Vorteile:
- Zentrale, gemeinsame Datenspeicherung
- Homogene Anwendungsumgebung
- Keine Terminalverwaltung erforderlich

9
PWIN WS 20/21 - Zusammenfassung

- Kostengünstige Terminals
Nachteile:
- Ein einziger Versagenspunkt
- Feste Netzwerkstruktur
- Monolithisch
- Kostenintensive zentrale Server
- Problematisch bei großem Datenverkehr und Datenmengen

Client / Server Architektur im Three-Tier (DLP) Modell

Verteilte Präsentation (Distributed Presentation)


- Aufteilung der Präsentation zwischen Server und Client
Abstrakter Part der Präsentation (server)
- Objekte (z. B. ein Fenster) werden auf abstrakte Weise erstellt, d. H. Ohne konkrete
Darstellung und Funktionalität.
Plattformspezifischer Teil der Präsentation (client)
- Abstrakte Objekte werden plattformspezifisch erstellt und dargestellt (z.B. Nutzung
der GUI der Plattform).
Vorteile dieser Herangehensweise
- Heterogene Anwendungssysteme können in eine einheitliche Benutzeroberfläche
integriert oder auf verschiedenen Plattformen verwendet werden.
Beispiele
- Windows: Eine Benutzeroberfläche die Windows nutzt, kann auf mehreren Plattfor-
men dargestellt werden
- Mobile Web App in einer Native App: Spiegel Online

10
PWIN WS 20/21 - Zusammenfassung

Remote-Präsentation (Remote Presentation)


- Präsentation wird an den Client ausgelagert
- Das Auslagern der Präsentation an den Kunden ist besonders vorteilhaft, wenn der
zentrale Server keine eigene Benutzeroberfläche hat
- Clients können auf verschiedenen Plattformen ausgeführt werden
- Benutzeroberflächen können individuell an die Bedürfnisse der Benutzer angepasst
werden (z. B. GUI)
- Client kann kein "dummes" Terminal sein
Beispiele:
- Citrix XenDesktop
- TeamViewer
- Apple Airplay

Verteilte Anwendung (Distributed Application)


- Aufteilung der Anwendungsfunktionen (Logik) zwischen Server und Client
- Zentral genutzte Anwendungsfunktionen werden auf dem Server gehostet, um für
alle verfügbar zu sein
- Dezentrale Anwendungen befinden sich auf dem jeweiligen Client
- Zentrale Anwendungsfunktionen werden nur bei Bedarf verwendet
- Vorteile: Entwicklung und Wartung von Anwendungsfunktionen werden vereinfacht;
Komplexität wird reduziert
Beispiele:
- Groupware
- Facebook App
- DB Navigator App
- Siri
Facebook App:
- Präsentation ist Clientseitig (Facebook-Feed wird in UI des Gerätes geladen)
- Logik ist clientseitig (Bilder hochladen, Postings, usw.)
- Logik ist auch serverseitig (Benachrichtigungen werden an das Gerät gesendet,
Gruppen können gegründet werden)
- Daten liegen serverseitig

Remote-Datenbank (Remote Database)


- Die Datenverwaltung befindet sich auf dem Server
- Traditioneller Ansatz für Datenbankanwendungen
- Mehrere Anwendungssysteme verwenden dieselbe Datenbank
- Die Datenverwaltung kann auch auf mehrere Server verteilt werden
- Problem: Es gibt mehrere Implementierungen der gängigen Datenbankabfragespra-
che „SQL“ mit vielen proprietären Erweiterungen und Unterschieden
Beispiele:

11
PWIN WS 20/21 - Zusammenfassung

- Customer Information System


- Dropbox App
- Notizen App (Notizen werden auf dem Client angezeigt und geschrieben, der Server
speichert die Notizen – keine Offlinefunktion)

Verteilte Datenbank (Distributed Database)


- Die Datenverwaltung wird zwischen Server und Client verteilt
Es gibt zwei Inkarnationen einer verteilten Datenbank:
Partitionierung des Datenspeichers zwischen Server und Client
- Organisationsstruktur: Zentrales Verzeichnis des Unternehmens im Vergleich zum
persönlichen Adressbuch
- Nutzungshäufigkeit: Aktuelle Geschäftszahlen vs. Archiv
- Zugriffszeit: Aktuelle Börsenwerte vs. Archiv
Partitionierung des Datenbankverwaltungssystems (DBMS) zwischen Server und Client
- Datenzugriffsfunktionalität (häufig verwendet) auf dem Client
- Datenbankverwaltung (weniger häufig verwendet) auf dem Server
Beispiele:
- Here Maps App
- Notizen App (Notizen werden auf dem Client angezeigt und geschrieben, Client
speichert die Notizen und synchronisiert diese mit der Datenbank – Mit Offlinefunk-
tion)

Vor und Nachteile der Client / Server Architektur


Vorteile:
- Kann flexibel gestaltet und erweitert werden
- Hohe Interaktions- und Kommunikationsfähigkeiten
- Zuverlässigkeit durch redundante Ressourcen
Nachteile:
- Hohe Serverauslastung durch Mehrbenutzerzugriff
- Hoher Planungs- und Koordinierungsaufwand
- Hohe Netzwerkbandbreite erforderlich
- Hohe administrative Arbeitsbelastung
Cloud Computing Architektur
- Anbieter bieten komplexe Dienste auf Basis von Hard- und Software in abstrakter
Form an
- Auf Speicher, Rechenleistung oder komplexe Dienste kann der Client über definierte
Schnittstellen über das Internet zugreifen
- Erlaubt Kunden die dynamische Verteilung von IT-Ressourcen nach Bedarf
- Preise basieren auf der angefragten Resource (Rechenleistung, Speicherplatz etc.)
- Die zugrunde liegende Hard- oder Software der Cloud ist für den Kunden nicht re-
levant

12
PWIN WS 20/21 - Zusammenfassung

Typen von Cloud-Computing Services


IAAS (Infrastructure as a Service):
- Angebot von Computerhardware-Ressourcen wie Rechner, Speicher und Netzen.
PAAS (Platform as a Service):
- Die Cloud stellt die Infrastruktur und das Betriebssystem zur Verfügung
SAAS (Software as a Service):
- Die Cloud bietet Software-Funktionalitäten an, auf die mit Hilfe eines API über das
Internet zugegriffen werden kann
Provider: Amazon, Google, Microsoft, Telekom

Nachteile und Vorteile von Cloud Computing


Vorteile von CC:
- Skalierbarkeit
- Zentrale Speicherung von Daten und Backups
- Kosteneffizient, weil nur für den verwendeten Speicher und Rechenleistung bezahlt
wird
- Zugriff auf Programme und Daten Ortsunabhängig
- Rechenintensive Programme können auf rechenschwachen Geräten ausgeführt
werden
Nachteile von CC:
- Unternehmen und Kunden müssen sich auf den Anbieter des Cloud Service verlas-
sen
- Gefahren: Datensicherheit, Datenschutz, Insolvenz, Internetverbindungsprobleme

13
PWIN WS 20/21 - Zusammenfassung

Peer-to-Peer Architektur
- Netzwerk von Computern mit gleichen Fähigkeiten
Eigenschaften:
- Keine zentrale Instanz, die die erforderlichen Interaktionen koordiniert
- Keine zentralisierte Datenbank
- Agieren autonom
- Jeder Peer kennt nur die anderen Peers, mit denen er gerade kommuniziert
- Peers, Verbindungen und Informationsflüsse innerhalb dieses Konzepts können
nicht garantiert werden
Vorteile:
- Erforderliche Ressourcen werden von vielen Parteien bereitgestellt (z. B. für die
Verteilung großer Dateien)
Nachteile:
- Hohe Komplexität
- Erfordert eine kritische Masse an Peers

Edge Computing Architektur


- "Intelligenz" an den Rand des Netzwerks bringen
Warum Edge Computing?
- Verbreitung von IoT-Geräten, die zu verarbeitende Daten produzieren
- Die Zentralisierung von Cloud-Architekturen führt zu Einschränkungen
- Die Entfernung zum Rechenzentrum wirkt sich auf die Servicequalität der Clouds
aus
- Stetiger Rückgang der Kosten für Verarbeitungsleistung und Erscheinungsbild intel-
ligenter Endgeräte, die Rückschlüsse erkennen und daraus ziehen können
Was ist Edge Computing?
- Verteilter Ansatz für die Berechnung an / in der Nähe von Netzwerkendpunkten
- Heterogene Nomenklatur [Edge (2004 -), Fog (2012 -) und Mist (2015 -) Computing]
aufgrund vielfältiger Interessen und Ansätze
- Ist nicht gleichbedeutend mit Cloud Computing
Vorteile:
- Niedrigere Kernnetzwerklast und Übertragungskosten da weniger vorverarbeitete
Daten übertragen werden
- Reduzierte Belastung des Cloud-Servers bzw. Rechenzentrums und effizientere
Ressourcennutzung möglich
- Reduzierter Latenzschlüssel ermöglicht Anwendungsfälle wie autonomes Fahren
- Neue Funktionen intelligenter Endgeräte

14
PWIN WS 20/21 - Zusammenfassung

Nachteile:
- Sicherheitsherausforderungen: Die verteilte Architektur erhöht die Anzahl der An-
griffsvektoren und Je "intelligenter" das Gerät ist, desto anfälliger ist es für Infektio-
nen und Exploits (z. B. integrierter Webserver)
- IP-Adress-Spoofing, Mann in der Mitte greift an
- Vertrauens- und Authentifizierungsbedenken
- Risiko einer Konfigurationsverschiebung bei der Implementierung minderwertiger
Geräteverwaltungslösungen
- "Versteckte" Lizenzkosten für Endgeräte (Basisversion vs. zusätzliche Funktionen)
- Manchmal wird dem System unnötiger Overhead und Komplexität hinzugefügt, wie
dies für IoT-Anwendungen nicht immer erforderlich ist

15
PWIN WS 20/21 - Zusammenfassung

3 Informationssysteme 3

3.1 Was ist Mobilität?


Was ist Mobilität?
Lat. mobilitas:
- Flexibilität, Geschwindigkeit, Bewegung; und als "mobilitas animi": (geistige) Fitness
- Aber auch (und ziemlich ambivalent zu (1)) Veränderlichkeit, Unbeständigkeit, In-
stabilität
Soziale Implikationen: Mobilität nicht nur Unabhängigkeit des Menschen von geografischen
Einschränkungen
- Räumliche Mobilität
- Zeitliche Mobilität
- Kontextmobilität

3.2 Mobile Infrastruktur und Ökosystem


Mobile Voice & Data Communication Services
- Mobilgerät
- Basissation/Mobilstation/Zelle
- Verbindung zum Internet

Grundlegende Mobilfunkdienste
Mobile Voice
- GSM, UMTS
Mobile Data
- GPRS, EDGE, 3G-Netze (UMTS, HDSPA), 4G-Netze, 5G-Netze
Mobiles Messaging
- Textnachrichten (SMS), Multimedia Nachrichten (MMS)
Mobile Machine-To-Machine
- GPRS, EDGE, 3G-Netze (UMTS, HDSPA), 4G-Netze, 5G-Netze
Generationen von Netzwerken
- 1st Generation (1G) – Analoge Netzwerke
- 2nd Generation (2G) – GSM Netzwerke (Globales System für mobile Kommunika-
tion)
- 3rd Generation (3G) – UMTS, HSPA, HSPA + (Universelles mobiles Telekommuni-
kationssystem)
- 3.9G oder 4G – LTE (Long Term Evolution)
- 4th Generation (4G) – LTE Advanced
- 5th Generation (5G) – Allgegenwärtiges Internet

16
PWIN WS 20/21 - Zusammenfassung

Cell-Based Communication (CBC)


Was ist ein Mobilfunknetz?
- Mobilfunknetze sind Funknetze bestehend aus mehreren Sendern
- Jeder Sender oder jede Basisstation, deckt einen bestimmten Bereich ab - eine
Zelle
- Zellradien variieren zwischen mehreren Metern und mehreren Kilometern
- Die Form der Zelle wird durch die Umgebung (Gebäude usw.) beinflusst und ist
selten ein perfektes Sechseck oder ein perfekter Kreis, obwohl dies die übliche Art
ist, sie zu zeichnen
Vorteile
- Mobilfunknetze bieten gegenüber zentralisierten Funksystemen eine Reihe von Vor-
teilen
- Höhere Kapazität: Zellen bieten die Möglichkeit, Übertragungsfrequenzen, die mo-
bilen Geräten zugewiesen sind (z. B. durch Multiplexing), wiederzuverwenden. Zu
diesem Zweck benötigen Netzwerke eine gründliche Planung der Position der Ba-
sisstationen und ihrer Frequenzen
- Mehr Benutzer können die Infrastruktur nutzen
- Reduzierte Sendeleistung: Reduzierter Stromverbrauch für mobile Geräte, da in ei-
ner kleinen Zelle im Vergleich zur weit entfernten Basisstation nur eine begrenzte
Menge an Sendeleistung benötigt wird
- Reduzierter Stromverbrauch für mobile Geräte
- Robustheit: Zellularsysteme sind hinsichtlich ihrer Basisstationen dezentralisiert.
Falls eine Antenne ausfällt, ist nur ein kleiner Bereich betroffen.
- Der Ausfall einer Basisstation wirkt sich nicht auf die gesamte Infrastruktur aus
- Bessere Abdeckung: Zellen können an geografische Bedingungen (Berge, Ge-
bäude) angepasst werden.
- Bessere Verfügbarkeit der Infrastruktur
Aber:
- Eine komplexe und kostspielige Infrastruktur ist erforderlich, um alle Basisstationen
zu verbinden. Dies umfasst Schalter, Antennen, Positionsregister usw.

GSM (2G) Systemarchitektur

17
PWIN WS 20/21 - Zusammenfassung

UMTS (3G) Systemarchitektur

Mobile Betriebssysteme
Was ist ein mobiles Betriebssystem?
- Das Betriebssystem ist ein Programm, das als Vermittler zwischen Benutzer und
Hardware dient
- Es ermöglicht Benutzern, Programme auszuführen
- Weitere Eigenschaften: Multi User, Multi Thread, Echtzeit
Ziele von Betriebssystemen:
- Hauptziel eines Betriebssystems: Einfache Verwendung der tatsächlichen Hard-
ware
- Sekundäres Ziel eines Betriebssystems: Effiziente Nutzung der Hardware
Funktionen eines mobilen Betriebssystems
Kontrolle und gemeinsame Nutzung von Ressourcen
- Rechenzeit, Echtzeitverarbeitung - Wer berechnet wie viel? Wie lange dauert es?
- Speicher (RAM, Festplatte) - Wer bekommt welchen Teil des Speichers?
Sicherheitsfunktionen
- Schutz der Daten (Speicher, Festplatte) - Wer darf auf Ressourcen zugreifen?
- Prozessschutz (Rechenzeit, Code, Isolation) - Wer darf rechnen?
- Unterstützung für Sicherheitsmodule
Kommunikation
- Zuweisung von E/A-Ressourcen
- Verarbeitung der Kommunikation
- Benutzeroberfläche (UI)

18
PWIN WS 20/21 - Zusammenfassung

Hersteller abhängiges mobiles Betriebssystem


- Ursprünglich verwendeten die meisten Handyhersteller ihre eigenen geschlossenen
Betriebssysteme für ihre mobilen Geräte
Vorteile:
- In der Regel von Malware weniger betroffen als offene Betriebssysteme
Nachteile:
- Weniger flexibel, da Software von Drittanbietern nicht einfach installiert und ausge-
führt werden kann
- Später wechselten immer mehr Plattformen zu einem offeneren und interoperable-
ren Betriebssystem (z. B. Windows CE, Symbian OS, Android)
Beispiel:
- Apple iOS, BlackBerry OS, LuneOS, Samsung bada

Hersteller unabhängiges mobiles Betriebssystem


- Google und andere Mitglieder der Open Handset Alliance haben gemeinsam And-
roid entwickelt und veröffentlicht
Beispiel:
- Android, Windows Mobile, Linux, Firefox OS

Mobile Apps
Mobile Web-App
- App nicht auf dem Gerät installiert
Mobile App („native App“)
- App wird heruntergeladen und installiert

19
PWIN WS 20/21 - Zusammenfassung

Mobile Web Apps vs. Mobile Apps


Mobile App („native App“) Mobile Web App
Unterstützt die Offline-Verwendung Benötigt ständige Internetverbindung
Kann leicht in App Store (s) gefunden wer- Verteilung über URL, z.B. QR Codes
den
Geschäftsmodell: Verkauft in App Store(s) Schwierig zu implementierendes Zahlungs-
und Authentifizierungssystem
Kann alle Betriebssystem- und Gerätefunk- Kein Zugriff auf Kernfunktionen des Be-
tionen nutzen triebssystems (z. B. 3D oder Speicher)
Muss plattformspezifisch sein (nativer Verwendung des Webbrowsers des Ge-
Code) räts, daher herstellerunabhängige Unter-
stützung für mehrere Plattformen möglich;
Auch das Portieren auf andere Geräte /
Plattformen ist kostengünstiger
Basierend auf Ziel C, C # .Net, Java Basierend auf HTML5, CSS, Javascript
Updates / Versionierung über App Stores Einfache Updates, da sie auf dem Server
durchgeführt werden, nicht auf jedem Cli-
ent-Gerät
Keine Werbeblockierung Werbeblockierung möglich

App Markets („App Stores“)


- Mobile App Distribution durch App-Märkte ("App Stores")
- App-Märkte sind zweiseitige Märkte, auf denen Entwickler ihre Apps veröffentlichen
können
- Zahlung, Hosting, Wartung und Marketing über den App Market

20
PWIN WS 20/21 - Zusammenfassung

Unterschiede zwischen Apple App Store und Google Play Store (Ü2)
Apple App Store Google Play Store
Geschlossene Plattform Offene Plattform für mehrere Marktanbieter
(z. B. Google, Amazon usw.)
Nur von Apple kontrolliert Jeder Markt wird von seinem entsprechen-
den Marktanbieter kontrolliert
Mobile Apps können nur über den App Mobile Apps können über jeden Android
Store installiert werden Market installiert werden
Direkte Einnahmen für Apple aus dem Um- Jeder Android-Markt kann ein individuelles
satzbeteiligungsmodell Umsatzmodell haben
(70% des App-Preises für Entwickler / 30%
für Apple)
Geschäftsstrategie von Apple: Generie- Geschäftsstrategie von Google: Generie-
rung direkter Einnahmen aus App-Verkäu- rung indirekter Einnahmen aus dem Ver-
fen kauf von Werbung durch Förderung der
Nutzung des mobilen Internets

Mobile Strategie von Apple und Google


Google Apple
„Mobil zuerst“ Mobile Plattform für den Verkauf von Inhal-
ten, Diensten (Apps) und Hardware
Kontrolle darüber, welche Suchmaschine Angebot von Kanälen gegen die „alles ist
auf Mobilgeräten verwendet wird frei Mentalität“ des Internets
Mobiles Web attraktiv machen, um neue Eintritt in den Werbemarkt mit iAd seit iOS
Werbesäulen aufzubauen 4
- Wie Microsoft für Desktop-Computer wurde Android als eher nicht einschränkende
Plattform zum Hauptakteur auf dem Mobilfunkmarkt
- Android kann von Apples restriktiver Strategie profitieren, kann aber auch von
Googles schlechtem Image betroffen sein
- Monopol oder Duopol auf dem Markt für mobile Betriebssysteme unwahrscheinlich
- Angesichts der zunehmenden Komplexität mobiler Geräte und Technologien wird
die erkennbare Vertrauenswürdigkeit eine Herausforderung darstellen

21
PWIN WS 20/21 - Zusammenfassung

3.3 Mobile Informationssysteme und Mobiles Marketing


Mobile Informationssysteme
Information System (IS):
- System, das für die Verwendung in Unternehmensteilen entwickelt wurde. Es ent-
hält alle relevanten Anwendungssysteme und ist in die Organisation und Verwaltung
von Unternehmen eingebettet
Mobiles Informationssystem:
- Informationssysteme, in denen der Zugriff auf Informationsressourcen und -dienste
über Endbenutzerterminals erfolgt, die sich leicht im Weltraum bewegen lassen, un-
abhängig von ihrem Standort bedienbar sind und in der Regel über eine drahtlose
Verbindung verfügen.

Einzigartige Eigenschaften mobiler Datenkommunikation


- Zeit- und Ortsunabhängigkeit
- Begrenzte E/A-Funktionen
- Standortbewusstsein
- Persönliche Natur des Mediums
- Identifizierung des mobilen Benutzers
- 1:1 Kommunikation
- Hohe Bevölkerungsdurchdringung

Mobiles Marketing
- Mobiles Marketing ist eine Reihe von Methoden, mit denen Unternehmen über jedes
mobile Gerät oder Netzwerk auf interaktive und relevante Weise mit ihrem Publikum
kommunizieren und interagieren können

Zweiseitiger mobiler Media Markt

22
PWIN WS 20/21 - Zusammenfassung

Eigenschaften von Mobilen Marketing

Vorteile und Potenziale von Mobilen Marketing (Location-based Advertising)

- Im Vergleich zu festem Online-Marketing profitiert Mobile Marketing derzeit davon,


dass das mobile Medium von Natur aus persönlicher ist als alle anderen Medien

Kontextinformationen zur Verringerung des Informationsüberlaufs


Mobilfunknetz ermöglicht die Bestimmung von:
- Teilnehmeridentität (d. H. MSISDN)
- physischer Standort des Teilnehmers
- Nutzungsdauer
Diese Kontextinformationen können zu einer Situationsbeschreibung eines Mobilfunkteil-
nehmers zusammengestellt werden:
- Beispiel: Mobile User ist 24 Jahre alt, Student, derzeit in München, zur Mittagszeit…

23
PWIN WS 20/21 - Zusammenfassung

Vorteile kontextsensitiver mobiler Marketingkampagnen


- Mobile Benutzer: Personalisierung von Werbung nach unmittelbaren Bedürfnissen
in aktueller Nutzungssituation
- Werbetreibende: Individuelle Auswahl relevanter mobiler Benutzer mit einem sehr
hohen Verbrauchsbedarf
- Mobile Marketing Provider: Generierung zusätzlicher Einnahmen und Differenzie-
rung vom Wettbewerb

Traditionelles vs. kontextsensitives Targeting

Zusammenhangsbewusstsein
- Kontextbewusstsein bezieht sich auf das Verhalten von Anwendungsprogrammen,
die Informationen über ihren "Kontext", d. H. Ihre Umgebung, verwenden, um ihr
Verhalten daran anzupassen
- Ort/Zeit, Profil, Interesse, Einstellung, Wetter, Umgebung, Sozialer Kontext, Bedürf-
nisse, Aktivität

Umsetzung von Location-based Advertising


- Push-Ansatz: Der Werbetreibende arbeitet mit den Netzbetreibern und Zustellungs-
netzwerken zusammen, um (Push-) Anzeigen an den Benutzer zu senden, die vom
Standort des Geräts abhängen
- Pull-Ansatz: Verbraucher fordern einmalig Informationen an oder nutzen einen
Dienst und werden dabei Werbebotschaften ausgesetzt

24
PWIN WS 20/21 - Zusammenfassung

Mobile Ads (Mobile Werbung) – Einflussfaktoren


Vermeidung mobiler Anzeigen
- Die Relevanz könnte die Werbevermeidung der Nutzer erheblich beeinflussen
- Das Empfangen von Kontexten mit hoher kognitiver Arbeitsbelastung führt zu einer
deutlich kürzeren Lese- und Erinnerungszeit der Werbung
Reaktionsfähigkeit der Verbraucher
- Die Reaktion der Verbraucher auf Handy-Anzeigen basiert in erster Linie auf einer
Funktion von Relevanz, Akzeptanz / Störung und Gesamtwert
Wahrnehmung von Handy-Anzeigen
- Banerjee und Dholakia (2012) zeigen, dass Menschen in öffentlichen Einrichtungen
und bei Freizeitaktivitäten Werbung nützlicher finden als in privaten Umgebungen
und während der Arbeit
- Hühn et al. (2012) und Lee et al. (2015) zeigen, dass standortkongruente Anzeigen
als weniger aufdringlich wahrgenommen werden

3.4 Herausforderungen und Vorteile mobiler Informati-


onssysteme
Herausforderungen und Vorteile von mobilen Informationssystemen
Vorteile von Mobile IS für Unternehmen und Gesellschaft:
- Mobile Geräte werden zunehmend zur digitalen Identität des Benutzers
Herausforderungen:
- Wie kann die Nutzung einzigartiger Mobilkommunikationsmerkmale für mobile An-
wendungen und Dienste weiter verbessert werden?
- Wie kann Privatsphäre und Sicherheit gewahrt werden?
- Umgang mit Geräte- und Plattformfragmentierung
- Umgang mit technologischen Einschränkungen, z.B. begrenzte Bandbreite des Mo-
bilfunknetzes

25
PWIN WS 20/21 - Zusammenfassung

4 Data Mining und maschinelles Lernen

4.1 Einführung in Data Mining


Data Mining
- Ein Prozess, der statistische, mathematische, künstliche Intelligenz und Techniken
des maschinellen Lernens verwendet, um nützliche Informationen und nachfolgen-
des Wissen aus großen Datenbanken zu extrahieren und zu identifizieren
- Data Mining-Tools finden Muster in Daten und können daraus sogar Regeln / Mo-
delle ableiten

Data Mining Prozess

26
PWIN WS 20/21 - Zusammenfassung

Data Mining Anwendungen


Funktion Beschreibung Beispiele
Lieferkette Lieferkettenflüsse optimie- Dell, WalMart, Amazon
ren; Lagerbestände redu-
zieren
Kundenauswahl, Loyalität & Kunden mit dem größten Harrah’s, Capital One,
Service Gewinnpotenzial identifizie- Barclays
ren; die Wahrscheinlichkeit
erhöhen, dass sie das Pro-
dukt- oder Serviceangebot
wünschen und ihre Loyalität
behalten
Preisgestaltung Identifizieren Sie den Preis, Progressive, Marriott
der die Rendite oder den
Gewinn maximiert
Produkt- und Servicequali- Qualitätsprobleme frühzei- Honda, Intel
tät tig erkennen und minimie-
ren
Finanzleistung Besseres Verständnis der MCI, Verizon
Treiber der finanziellen
Leistung und der Auswir-
kungen nichtfinanzieller
Faktoren
Forschung und Entwicklung Verbesserung der Qualität, Novartis, Amazon, Yahoo
Wirksamkeit und gegebe-
nenfalls Sicherheit von Pro-
dukten und Dienstleistun-
gen
Personalbereich Wählen Sie die besten Mit- New England Patriots,
arbeiter für bestimmte Auf- Oakland A’s, Boston Red
gaben oder Jobs mit be- Sox
stimmten Vergütungsstufen
aus

Charakteristika und Ziele von Data Mining


- Daten sind oft tief in sehr großen Datenbanken vergraben
- Manchmal werden Daten im Data Warehouse bereinigt und konsolidiert
- Tools helfen dabei, Informationen zu entfernen, die in Unternehmensdateien oder
in archivierten öffentlichen Aufzeichnungen vergraben sind
- Miner ist häufig ein Endbenutzer, der durch Datenübungen und andere Tools zur
Leistungsabfrage in die Lage versetzt wird, Ad-hoc-Fragen zu stellen und schnell
und mit geringen oder keinen Programmierkenntnissen Antworten zu erhalten

27
PWIN WS 20/21 - Zusammenfassung

- Um gute und überraschende Ergebnisse zu erhalten ist Kreativität gefragt


- Data Mining-Tools lassen sich problemlos mit Tabellenkalkulationen und anderen
Softwareentwicklungstools kombinieren. Die gewonnenen Daten können schnell
und einfach analysiert und verarbeitet werden
- Parallelverarbeitung wird manchmal wegen großer Datenmengen verwendet

Data Mining-Paradigmen

4.2 Einführung in künstliche Intelligenz und maschinel-


les Lernen
Künstliche Intelligenz (KI)
- Die Wissenschaft, die sich mit intelligenten Agenten befasst, die Ziele gesetzt haben
und mit ihrer Umgebung interagieren, indem sie ihre Sensoren und Aktoren verwen-
den, um diese Ziele zu erreichen
- Automatisierung schwieriger / einfacher Aufgaben, automatisierte Inferenz- und Ent-
scheidungsunterstützung können durch KI erreicht werden
- Endziel der KI: Maschinenintelligenz gleich menschlicher Intelligenz
- Die menschliche Umwelt ist sehr vielfältig und schwierig – Allgemeine Intelligenz ist
sehr schwer zu erreichen
- Die aktuelle KI ist meist eine schwache oder funktionale KI

28
PWIN WS 20/21 - Zusammenfassung

Intelligente Agenten

- Intelligente Agenten nutzen Sensoren, um ihre Umgebung auszuwerten (Ultra-


schall, Laser, Kameras, Radar)

Intelligent Agenten und künstliche Intelligenz


- Endziel der KI: Maschinenintelligenz gleich menschlicher Intelligenz
- KI sollte Menschen bei der Lösung schwieriger Probleme unterstützen
- Paradigmenwechsel: Eingrenzen von Umgebungen und entsprechenden Proble-
men, in denen Agenten handeln müssen
- Maschinelles Lernen zeichnet sich durch seinen statistischen Ansatz zur Problemlö-
sung in diesen engen Funktionsbereichen aus

Maschinelles Lernen
- Maschinelles Lernen ist die Erforschung computergestützter Algorithmen, die dem
Gerät helfen, eine Aufgabe auf Basis der bisherigen Erfahrungen zu verbessern
- Der Bereich des maschinellen Lernens befasst sich mit der Frage, wie Verfahren
erstellt werden können, die sich durch Erfahrung automatisch verbessern
- Im Allgemeinen kann ML in zwei hochrangige Kategorien unterteilt werden: Über-
wachtes Lernen und Unüberwachtes Lernen

Unüberwachtes Lernen
- Unbeaufsichtigtes Lernen umfasst hauptsächlich Clustering-Aufgaben. Clustering
kann als eine Prozedur definiert werden, die Datenpunkte in großen Datenmengen
nach ähnlichen Eigenschaften gruppiert

29
PWIN WS 20/21 - Zusammenfassung

Überwachtes Lernen
- Überwachte Lernaufgaben befassen sich hauptsächlich mit Klassifizierungsproble-
men
- Überwachte Lernalgorithmen werden an beschrifteten Daten mit bestimmten Merk-
malen trainiert und ziehen auf der Grundlage dieses trainierten Modells statistische
Schlussfolgerungen

Klassifizierung
- Überwachte Induktion zur Analyse historischer Daten in der Datenbank und zur au-
tomatischen Generierung eines Modells, das das zukünftige Verhalten vorhersagen
kann
- Klassen sind bekannt, d. H. Die Klassifizierung zielt darauf ab, Muster in den Daten
zu erfassen, um Beobachtungen einer dieser Klassen zuzuweisen (überwachtes
Lernen)

Klassifizierungsansätze

Unterschiedliche Klassifizierungsansätze unterscheiden sich in Bezug auf:


- Suchstrategie
- Effizienz hinsichtlich der Klassifizierungsgenauigkeit
- Effizienz in Bezug auf verwendete Ressourcen (z. B. CPU, Speicher)
- Anforderungen an Eingabedaten (z. B. Ausreißer, fehlende Werte usw.)
- Interpretierbarkeit der Ergebnisse, generierte Regeln / Modelle

4.3 Entscheidungsbäume
Klassifizierung mit Entscheidungsbäumen
Entscheidungsbäume klassifizieren Instanzen:
- Sortierung von Baum nach Blattspitze
- Basierend auf Attributen von Instanzen
- Verzweigung für jeden Wert
Beispiel: Entscheidungsbaum, der angibt, ob der Kunde einen Computer kauft oder nicht:

30
PWIN WS 20/21 - Zusammenfassung

Wie erstelle ich solche Entscheidungsbäume aus Beispieldaten?

Klassifizierung mit Entscheidungsbäumen (Algorithmus)


Allgemeiner Algorithmus zum Erstellen eines Entscheidungsbaums:
- Erstellen Sie einen Wurzelknoten und wählen Sie das Aufteilungsattribut
- Fügen Sie dem Stammknoten für jeden geteilten Kandidatenwert und jede Bezeich-
nung einen Zweig hinzu
Führen Sie die folgenden iterativen Schritte aus:
- Klassifizieren Sie Daten, indem Sie einen geteilten Wert anwenden
- Wenn der Haltepunkt erreicht ist, erstellen Sie einen Blattknoten und beschriften Sie
ihn. Andernfalls erstellen Sie einen weiteren Teilbaum

Anforderungen an Entscheidungsbäume
- Beschreibung der Attributwerte: Dieselben Attribute müssen jedes Beispiel be-
schreiben und eine feste Anzahl von Werten haben
- Vordefinierte Klassen: Beispielattribute müssen bereits definiert sein
- Diskrete Klassen: Klassen müssen scharf abgegrenzt sein (keine vagen Kategorien)
- Ausreichende Beispiele: Es sind genügend Testfälle erforderlich, um gültige Muster
von zufälligen Ereignissen zu unterscheiden

4.4 ID3 Algorithmus


Basic Learning Algorithm to built Decision Trees: ID3
- Der ID3-Klassifizierungsalgorithmus generiert einen Entscheidungsbaum aus einem
festen Satz von Beispielen (Beobachtungen)
- Der resultierende Baum wird verwendet, um zukünftige Proben zu klassifizieren
Für jedes Attribut, das noch nicht verwendet wurde:
- Berechne den Informationsgewinn, der sich aus der Aufteilung dieses Attributs
ergibt
- Teilen das Attribut auf, das den größten Informationsgewinn bietet
Auf diese Weise werden Attribute wiederholt ausgewählt, bis ein vollständiger Entschei-
dungsbaum erhalten wird, der jede Eingabe klassifiziert

31
PWIN WS 20/21 - Zusammenfassung

ID3: Entropie & Informationsgewinn


ID3 entwickelt Entscheidungsbäume auf der Grundlage von zwei Kriterien:
- Entropie (Gesamtunsicherheitsgrad)
- Informationsgewinn (Informationen sind für die Klassifizierung am nützlichsten)
Berechnung der Entropie:
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 (𝑆) = −𝑝1 log 2 (𝑝1) − 𝑝2 log 2 (𝑝2)
𝑤𝑖𝑡ℎ 𝑝𝑖 = 𝐴𝑛𝑡𝑒𝑖𝑙 𝑣𝑜𝑛 𝑆 𝑔𝑒ℎö𝑟𝑡 𝑧𝑢𝑟 𝐾𝑙𝑎𝑠𝑠𝑒 𝐼.
(𝑝1 = 1 − 𝑝2 )
Notiz: 0 log(0) 𝑖𝑠𝑡 𝑎𝑙𝑠 0 𝑑𝑒𝑓𝑖𝑛𝑖𝑒𝑟𝑡
𝑝1 = 𝑝2 : 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) = 1
𝑝1 = 0 𝑜𝑑𝑒𝑟 𝑝2 = 0: 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) = 0

Berechnung des Informationsgewinns:


Der Informationsgewinn wird für jedes Attribut A berechnet

|𝑆𝑣 |
𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) − ∑ ∗ 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑣 )
𝑣∈𝑊𝑒𝑟𝑡𝑒(𝐴) |𝑆|

Werte (A): Alle möglichen Werte von A


S: Jeder Wert v alles möglichen Werte von Attribut A
𝑆𝑣 : Teilmenge von S, für die Attribut A den Wert v hat
|𝑆𝑣 | : Anzahl der Elemente in 𝑆𝑣
|𝑆|: Anzahl der Elemente in 𝑆

ID 3 „Overfitting“ – Nachteile
Neigt dazu, Teilungen zu bevorzugen, die zu einer großen Anzahl von Partitionen führt, von
denen jede klein, aber rein ist

32
PWIN WS 20/21 - Zusammenfassung

5 Einführung in ICT-Projekte (Information,


Communication and Technology)
Was charakterisiert ein Projekt?
Projektmerkmale nach DIN 69 901 „Projektmanagement, Begriffe“:
- Einzigartige Bedingungen
- Gut definierte Ziele
- Festes Start- und Enddatum
- Einschränkungen in Bezug auf Zeit, Finanzen, Personal usw.
- Differenzierung von anderen Projekten
- Projektspezifische Organisation

Projektlebenszyklus

Charakteristika von ICT Projekten


- Meistens komplexe und innovative Aufgaben
- Typische Dauer zwischen 6 und 12 Monaten
- Geringer Freiheitsgrad (z. B. in Bezug auf Kosten und Daten)
- Das Zeit- und Kostenrisiko ist sehr hoch und für komplexe und innovative Projektty-
pen schwer zu messen
- Oft sind viele Mitarbeiter aus verschiedenen Abteilungen beteiligt: Wettbewerb um
Ressourcen innerhalb des Unternehmens
- Ständig wechselnde Technologie
- Integration von Schnittstellen zu anderen Informationssystemen
- Berücksichtigung bestehender Legacy-Systeme

Klassische ICT Projekte


- Entwicklung kundenspezifischer Informationssysteme
- Auswahl, Konfiguration und Einführung von Standardsoftware (z. B. ERP-Systeme
oder Sicherheitssoftware)
- Planung und Installation der ICT-Infrastruktur
- ICT-Projekte zur Optimierung von Geschäftsprozessen
- Auslagerung von ICT-Diensten oder Teilen der ICT-Infrastruktur

33
PWIN WS 20/21 - Zusammenfassung

Kritische Erfolgsfaktoren für ICT Projekte


- Klar definierte Ziele und Strategien
- Kompetente und motivierte Projektmitglieder
- Engagement von Führungskräften des Unternehmens
- Effiziente Governance
- Realistische Zeit- und Ressourcenplanung
- Integration der Endbenutzer in den Entwicklungsprozess
- Risikomanagement
- Effizientes Softwareentwicklungssystem und Infrastruktur

Fehlgeschlagene ICT Projekte


- Ariane 5 Rakete – Designfehler in der Steuerungssoftware
- Deutsche Bank IT-Outsourcing
- Lidl IT-Projekt

Konsequenzen von schlechtem Projektmanagement


- Budgetüberschreitungen
- Projektdauer überschritten
- Technische Unzulänglichkeiten, die die Leistung des Informationssystems verrin-
gern
- Geplanter Nutzen des Informationssystems nicht erreicht

Warum scheitern Projekte?


- Schlechte Projektplanung
- Vage Ziele
- Unzureichende / unvollständige Anforderungen
- Unzureichendes Management in Bereichen wie Risiko, Umfang oder Qualität
- Unangemessene Methoden
- Ressourcenmangel
- Unrealistische Erwartungen

Magisches Dreieck des Projektmanagements

34
PWIN WS 20/21 - Zusammenfassung

Management von ICT Projekten

Projektmanagement-Aufgaben (Tasks)
- Einleitung der Entscheidung zur Durchführung des Projekts
- Organisation des Projekts
- Planung von Leistung, Daten, Ressourcen, Kosten, Finanzen und Budget
- Zuordnung von Aufgaben, Kompetenzen und Verantwortlichkeiten
- Teambildung
- Personalmanagement
- Führung
- Externe Koordination und Kommunikation
- Dokumentation und Berichterstattung
- Kontrolle der Projektaktivitäten: Einhaltung von Fristen, Kostenkontrolle, Budget-
kontrolle
- Projektabschluss

Projektteam

35
PWIN WS 20/21 - Zusammenfassung

Organisationstypen des Projektteams


Je nach Projekttyp können verschiedene Organisationstypen für das Projekt ausgewählt
werden:
Matrix Organisation
- Teammitglieder werden nur für die Zeit an das Projektteam delegiert, die sie für das
Projekt benötigen
Reine Projektorganisation
- Die Teammitglieder werden für die gesamte Projektdauer an das Projektteam über-
tragen und kehren am Ende des Projekts in ihre Abteilung zurück
Projektlabororganisation
- Mischung der oben genannten Organisationsformen: Teammitglieder der ICT-Ab-
teilung sind permanent dem Projekt zugeordnet, während Teammitglieder aus an-
deren Abteilungen dem Projekt nur vorübergehend beitreten

Projektleitung
Mögliche Projektleiterkonstellationen:
- Projektleiter auf Benutzerseite
- Projektleiter auf Entwicklerseite
- Geteilte Projektleitung zwischen Benutzer / Entwickler
- Projektleitung durch externe Berater

Projektmanager Fähigkeiten
Grundkompetenz:
- Management
- Führung
- Analytisches Denken
Sozialkompetenz:
- Soziales Bewusstsein
- Kommunikation
- Motivation
Organisationskompetenz:
- Selbstorganisation
- Berichterstattung
- Dokumentation
Methodische Kompetenz:
- Zeitplan- und Prozessmanagement
- Verwaltung von Ressourcen
- Kostenkontrolle
- Kontrolle der Projektaktivitäten
- Projektkoordination

36
PWIN WS 20/21 - Zusammenfassung

- Interne und externe Kommunikation


- Berichterstattung
- Risikomanagement

Hauptfunktionen eines Projektmanagers


- Identifiziert relevante Stakeholder und Führungskräfte (Entscheidungsträger: Kun-
den, Mutterorganisationen, Projektteam, Öffentlichkeit)
- Definiert den Projektumfang
- Bewertet die Projektanforderungen
- Entwickelt eine detaillierte Aufgabenliste (Aufgabenaufschlüsselung, Projektstruktu-
ren)
- Entwickelt ein erstes Flussdiagramm für das Projektmanagement
- Schätzt den Zeitbedarf
- Erzeugt eine Kostenschätzung und eine Budgetübersicht
- Identifiziert und ordnet die erforderlichen Ressourcen zu
- Bewertet Risiken

Projektrisiko
- Wenn Sie die Risiken in Ihrem Projekt nicht aktiv angreifen, werden Sie aktiv ange-
griffen
- Risiko = maximale Verlustmenge * Eintrittswahrscheinlichkeit
Projektplanung

SMART-Projektziele (Projektplanung)
Spezifisch:
- Gewünschte Ziele sollten festlegen, was erreicht werden soll, und quantitative Ziel-
werte für das Endprodukt enthalten
Messbar:
- Sie sollten messen können, ob die Ziele erreicht wurden oder nicht

37
PWIN WS 20/21 - Zusammenfassung

Erreichbar:
- Das gewünschte Ziel muss eines sein, das tatsächlich innerhalb der vorgegebenen
Zeit- und Kostenparameter erreicht werden kann
Relevant:
- Das gewünschte Ziel sollte sich direkt auf die Geschäftsanforderungen und die er-
klärte Mission der Organisation beziehen
Zeitgebunden:
- Die Grenzen für das Abschlussdatum des gewünschten Ziels sollten entweder ein
bestimmtes Datum oder eine bestimmte Zeit sein

Beispiel Insta-Match
Spezifisch:
- Verbesserung der Qualität des persönlichen Profilabgleichs
- Reduzierung der Berechnungszeit für den Profilabgleich
Messbar:
- Anzahl der übereinstimmenden Anforderungen pro durchgeführtem Datum
- Reduzieren Sie die Berechnungszeit für den Abgleich der persönlichen Profile
Erreichbar:
- Fünf übereinstimmende Anfragen pro Ausführungsdatum
- Reduzieren Sie die Berechnungszeit für die persönlichen Profile auf 3 ms
Relevant:
- Der persönliche Profilabgleich bildet die Kernfunktionalität des InstaMatch-Systems
Zeitgebunden:
- ielerreichung bis Ende 2020

38
PWIN WS 20/21 - Zusammenfassung

Allgemeines Prozessmodell (Beispiel)

Projektplan
- Der Projektzeitplan ist ein Kalender, der die auszuführenden Aufgaben mit den Res-
sourcen verknüpft, die den Aufgaben zugewiesen sind
- Bevor ein Projektplan erstellt werden kann, müssen dem Projektmanager die Ar-
beitsstrukturplan (PSP), die Aufwandsschätzung für jede Aufgabe und die Ressour-
cenliste mit Verfügbarkeit für jede Ressource zur Verfügung stehen
Erstellung eines Projektplans:
- Identifizierung der zeitlichen und logischen Abfolge von Aufgaben
- Überprüfung, welche Pakete parallel oder nacheinander verarbeitet werden können
- Planung einzelner Arbeitspakete
Techniken zum Erstellen eines Projektplans:
- Gantt-Diagramme
- Netzwerkanalyse – Netzwerkpläne (für komplexere Projekte)

39
PWIN WS 20/21 - Zusammenfassung

Netzwerkplan

40
PWIN WS 20/21 - Zusammenfassung

Projektstrukturplan

- Aufschlüsselung des Projekts in Teilprojekte und Arbeitspakete (WP)


- Wenn der resultierende Projektstrukturplan Aufwand und Verantwortlichkeiten ent-
hält, wird er als Projektstrukturplan (PSP) bezeichnet
Projektaufwandsschätzung
- Die Aufwandsschätzung bezeichnet den Prozess der Ermittlung des Gesamtauf-
wands für das Projekt, seine Teilprojekte und Arbeitspakete. Es ist Teil der Planung
und Steuerung von Aufgaben
- Der Aufwand wird normalerweise in "Mann" - oder "Person" -Tagen gemessen. Ein
"Mann" - oder "Person" -Tag ist die Arbeitskapazität eines durchschnittlichen Mitar-
beiters, die erforderlich ist, um bestimmte Aufgaben an einem Tag zu erledigen
ICT Projekte unterscheiden sich im Allgemeinen stark in Bezug auf:
- Projektziele
- Projektdauer
- Komplexität
- Angewendete Technologie
Der Aufwand für IKT-Projekte kann kaum berechnet werden, muss aber geschätzt werden

Methoden zur Projektaufwandsschätzung


Produktivitätsmethode
- Die Berechnung basiert auf abgeschlossenen Projekten
- z. B. Schätzung über "Codezeilen" von Software
Analogiemethode
- Vergleich abgeschlossener Projekte anhand definierter Kriterien
- z. B. Schnittstellen, Anzahl der Module, Programmstruktur usw.

41
PWIN WS 20/21 - Zusammenfassung

Top-Down-Methode
- Zerlegung des Projekts in kleinere Teile, bis eine realistische Schätzung durchge-
führt werden kann
Bottom-up-Methode
- Projektion des Gesamtaufwands basierend auf dem Aufwand für den repräsentati-
ven Teil des Projekts

Projektkosten
Entwicklung eines individuellen Informationssystems (Beispiel):
- Hardwarekosten (direkt / indirekt)
- Softwarekosten (direkt / indirekt)
- Materialkosten (direkt / indirekt)
- Schulungskosten für Mitarbeiter
- Projekt Personalkosten
- Die Personalkosten werden in der Regel berechnet, indem die geschätzten Perso-
nentage / -monate mit den Kostensätzen der entsprechenden Projektteilnehmer
multipliziert werden

Qualitätsmanagement

- Das Qualitätsmanagement soll sicherstellen, dass das Projekt seine beabsichtigten


Ziele erreicht
- Unterscheidung zwischen Produkt- und Produktionsqualität
Produktqualität:
- Anforderungen an das Produkt selbst
- Das Softwareprodukt erfüllt die angegebenen Anforderungen
Produktionsqualität:
- Anforderungen an den Entwicklungsprozess des Produkts
- Das Softwareprodukt wird pünktlich erstellt, Kosten und Anforderungen (d. H. Pro-
duktqualität) wurden erfüllt

42
PWIN WS 20/21 - Zusammenfassung

Produktionsqualität
Beispiel: ISO 9000-Standards
- Rahmen für die Gestaltung des Qualitätsmanagements
- Allgemeiner Anforderungskatalog
Wird häufig verwendet, um Unternehmen hinsichtlich ihrer Qualitätssicherung zu zertifizie-
ren:
- Es ist zertifiziert, dass das Unternehmen die Vorschriften der ISO 9000 einhält
- Es ist NICHT zertifiziert, wie die Vorschriften umgesetzt werden

Softwarequalität
- Funktionalität: Bestimmte Funktionen sind in der Software enthalten
- Robustheit: Software ist stabil und enthält Routinen zur Behandlung von Laufzeit-
fehlern
- Benutzerfreundlichkeit: Software ist einfach und intuitiv zu bedienen
- Effizienz: Software erfüllt ihren Zweck und verwendet nur die erforderlichen Res-
sourcen
- Skalierbarkeit: Software ist leicht anpassbar und kann an neue Anforderungen er-
weitert werden
- Portabilität: Software kann mit vertretbarem Aufwand auf eine andere Systemplatt-
form übertragen werden

43
PWIN WS 20/21 - Zusammenfassung

6 ICS Entwicklung 1 – Softwareentwicklung

6.1 Einführung in Softwareentwicklung


Was ist Software?
- Computerprogramme und zugehörige Dokumentation
- Software wird für bestimmte Kunden (individuelle Software) oder für den allgemei-
nen Markt (Standardsoftware) entwickelt

Was sind Attribute guter Software?


- Gute Software soll dem Benutzer die erforderliche Funktionalität und Leistung bie-
ten und muss wartbar, zuverlässig und benutzerfreundlich sein

Wer benötigt Software?


- Die meiste in Organisationen verwendete Software wurde für Personen mit spezifi-
schen Anforderungen entwickelt
- Ein Stakeholder ist jeder, der Interesse (oder einen Anteil) an der Software hat
- Ein Benutzer ist jemand, der Software verwendet, um Aufgaben auszuführen
- Manchmal sind Stakeholder Benutzer, meistens verwenden Stakeholder jedoch
keine Software
Beispielsweise ist ein Senior Manager (z. B. CEO oder CTO im Unternehmen) normaler-
weise an Software beteiligt, die erstellt werden soll, selbst wenn er diese niemals verwen-
den wird

Wer baut Software?


Software wird normalerweise von einem Team von Software-Ingenieuren erstellt, darunter:
- Geschäftsanalysten oder Anforderungsanalysten, die durch Befragung von Benut-
zern und Stakeholdern Anforderungen an Software erfassen
- Designer und Architekten, die technische Architektur und Softwaresysteme planen,
entwerfen und modellieren
- Programmierer, die Code für Software schreiben
- Tester, die überprüfen, ob die Software ihren Anforderungen entspricht und sich wie
erwartet verhält

Warum scheitern Softwareentwicklungsprojekte?


- Die Leute beginnen zu programmieren, bevor sie das Problem verstehen
- Das Team hat eine unrealistische Vorstellung davon, wie viel Arbeit damit verbun-
den ist
- Fehler werden früh injiziert, aber spät entdeckt
- Manager versuchen, die Qualität von Software zu „testen“

44
PWIN WS 20/21 - Zusammenfassung

Wie kann sichergestellt werden, dass Softwareprojekte erfolgreich sind?


Anwendung von „Good Engineering Practices“:
- Technische Praktiken wie Aufwandsschätzung, kontinuierliche Überprüfungen, An-
forderungserfassung und Tests
- Grund für die Anwendung dieser Praktiken ist, Zeit zu sparen und die Softwarequa-
lität zu verbessern, indem genau geplant und Fehler frühzeitig aufgedeckt werden
- Wenn diese Praktiken nicht angewendet werden, wird die Entwicklungszeit verlän-
gert und gleichzeitig die Softwarequalität verringert

Softwareentwicklung (Software Engineering)


- Software Engineering (SE) ist eine Disziplin, die sich mit allen Aspekten der Soft-
wareproduktion von frühen Phasen der Systemspezifikation und des Systemde-
signs bis hin zur Einführung und Systemwartung befasst
- Engineering bedeutet, geeignete Theorien und Methoden anzuwenden, um Prob-
leme zu lösen und dabei organisatorische und finanzielle Zwänge zu berücksichti-
gen
Softwareentwicklung deckt alle Aspekte der Softwareproduktion ab:
- Technischer Entwicklungsprozess (Hauptaufgabe)
- Projektmanagement, Entwicklung von Tools, Methoden usw. zur Unterstützung der
Softwareproduktion (unterstützende Aufgaben)

Ziele von Softwareentwicklung


- Entwicklung von Software nach festgelegten Qualitätsstandards
- Vermeidung katastrophaler Zeitverzögerungen und Überschreitung des Budgets
- Berücksichtigung sich ändernder Anforderungen unter Einhaltung von Budget und
Fristen

Softwareprojektplanung

45
PWIN WS 20/21 - Zusammenfassung

Vision und Scope-Dokument


- Eines der wichtigsten Werkzeuge des Projektmanagers
- Ermöglicht es Stakeholdern und Entwicklern, ein gemeinsames Verständnis der Be-
dürfnisse und Bedürfnisse von Software zu teilen
Typische Dokumentskizze:
Problemstellung
- Projekthintergrund
- Interessengruppen
- Benutzer
- Risiken
Vision der Lösung
- Vision Statement
- Liste der Funktionen
- Umfang der schrittweisen Freigabe
- Funktionen, die nicht entwickelt werden

Software Projektplan
Wird von vielen Personen in der Organisation verwendet:
- Projektmanager: Kommunikation des Projektstatus an die Stakeholder, Planung der
Teamaktivitäten
- Teammitglieder: Den Kontext ihrer Arbeit verstehen
- Senior Manager: Überprüfung, ob Kosten und Zeitplan unter Kontrolle sind
- Stakeholder: Sicherstellen, dass das Projekt auf dem richtigen Weg ist
Der Projektplan besteht aus:
- Arbeitserklärung (SOW): Beschreibt die Liste der zu entwickelnden Funktionen und
den erforderlichen geschätzten Aufwand
- Ressourcenliste: Liste aller für das Projekt erforderlichen Ressourcen
- Projektstrukturplan: Liste der erforderlichen Aufgaben zur Entwicklung von Software
- Projektplan: Zuordnung von Ressourcen und Kalenderzeit zur gewünschten Auf-
gabe
- Risikoplan: Risiken, die das Projekt bedrohen könnten, und potenzielle Mittel zur
Minderung dieser Risiken

46
PWIN WS 20/21 - Zusammenfassung

Entwicklung des Projektplans


- Ordnen Sie der Aufgabe Ressourcen zu
- Identifizieren Sie Abhängigkeiten zwischen Aufgaben

- Zeitplan erstellen

Projekt Zeitplanung (Schedule)


Bekannt:
- Erforderlicher Aufwand
- Zugewiesene Ressourcen
- Verhältnis der Aktivitäten (EA, AA, EE, Überlappungen)
- Planung
Vorwärtsberechnung
- Der früheste Startplan (ES) des Projekts wird festgelegt
- Der früheste Abschlussplan (EF) des Projekts kann aus ES, Dauer der Aktivitäten
und Beziehung der Aktivitäten berechnet werden
Rückwärtsberechnung
- Der Endzeitplan des Projekts wird festgelegt

47
PWIN WS 20/21 - Zusammenfassung

- Der letzte Startplan (LS) kann aus EF, Dauer der Aktivitäten und Beziehung der
Aktivitäten berechnet werden

Lockerer und kritischer Weg


Nachlassen der Aktivität:
- Total Slack: Zulässige Verzögerung der Aktivität ohne Verletzung der Projektfrist
- Free Slack: Eine langsame Verzögerung der Aktivität, die keinen Einfluss auf den
frühesten Beginn der Nachfolgeraktivität hat
Kritische Aktivität: Aktivität ohne Durchhang
Kritischer Pfad: Pfad innerhalb des Netzwerkplans, der nur kritische Aktivitäten enthält

Risikoplan
- Der Risikoplan ist eine Liste aller Risiken, die das Projekt bedrohen, sowie der Plan,
einige oder alle dieser Risiken zu mindern
Erstellen eines Risikoplans
- Brainstorming potenzieller Risiken
- Schätzen Sie die Auswirkungen jedes Risikos
- Minderungsplan erstellen

6.2 Überblick über den Softwareentwicklungsprozess


Vielfalt der Software-Engineering-Ansätze
Es gibt viele verschiedene Arten von Software und es gibt keinen universellen Satz von SE-
Methoden, der auf alle diese anwendbar ist
Die Arten der anzuwendenden Methoden und Werkzeuge des Software-Engineerings hän-
gen davon ab:
- Art der zu entwickelnden Anwendung
- Anforderungen des Kunden
- Hintergrund des Entwicklungsteams
Beispiele für verschiedene Softwareprojekte:
- Hinzufügen neuer Funktionen zum ERP-Produktionssystem
- Entwicklung proprietärer Standardsoftware (z. B. Office Suite)
- Aufbau einer Website

48
PWIN WS 20/21 - Zusammenfassung

Software-Engineering-Prozess
- Der Software Engineering-Prozess besteht aus strukturierten Aktivitäten zur Ent-
wicklung von Software
Gemeinsamkeiten von Software-Engineering Prozessen:
- Anforderungsspezifikation: Definition des Verhaltens von Software
- Design und Implementierung: Entwerfen (z. B. Modellieren) und Implementieren (z.
B. Programmieren / Codieren) von Software
- Validierung: Bewertung der Funktionen von Software anhand spezifizierter Anforde-
rungen
- Evolution: Software an veränderte Kundenbedürfnisse anpassen

Software-Engineering-Prozess – Anforderungsspezifikation
Software Anforderungen:
- Die Softwareanforderungen legen das gewünschte Verhalten der Software fest
- Geschäftsanalysten generieren Softwareanforderungsspezifikationen
- Interviews mit Benutzern, Stakeholdern und anderen Personen, deren Perspektive
berücksichtigt werden muss
- Beobachtung der Benutzer bei der Arbeit
- Prototyping von Software
- Gesammelte Erkenntnisse werden zusammengefasst und an Benutzer / Stakehol-
der zurückgesendet, um sicherzustellen, dass alle ein gemeinsames Verständnis
über sie haben
- Softwareanforderungen sollten in der Spezifikation der Softwareanforderungen do-
kumentiert werden, die dem entsprechenden IEEE-Standard entspricht
Anwendungsfälle:
- Beschreibung einer bestimmten Interaktion, die der Benutzer möglicherweise mit
Software hat
- Sind einfache Mittel zur Beschreibung der Funktionalität von Software
- Beschreiben keine internen Funktionsweise von Software oder erklären sie wie Soft-
ware implementiert wird

Funktionale und nicht funktionale Anforderungen


Funktionale Anforderungen definieren das explizit wahrnehmbare Verhalten von Software:
- Anmeldung
- Berechnungen
- Einstellmöglichkeiten
- Funktionen (z.B. Anzeige von Kundeninformationen)
Nicht funktionale Anforderungen definieren Merkmale von Software, die ihr Verhalten nicht
beeinflussen (Softwarequalitätsattribute):
- Benutzerfreundlichkeit
- Performance
- Fehlerbehandlung

49
PWIN WS 20/21 - Zusammenfassung

Software-Engineering-Prozess - Design & Implementierung


- Vision und Scope dokumentieren die Anforderungen der Organisation
- Die Anforderungen legen das erforderliche Verhalten der Software fest, um diese
Anforderungen zu erfüllen
- Design legt fest, wie Softwareanforderungen technisch implementiert werden sollen

Software-Engineering-Prozess - Validierung
- Testfall gibt einen Benutzertest an, um das spezifische Softwareverhalten zu bewer-
ten
- Testfälle sind Anwendungsfällen sehr ähnlich, da sie schrittweise Anweisungen für
die Interaktion zwischen Benutzer und Software enthalten
- Testplan enthält eine organisierte Liste aller erforderlichen Testfälle, die ausgeführt
werden müssen, um die Funktionalität der Software anhand der angegebenen An-
forderungen zu bewerten
Ein typischer Testfall ist in einer Tabelle aufgeführt und umfasst:
- Eindeutiger Name und Nummer
- Kurze Beschreibung des Testfalls
- Voraussetzungen, die den Zustand der Software vor dem Testfall beschreiben
- Schritte, die die Interaktion während des Tests ausmachen
- Erwartete Ergebnisse, die den erwarteten Status der Software nach Durchlaufen
des Testfalls beschreiben

Software-Engineering-Prozess – Evolution
- Die Änderungskontrolle ist eine Methode, um nur die Änderungen zu implementie-
ren, die es wert sind, verfolgt zu werden
- Verhindern, dass durch unnötige oder übermäßig kostspielige Änderungen das Pro-
jekt entgleist
Change Control Board einrichten:
- Projektmanager
- Wichtige Stakeholder
- Designer, Programmierer, Tester
- Das Change Control Board entscheidet, welche der angeforderten Änderungen tat-
sächlich umgesetzt werden

50
PWIN WS 20/21 - Zusammenfassung

6.3 Softwareentwicklungsprozessmodelle
Plangesteuerte vs. agile Softwareentwicklung
- Plangesteuerte SE besteht aus Prozessen, in denen alle Aktivitäten im Voraus ge-
plant wurden und der Fortschritt anhand dieses Plans gemessen wird
- In agilen Prozessen erfolgt die Planung inkrementell und es ist einfacher, den Pro-
zess zu ändern, um sich ändernden Kundenanforderungen Rechnung zu tragen
- In der Praxis umfassen die meisten praktischen Prozesse Elemente sowohl plange-
steuerter als auch agiler Ansätze

Modelle für Softwareentwicklungsprozesse


- Beschreiben den Entwicklungsprozess, indem Sie Prozessschritte und Ergebnisse
definieren
- Definieren Prinzipien, Methoden und Werkzeuge für den Entwicklungsprozess
- Festlegen der chronologischen Reihenfolge für die Planung, Entwicklung und
Durchführung von Projekten

Klassifikation von Prozessmodellen


Sequentielles Modell:
- Aufeinanderfolgende Phasen mit zunehmender Granularität und Meilensteinen als
Ergebnis von Phasen
Modifizierte sequentielle Modelle:
- Phasen werden mit zunehmender Granularität und Meilensteinen als Ergebnis von
Phasen verschachtelt
Evolutionsmodelle
- Keine Phasen mit definierten Ergebnissen. Stattdessen iterative Zyklen von „De-
sign, Implementierung und Validierung“
Agile Modelle
- Nur allgemeiner Ansatzrahmen, wenige Regeln, sehr flexible, dynamische Phasen

Klassifikation von Prozessmodellen – Sequentielles Modell


- Wasserfallmodell

51
PWIN WS 20/21 - Zusammenfassung

- Nach jeder Phase werden ein oder mehrere Dokumente erstellt, für die man sich
abmelden muss.
Wichtige Aspekte:
- „Wasser fließt nicht hoch“ Es ist schwierig, das in der vorherigen Phase erzeugte
Artefakt zu ändern
- Der Ansatz sollte nur verwendet werden, wenn die Anforderungen klar und gut ver-
standen sind
- Reflektiert die traditionelle Ingenieurpraxis
- Einfacher Managementansatz

V-Modell

- Ähnlich dem reinen Wasserfallmodell, macht jedoch die Abhängigkeiten zwischen


Entwicklungs- und Verifizierungsaktivitäten deutlich
- Die linke Hälfte des V steht für die Entwicklung und die rechte Seite für die Validie-
rung des Systems
- Die Anforderungsspezifikation umfasst die Ermittlung und Analyse von Anforderun-
gen

52
PWIN WS 20/21 - Zusammenfassung

Klassifikation von Prozessmodellen – Evolutionsmodelle

Basiskonzept:
- Entwickeln Sie die erste Implementierung, demonstrieren Sie sie dem Benutzer, er-
halten Sie Feedback und verfeinern Sie sie, bis ein angemessenes System erstellt
wurde
Zwei Arten von Evolutionsmodellen:
- Erkundung
- Prototypen verwerfen
Vorteile:
- Schätzungen für Budget, Zeitplan usw. werden mit fortschreitender Arbeit realisti-
scher
Nachteile:
- Erfordert Fachwissen in Bezug auf Risikobewertung und -minderung
- Nur für große Systeme geeignet

53
PWIN WS 20/21 - Zusammenfassung

Klassifikation von Prozessmodellen – Agile Modelle


Eigenschaften:
- Nur allgemeiner Entwicklungsrahmen
- Starke Integration und Interaktion mit dem Kunden während des Entwicklungspro-
zesses
- Kurze Entwicklungszyklen (z. B. 6 bis 8 Wochen)
- Kontinuierliche Änderung der Projektspezifikationen / -anforderungen
- Direkte und informelle Kommunikation zwischen den Projektteilnehmern
- Kleine Dokumentation
- Erfordert viel Disziplin aller Teilnehmer
- Beispiele: eXtreme Programming, SCRUM, Feature Driven Development
Unter folgenden Umständen anzuwenden:
- Die technischen Daten sind unsicher und unterliegen ständigen Änderungen
- Innovative Projekte

54
PWIN WS 20/21 - Zusammenfassung

7 ICS Entwicklung 2 – Objektorientierung &


UML

7.1 Objektorientierter Ansatz


Idee der Objektorientierung
- Objektorientierung sieht Dinge, die Teil der realen Welt sind
- Objektorientierungsmodelle repräsentieren nur relevante aspekte realer Dinge
- Objekte speichern ihre Daten selbst und kapseln sie zum Schutz vor anderen Ob-
jekten

Objektorientierte Softwareentwicklung
- Betrachtung von Software als Sammlung interagierender Objekte, die zusammen-
arbeiten, um Aufgaben zu erfüllen
- Objekte im Computersystem, die auf Nachrichten reagieren können
- Konzeptionell sind keine Prozesse, Programme, Datenentitäten oder Dateien defi-
niert, sondern nur Objekte

Objektorientierte Elemente
Klassen
- Klassen sind Vorlagen für Objekte. Sie enthalt Variablen, Konstanten und Methoden
Objekte
- Objekte sind Instanzen von Klassen, die zur Laufzeit vorhanden sind
- Mehrere Objekte können aus einer Klasse instanziiert werden
Verbände
- Beziehung zwischen Klassen oder Objekten
Instanziierung
- Erstellung von Objekten gemäß Klassenvorlage zur Laufzeit

55
PWIN WS 20/21 - Zusammenfassung

Objektorientierte Konzepte
Verkapselung
- Daten werden im Objekt gespeichert und können nur über die angebotenen Metho-
den abgerufen werden

Vererbung
- Klassen können Attribute oder Methoden von anderen Klassen erben
- Die vererbende Klasse wird als "Superklasse" oder "Elternklasse" bezeichnet
- Die erbende Klasse wird als "Unterklasse" bezeichnet

Mitteilungen
- Die Nachricht wird an das Objekt gesendet, um es anzuweisen, die Methode aufzu-
rufen

56
PWIN WS 20/21 - Zusammenfassung

Polymorphismus
- Wenn eine Nachricht an Objekte verschiedener Klassen gesendet wird, geben diese
Objekte unterschiedliche Ergebnisse zurück, da die aufgerufene Methode für jedes
Objekt unterschiedlich implementiert werden kann
- Beispiel: Die Nachricht "Drucken" wird an die Objekte "Adressliste" und "Adressliste"
gesendet

Objektorientierte Terminologie und Konzepte


- Objektorientierte Analyse (OOA)
- Objektorientiertes Design (OOD)
- Objektorientierte Programmierung (OOP)

Objektorientierte Analyse (OOA)


- OOA beschreibt das System als eine Gruppe interagierender Objekte, die ein kon-
zeptionelles Modell innerhalb der Problemdomäne generieren
- Dies führt zu einer Beschreibung des Verhaltens von Software
- Das konzeptionelle Modell beschreibt keine Implementierungsdetails. Diese werden
in der Entwurfsphase entwickelt

Objektorientiertes Design (OOD)


- Nimmt das durch objektorientierte Analyse generierte konzeptionelle Modell als Ein-
gabe
- Verfeinert jeden zu implementierenden Objekttyp mit einer bestimmten Sprache ent-
sprechend seinem Umgebungskontext
- Berücksichtigt ausgewählte architektonische, technologische und ökologische Ein-
schränkungen
- Typische Ausgabe: Klassendiagramm

Objektorientierte Programmierung (OOP)


- OOP ist ein Programmierparadigma für Software
- Im Mittelpunkt steht das Konzept der „Objekte“, die aus Datenstrukturen und Metho-
den bestehen
- Es werden die Ergebnisse von OOD als Eingabe verwendet
- Objektorientierte-Sprachen: Java, C ++, C # .NET, VB.NET

57
PWIN WS 20/21 - Zusammenfassung

Objektorientierter Entwicklungsprozess
1. Objektorientierte Analyse (OOA)
2. Objektorientiertes Design (OOD)
3. Objektorientierte Programmierung (OOP)
4. Objektorientierte Software

7.2 Vereinheitlichte Modellierungssprache (UML)


Vereinheitlichte Modellierungssprache (UML)
- Modellierungssprache, 1996 von Booch, Jacobson und Rumbaugh entwickelt
- Standard von OMG (Object Management Group)

Standardisierung…
- von verschiedenen objektorientierten Notationen und
- von Methoden durch alle Phasen der Softwareentwicklung
- durch Verwendung verschiedener Modelltypen (datenorientiert, Objektorientiert,
prozessorientiert usw.)

UML Konzept
- Unterstützt die Analyse und das Design objektorientierter Softwaresysteme
- UML enthält mehrere Ansichten im System
- Jede Ansicht spezifiziert und dokumentiert das System aus einer anderen Perspek-
tive
- Jede Ansicht wird von einem oder mehreren Diagrammen unterstützt
- UML ist kein Prozessmodell - UML definiert keinen Prozess zum Erstellen von UML-
Modellen

UML Struktur
Grundelemente
- Objektorientierte Notationselemente
- Zusätzliche Elemente zur Beschreibung des modellierten Systems (z. B. Aktivitäten,
Akteur usw.)
Diagramme
- Zusammensetzung der Notationselemente
- Repräsentiert bestimmte Ansichten auf dem System

58
PWIN WS 20/21 - Zusammenfassung

Komplettes Modell
- Das vollständige Modell basiert auf Grundelementen
- Unterschiedliche Ansichten des gesamten Modells nach verschiedenen Diagramm-
typen

UML Ansichten
- Anwendungsfallansicht
- Logische Ansicht
- Implementierungsansicht
- Prozessansicht
- Bereitstellungsansicht

59
PWIN WS 20/21 - Zusammenfassung

Anwendungsfallansicht
- Beschreibt die Funktionen des Systems auf hoher Ebene
- Wird von Stakeholdern, Designern, Entwicklern und Testern verwendet
- Dargestellt durch Anwendungsfalldiagramme
- Dient als Grundlage für andere Ansichten
Logische Ansicht
- Beschreibt die zu entwerfenden und zu implementierenden Funktionen
- Beschreibt statische und dynamische Aspekte des Systems
- Wird hauptsächlich von Designern und Entwicklern verwendet
- Dargestellt durch Klassendiagramme, Objektdiagramme (statische Ansicht), Zu-
standsdiagramme, Interaktions- und Aktivitätsdiagramme (dynamische Ansicht)
Implementierungsansicht
- Beschreibt die Organisation von Softwarekomponenten
- Es unterteilt logische Entitäten in tatsächliche Softwarekomponenten
- Dargestellt durch Komponentendiagramme
- Wird hauptsächlich von Entwicklern verwendet
Prozessansicht
- Beschreibt Prozesse im System
- Wird hauptsächlich von Entwicklern und Testern verwendet
- Dargestellt durch Zustands-, Interaktions- und Aktivitätsdiagramme
- Unterstützt die Parallelität und Behandlung von asynchronen Ereignissen
Bereitstellungsansicht
- Beschreibt die physische Architektur und die Zuordnung von Komponenten zu Ar-
chitekturelementen
- Wird hauptsächlich von Designern, Entwicklern und Managern verwendet
- Dargestellt durch Paket-, Komponenten- und Bereitstellungsdiagramme

UML Diagramme

60
PWIN WS 20/21 - Zusammenfassung

Anwendungsfalldiagramm
- Anwendungsfälle beschreiben die Funktionalität, die das System bereitstellen muss
- Die Summe aller „Anwendungsfälle“ umfasst die technischen Anforderungen des
Systems
- Anwendungsfälle definieren Schnittstellen zwischen Benutzer und System
- Die Spezifikation wird zusammen mit dem Kunden entwickelt
Anwendungsfalldiagramm – Notationselemente
- Anwendungsfall: Darstellung der Abfolge von Aktionen, die dem Akteur einen Wert
verleihen

- Benutzer des Systems

- Assoziation: Interaktion des Akteurs mit dem Anwendungsfall

- Generalisierung: Verallgemeinerung von Anwendungsfällen, UseCase2 verallge-


meinert das Verhalten von UseCase1

61
PWIN WS 20/21 - Zusammenfassung

- Erweitert: Erweitert den Anwendungsfall, UseCase2 erweitert UseCase1

- Beinhaltet: Einbeziehung des Anwendungsfalls, UseCase1 enthält das Verhalten


von UseCase2

Anwendungsfalldiagramm Beispiel

62
PWIN WS 20/21 - Zusammenfassung

Strukturdiagramme
Klassendiagramme
- Darstellung der statischen Struktur des Softwaresystems
- Beschreibung der logischen Beziehungen zwischen Strukturelementen
- Keine Aktivitäts- oder Steuerlogik
Objektdiagramme
- Instanzen des Klassendiagramms
- "Snapshot" des Systems zur Laufzeit

UML Klassen
- Klassen werden durch Rechtecke dargestellt, dazu gehören der Name der Klasse,
ihre Attribute und Methoden
- Der Klassenname ist im Singular und beginnt mit einem Großbuchstaben
- Attribute und Methoden werden durch horizontale Linien getrennt
- "+ / - ": Attribut / Methode ist öffentlich / privat

Klassenattribute
- Klassenattribute gehören zur Klasse, nicht zum Objekt
- Klassenattribute haben für alle Instanzen (Objekte) den gleichen Wert - Zum Bei-
spiel das Attribut "Number", um die Anzahl der erstellten Objekte für die Klasse zu
zählen
- Klassenattribute sind im Klassendiagramm unterstrichen
Klassenmethoden
- Klassenmethoden werden innerhalb einer Klasse ausgeführt, die kein Objekt ist
- Z.B. "Anzahl der erstellten Objekte der Klasse zählen"
- Die Klassenmethode ist im Klassendiagramm unterstrichen

Abstrakte Klassen
- Definition / Aggregation gemeinsamer Eigenschaften
- Mit der abstrakten Klasse können Objekte nicht instanziiert werden
- Vorlage zum Erstellen von Unterklassen
- Abstrakte Methoden werden standardmäßig "überschrieben"
- Der Name der abstrakten Klassen ist kursiv geschrieben

63
PWIN WS 20/21 - Zusammenfassung

Verbände (Associations)
- Beschreibt die Beziehung zwischen zwei Klassen
- Wird durch eine Linie dargestellt, die die beiden Klassen verbindet
- Die mit der Assoziation verbundene Multiplizität „min..max“ definiert die minimale
oder maximale Anzahl von Assoziationen zwischen Objekten zweier Klassen

Anhäufung: Bezeichnet den Fall „hat eine Beziehung“

Komposition: Zusammensetzung ist stärkere Variante von Anhäufung, Bezeichnet den Fall
„besitzt eine Beziehung“

64
PWIN WS 20/21 - Zusammenfassung

Vererbung
Bezeichnet die Beziehung zwischenübergeordnete Klasse und Unterklasse, Wird durch
eine Linie dargestellt mit einem leeren Pfeil am Ende, zeigend in Richtung der Elternklasse

- Nutzung: Code wiederverwenden, der bereits bei zuvor erstellten Objekten vor-
kommt

Instanziierung
- Darstellung der Beziehung „Klassenobjekt“
- Objekt ist eine Instanz der Klasse
Klasse:
- Attribute und Methoden
Objekte:
- Attributwerte
- Nachrichten

65
PWIN WS 20/21 - Zusammenfassung

Klassendiagramm (Beispiel)

Aktivitätsdiagramm
- Aktivitätsdiagramme werden verwendet, um Workflows im System zu modellieren
- Zentrales Element „Aktivität“: Aktivität ist jede Art von Aktion
- Die Aktivitäten sind nach Verantwortlichkeiten strukturiert
Verschiedene Ansichten:
- Konzeptionelle Ansicht (z.B. Arbeitsprozesse)
- Implementierungsansicht (z.B. Methoden von Objekten)
Notationselemente des Aktivitätsdiagramms

66
PWIN WS 20/21 - Zusammenfassung

Aktivitätsdiagramm (Beispiel)

67
PWIN WS 20/21 - Zusammenfassung

8 ICS Entwicklung 3 – Markup-Sprachen

8.1 Von HTML zu XML


Übersicht über HTML
- HTML ist eine Auszeichnungssprache zum Beschreiben, Strukturieren und Präsen-
tieren von Inhalten wie Text, Bildern, Videos, Hyperlinks, usw.
- Entwickelt von W3C, aktuelle Version 5.2
- Früher hauptsächlich zur Bereitstellung und Präsentation statischer Inhalte von
Dienstleistern (Nachrichtenanbieter, Unternehmen, Regierung, persönliche Web-
sites usw.)

HTML Beispiel

Probleme von HTML


Hypertext Markup Language (HTML) ist eine sehr einfache Beschreibungssprache für In-
halte:
- Kaum semantische Beschreibungen für Inhalte
- Es existieren hauptsächlich Struktur- und Layoutinformationen wie Abschnitte,
Überschriften, Listen usw.

Metasprachen
- Das Beschreiben von Daten erfordert eine formale Auszeichnungssprache (beste-
hend aus Vokabeln und Grammatikregeln)
- HTML ist eine formale Auszeichnungssprache, zielt jedoch darauf ab, Daten zu
strukturieren und darzustellen, anstatt sie zu beschreiben
- Die Sprache, die Daten beschreibt, muss immer domänenspezifisch sein (z. B.
Recht vs. Wirtschaft; Geschäft vs. Privat). Folglich, Meta (Markup) Sprache ist er-
forderlich

68
PWIN WS 20/21 - Zusammenfassung

- Die Metasprache bietet Vokabular- und Grammatikregeln für die Angabe anwen-
dungsdomänenspezifischer Sprachen (ohne eine bestimmte Sprache für sich zu
sein)

Markup-Sprachgeschichte
Entwicklung von Markup-Sprachen zur Datenbeschreibung:
- GML (1969): Generalized Markup Language von IBM
- SGML (1986): Standard Generalized Markup Language als Norm ISO 8879 für den
Datenaustausch und die Speicherung
- HTML (1994): Definition von Version 2 als SGML-Dialekt
- XML (1998): Verknüpft HTML mit dem Anspruch von SGML: Extensible Markup
Language
- XHTML (2000): HTML basierend auf XML
- HTML 5 (2014): Neudefinition von HTML zum Surfen ohne Plugins

Standard Generalized Markup Languages (SGML)


Grundidee aller Standard Generalized Markup Sprachen (SGMLs):
- Erstellen Sie verarbeitbare Dokumente, indem Sie Informationen zu Struktur und
Inhalt hinzufügen
- System- und herstellerunabhängigen Standard festlegen
- Separate Struktur, Inhalt und Präsentation des Dokuments
- Metasprache, aus der konkrete Sprachen (z. B. HTML) angegeben werden können
Beliebte SGML-Dialekte:
- LaTeX
- Postscript

69
PWIN WS 20/21 - Zusammenfassung

Extensible Markup Language (XML)


- Leichte Teilmenge von SGML, die nur die wichtigsten Sprachfunktionen enthält
- Standardisiert
- Selbstbeschreibend dank enthaltener Metainformationen
- Erweiterbar mit neuen Elementen -> Erstellung anwendungsspezifischer Modelle
- Geeignet zur Datenspeicherung
- Einfach und leicht für Menschen zu lesen (nicht binär)

SGML, XML, HTML und XHTML

Relevante XML-Begriffe
DTD:
- Die Dokumenttypdefinition beschreibt die Struktur eines XML-Dokuments und defi-
niert dessen Grammatik
XML-Schema:
- Alternativer Ansatz zur DTD mit zusätzlichen Funktionen
Parser:
- Übersetzt XML-Dokumente in den Dokumentbaum, während Elemente für Anwen-
dungen zugänglich gemacht werden
Stylesheet:
- Layoutinformationen zum Rendern des Inhalts der XML-Dokumente
Stylesheet-Prozessor:
- Implementiert Stilinformationen und generiert Ergebnisseiten

70
PWIN WS 20/21 - Zusammenfassung

Verarbeitung und Verwendung von XML-Dokumenten

Allgemeine XML-Anwendungen
- Datenaustausch zwischen verschiedenen Anwendungskomponenten (z. B. Micro-
soft Excel / Access)
- Speicherung von Anwendungsdaten in einfachen, nicht binären Textdateien (z. B.
Microsoft Word-Format)
- Benutzergenerierte Inhalte (z. B. Google Maps-Ebenen)
- Zugriff auf Dienste und Anwendungen über das Internet (z. B. Webdienst-APIs)
Weiterentwicklung des elektronischen Datenaustauschs (EDI):
- Transaktionen zwischen Banken
- Hersteller und Lieferanten, die Produktdaten austauschen

71
PWIN WS 20/21 - Zusammenfassung

8.2 XML Konzepte


XML-Dokumentenstruktur
- Der Prolog enthält eine XML-Version und Informationen zur verwendeten Zei-
chenkodierung
- „Body“ enthält Daten

Beispiel: Dates mit XML managen

XML-Syntax
- XML erwartet geschlossene Elemente!
- <Name> ist ein Tag
- Syntax: <StartTag>content</EndTag>
- Start-Tags müssen End-Tags entsprechen und umgekehrt
Attribute sind im Start-Tag enthalten:
- <city residence=“first ““>Innsbruck</city>

72
PWIN WS 20/21 - Zusammenfassung

Element: Alles zwischen zwei Tags; beispielsweise


- <title> Complete Guide to DB2 </title>
- Können verschachtelt sein:
<book>
<title> Complete Guide to DB2 </title>
<author> Complete Guide to DB2 </author>
</book>
Leeres Element:
- <red></red>
Das XML-Dokument verfügt über ein eindeutiges Stammelement

Gut geformte XML-Dokumente


XML-Dokument ist gut geformt, wenn:
- Es enthält nur ordnungsgemäß codierte legale Unicode-Zeichen
- Keines von speziellen Syntaxzeichen wie "<" und "&" erscheint in Daten ungehindert
- Anfangs-, End- und leere Element-Tags, die Elemente begrenzen, sind korrekt ver-
schachtelt, während keine fehlen oder sich überlappen
- Element-Tags unterscheiden zwischen Groß- und Kleinschreibung. Anfangs- und
End-Tags müssen genau übereinstimmen
- Es gibt ein einzelnes "Wurzel" -Element, das alle anderen Elemente enthält

Falsche XML-Syntax
Diese Art von Verschachtlung ist nicht erlaubt:
<telephone>
<mobile>+4916008154712
<home>+4972138488551
</mobile></home>
</telephone>
Es kann nicht festgestellt werden, ob eine Nummer zu <mobile> oder <home> gehört
Wie in HTML werden einige Zeichen für die Syntax verwendet:

73
PWIN WS 20/21 - Zusammenfassung

XML-Dokumentbaum
- XML-Dokument-Tags können auch als Objekte in einer objektorientierten Daten-
bank oder einem objektorientierten Baum (Dokumentbaum) betrachtet werden

- Aufgrund der unterschiedlichen, baumartigen Struktur und Ähnlichkeit mit objektori-


entierten Systemen können Computer beim Lesen von XML-Dokumenten die Da-
tenstruktur eindeutig erkennen

XML-Dokumenttypdefinition (DTD)
- Die Dokumenttypdefinition (DTD) beschreibt die Struktur des Dokuments und defi-
niert die Grammatik für XML-Dokumente
- Vergleichbar mit Typ- oder Variablendeklaration in der Programmiersprache
- Die DTD definiert basierend darauf, welche Elemente und Referenzen im Dokument
erscheinen dürfen
- DTD deklariert auch Entitäten, die in XML-Dokumenten verwendet werden dürfen

Gültigkeit von XML-Dokumenten


- Ein XML-Dokument, das der DTD entspricht, heißt „gültig“
- Die Gültigkeit des XML-Dokuments kann automatisch von der Parser-Software be-
stimmt werden
- Mit diesem Konzept können Verbraucher von XML-Dokumenten (z. B. Softwarean-
wendungen) überprüfen, ob der Inhalt von XML-Dokumenten ihrem erwarteten Do-
kumentformat entspricht

74
PWIN WS 20/21 - Zusammenfassung

XML-Schemadefinition (XSD)
- Das XML-Schema ist eine Alternative zur DTD
Das XML-Schema beseitigt einige DTD-Schwachstellen, indem folgende Funktionen hin-
zugefügt werden:
- Bessere Inhaltsmodellierung für die Syntaxprüfung
- Reihenfolge und Verschachtelung sind konfigurierbar
- Konfigurierbare Wertränder
- Überprüfung der Elementdatentypen
- Bessere Definition der Kardinalitäten mit min. und max.
- Größere Auswahl an Datentypen analog zur Programmierung
- Sprachen und Datenbanken (z. B. Boolesche Zahl, Float, Datum, Uhrzeit usw.)

XML-Namespaces
- XML-Dokumente sind besonders nützlich, wenn Daten zwischen Anwendungen,
zwischen Benutzern oder sogar zwischen unabhängigen Unternehmen geteilt wer-
den
- Wie können Tag-Verwechslungen verhindert werden, wenn Daten aus verschiede-
nen Quellen mit identischen Tag-Namen zusammengeführt werden?
Idee: Universal Resource Identifier (URI), mit dem ein Namespace eingeführt werden kann,
der durch einen global eindeutigen Pfad definiert ist:

75
PWIN WS 20/21 - Zusammenfassung

8.3 Verarbeitung von XML Dokumenten


Verarbeitung von XML-Dokumenten
- Für die Verarbeitung von XML-Dokumenten ist ein Parser erforderlich
- Parser ist eine Software, die DTDs, Schemas und XML-Dokumente liest und der
Anwendung den Zugriff auf alle XML-Dokumentelemente ermöglicht
Allgemeiner Analyseprozess:
- Die Anwendung (z. B. Microsoft Word) öffnet ein XML-Dokument
- Parser liest XML-Dokument und entsprechende DTDs, Schemata
- Der Parser prüft, ob das XML-Dokument wohlgeformt und gültig ist
- Parser bietet eine Anwendungsoberfläche mit Funktionen wie "ListElements ()"
- Die Anwendung greift über verfügbare Schnittstellen auf Elemente eines XML-Do-
kuments zu und verarbeitet empfangene Daten
- Eine Anwendung speichert modifiziertes / aktualisiertes XML-Dokument

XML-Dokumentparser
Es gibt zwei Arten von Parsern:
- Dokumentobjektmodell (DOM)
- Einfache API für XML (SAX)
Beschreibung:
- Parser vom Typ DOM laden alle Elemente in den Speicher und erstellen eine Baum-
datenstruktur, die dann verarbeitet werden kann
- Parser vom Typ SAX navigieren durch Dokumente, die nur Teile des Inhalts enthal-
ten, ohne sie vollständig in den Speicher zu laden
Vergleich von Parsern vom Typ DOM und SAX:
- SAX kann Dateien jeder Größe analysieren
- SAX ist effizient, wenn nur Teile der Datei relevant sind
- SAX ist einfach zu bedienen
- DOM ermöglicht den freien Zugriff und Änderungen am Dokument
- DOM erstellt ein vollständiges Bild des Dokuments im Speicher
Typische Anwendungen von SAX und DOM Parsern:
- DOM-Parser sind nützlich, wenn Sie ganze Dokumente gleichzeitig bearbeiten. Zum
Beispiel zum Bearbeiten von strukturiertem Text in Textverarbeitung
- SAX-Parser sind nützlich zum schnellen Abrufen von Datensätzen, z.B. für den Zu-
griff auf Adressen in einer XML-basierten Kundendatenbank

76
PWIN WS 20/21 - Zusammenfassung

8.4 Anwendungen von XML


Really Simple Syndication (RSS)
- RSS ist ein Web Content Syndication Format
- RSS ist ein XML-Dialekt: Alle RSS-Dateien müssen der XML 1.0-Spezifikation ent-
sprechen, die im World Wide Web Consortium veröffentlicht wurde (W3C)

RSS-Feed Beispiel

XML Web Services


Der Begriff Webdienst beschreibt eine standardisierte Methode zur Integration webbasierter
Anwendungen mithilfe von XML, SOAP, WSDL und UDDI über das Internetprotokoll-Back-
bone:
- XML wird zum Kennzeichnen von Daten verwendet
- SOAP (Simple Object Access Protocol) wird zum Übertragen von Daten verwendet
- WSDL (Web Services Description Language) wird zur Beschreibung der verfügba-
ren Dienste verwendet
- UDDI (Universal Description, Discovery and Integration) wird verwendet, um aufzu-
listen, welche Dienste verfügbar sind

Weitere Anwendungen für XML


- DOCX-Dateiformat: MS Word-Dateiformat
- ODF-Format
- XML / EDIFACT: XML / EDIFACT ist das EDI-Format (Electronic Data Interchange)
die in Business-to-Business-Transaktionen verwendet wird
- OFX: Open Financial Exchange für Finanzinformationen (www.ifxforum.org)
- MathML: Mathematische Formelbeschreibungssprache (www.w3.org/Math

77
PWIN WS 20/21 - Zusammenfassung

9 Datenbankmanagement 1 – Datenbanken

9.1 Grundlagen der Datenorganisation


Datenorganisationshierarchie und Grundbegriffe

- Bit ist kleinste Datenspeichereinheit (1 oder 0)


- Das Byte besteht aus acht Bits und stellt ein Zeichen dar (z. B. ABCD ..., 1234 ...,
?! Ӥ $$, ..)
- Das Datenelement besteht aus einer Reihe von Bytes. Es fasst Zeichen als Wort,
Zahl oder Wortgruppe zusammen
- Datenelemente, die eine Beziehung zueinander haben, können als Datensatz oder
Datentabelle gruppiert werden
- Datensätze oder Datentabellen, die physisch oder logisch zusammengehören, wer-
den organisiert und in einer Datenbank gespeichert

Weitere Grundbegriffe zur Datenorganisation

78
PWIN WS 20/21 - Zusammenfassung

Probleme der Datenorganisation: Redundanz und Inkonsistenz


Datenredundanz bezeichnet das Vorhandensein mehrerer identischer Datenelemente in
verschiedenen Datensätzen oder Datenbanken:
- Z.B. identische Kundenkontaktinformationen, die unternehmensweit in mehreren
Datenbanken gespeichert sind
- Folge: Hoher Aufwand, um diese Kontaktinformationen über alle Datenbanken hin-
weg gleichzeitig synchron zu halten, da sonst Dateninkonsistenzen auftreten kön-
nen
Dateninkonsistenz bezeichnet die Zuordnung verschiedener Werte zu einem einzelnen At-
tribut eines Datenelements über mehrere Datensätze oder Datenbanken hinweg:
- Telefonnummer von Jon Steward in Datensatz A: 404 42349234 und in Datensatz
B: 404 12346323
- Banküberweisung: Der Überweisungsbetrag wurde von Konto A abgezogen, aber
nicht auf Konto B gutgeschrieben.
- Unterschiedliche Namen oder Codes für Datenelementattribute (z. B. Produktcode
vs. Produkt-ID)

9.2 Datenbanken
Datenbanksysteme und Datenbanken
- Datenbanksysteme bestehen im Allgemeinen aus einem Datenbankverwaltungs-
system (DBMS) und einer Datengruppe (tatsächliche Datenbank), die logische Ab-
hängigkeiten untereinander aufweisen
- Bei der Datenbank handelt es sich um eine Datenerfassung, die einen effizienten
und gleichzeitigen Zugriff mehrerer Benutzer oder Anwendungen auf (soweit mög-
lich) redundanzfreie Daten gewährleisten soll

Datenbanken
- Anstatt Daten lokal zusammen mit einzelnen Anwendungssystemen zu speichern,
bieten Datenbanken einen zentralen, gemeinsamen Speicherplatz für alle Anwen-
dungen
Beispiel:
- Gemeinsame Datenbank mit Daten von Mitarbeitern wie Mitarbeiter-ID, Arbeitszeit,
Gehalt, Steuerkategorie…
- kann sowohl von der Personalabteilung als auch von der Buchhaltungsabteilung
abgerufen werden

79
PWIN WS 20/21 - Zusammenfassung

Datenverwaltung
- Die Datenverwaltung ist eine spezielle organisatorische Rolle für die Verwaltung von
Datenressourcen im Unternehmen
- Verantwortlich für die Implementierung und Durchsetzung von Richtlinien in Bezug
auf Datenplanung, Datenerfassung, Datenqualitätsstandards, Datenpflege sowie
Datennutzung und Datentransfer
In diesem Zusammenhang kann DBMS von erheblichem Wert sein, wenn…:
- Unternehmen die strategische Bedeutung von Informationen anerkennen
- Informationen als Ressource aktiv pflegen
- Vorhandene Informationen für ihre Planung und Aktivitäten berücksichtigen
Die Datenverwaltung erfordert Spezifikationen für:
- Datenerfassungsplanung
- Koordination des logischen Datenbankdesigns
- Entwicklung von Richtlinien zur Datennutzung
- Überwachung der Datennutzung

Datenbankmanagementsysteme (DBMS)
Die Verwendung von Datenbanken erfordert Datenbankmanagementsysteme
DBMS ist wie folgt definiert:
- Sammlung von Anwendungen zur Erstellung, Verwaltung und Verwendung von Da-
tenbanken. Diese Sammlung ermöglicht es mehreren Anwendungssystemen, ihre
erforderlichen Daten gleichzeitig zu speichern, darauf zuzugreifen und zu ändern,
ohne diese Daten lokal speichern zu müssen
DBMS trennt die physische und die logische Datenstruktur:
- Physisch: Zeigt an, wie Daten tatsächlich organisiert und auf einem physischen
Speichermedium gespeichert sind
- Logisch: Beschreibt die Organisation von Daten basierend auf der Wahrnehmung
des Benutzers unter Verwendung logischer Konzepte, die von jeder technischen
Implementierung abstrahieren
Für die Erstellung, Bearbeitung und Analyse von Datenbanken bietet DBMS mehrere Kom-
ponenten:
- Datendefinitionssprache (DDL): Definiert die Struktur des Datenbankinhalts
- Datenmanipulationssprache (DML): Wird verwendet, um in der Datenbank gespei-
cherte Daten (z. B. SQL) zu ändern
- Datenwörterbuch (DD): Hilfe bei der Verwaltung bestehender Datenbestände und
generiert Berichte als Übersicht über die in der Datenbank gespeicherten Daten

80
PWIN WS 20/21 - Zusammenfassung

Datenbankdatenmodelle
- Hierarchisches Datenmodell (veraltet)
- Netzwerkdatenmodell (veraltet)
- Relationales Datenmodell (am häufigsten verwendet)
- Objektorientiertes Datenmodell (neueres Modell, aber seltener verwendet)
- Nicht relationales Datenmodell (NoSQL-Datenbanken – beliebt bei Big Data und
Echtzeitanwendungen)
Relationales Datenmodell
Am häufigsten verwendetes Konzept zur Organisation von Daten in Datenbanken
- Geeignet für Ad-hoc-Anfragen
- Flexibel in Bezug auf das Hinzufügen neuer Daten oder das Kombinieren von Daten
aus mehreren verschiedenen Datenquellen
- In relationalen Datenmodellen werden alle Daten in der Datenbank als Tabellen
(Relationen) mit fester Anzahl von Spalten und variabler Anzahl von Zeilen darge-
stellt

- Spalten stellen Datenelemente bzw. Attribute dar, die Entitäten beschreiben


- Zeilen repräsentieren konkrete Datenelemente
- Zeile in Beziehung heißt "Tupel"
- Beziehungen könnten zum Beispiel sein: Bestellung, Produkt, Lieferant (137;Door
lock;22,50;4058)

Objektorientiertes Datenmodell
Schwächen relationaler Datenmodelle in Bezug auf ...
- Konstruktionsanwendungen
- Multimedia-Anwendungen
- Architekturkonzepte usw.
Mit der objektorientierten Modellierung könnten individuelle Einschränkungen relationaler
Datenmodelle beseitigt werden:
- Zum Beispiel die Verwendung komplexer Objekte
- Definition komplexer Objekte, deren Attribute selbst Objekte sein können
- Attribute können einfache Datentypen sein oder aus einer unbestimmten Anzahl von
Datentypen bestehen
Lösungen: Objektorientiertes DBMS (OODBMS) wie Matisse, POET oder Object Store

81
PWIN WS 20/21 - Zusammenfassung

Nicht relationales Datenmodell


- NoSQL-Datenbanken basieren nicht primär auf Tabellen und basieren im Allgemei-
nen nicht nur auf SQL für die Datenmanipulation
Schlägt relationales und objektorientiertes Modell in Anwendungen, in denen:
- Große Datenmengen müssen sehr oft verarbeitet werden (Big Data)
- Daten werden gestreamt
- Geschwindigkeit ist entscheidend für den Geschäftserfolg
- Architektur erfordert horizontale Skalierung, um das Wachstum des Geschäfts zu
ermöglichen
Mehrere Klassen von NoSQL-Datenbanken (nicht vollständig):
- Graphenbasiert
- Spaltenbasiert (Cassandra)
- Key Value Store (Aerospike, Redis)

Datenbank Design
- Aufgabe der Datenverwaltung ist die Koordination des Datenbankdesigns
- Datenbankadministratoren sind für die Definition und Strukturierung von Datenban-
kinhalten sowie für die Wartung und Verwaltung der Datenbank verantwortlich
Der Ansatz ist in zwei Prozesse unterteilt:
- Logisches Datenbankdesign
- Design der physischen Datenbank

Logisches Datenbankdesign
Das Design der Datenbank wirft einige Fragen auf:
- Welche Beziehungen bestehen zwischen Daten?
- Welche Datentypen werden benötigt?
- Wie werden gespeicherte Daten verwendet?
Das logische Datenbankdesign bezeichnet ein abstraktes Modell der zu speichernden Da-
ten. Es beinhaltet:
- Relevante Entitäten
- Beziehungen zwischen Datenelementen
Modellierungswerkzeug: ER-Diagramme

Physisches Datenbankdesign
Das Design der physischen Datenbank befasst sich mit der Frage, wie Daten physisch ge-
speichert werden
- Zentrale Datenbank
- Verteilte Datenbank: Logisch verbunden, aber physisch an verschiedenen Orten
- Fragmentierte bzw. partitionierte Datenbanken: Tupel einer Beziehung werden an
physisch unterschiedlichen Speicherorten gespeichert

82
PWIN WS 20/21 - Zusammenfassung

- Replikation als Alternative zu fragmentierten Datenbanken

Datenbankbenutzer
Die Entwicklung von Datenbanken erfordert neben dem eigentlichen Datenbankdesign
auch eine grafische Benutzerschnittstelle (GUI):
- Besteht aus verschiedenen Formularen zum Anzeigen und Eingeben von Daten
- Ermöglicht verschiedene Perspektiven auf die physische Datenbank

9.3 Datenorientierte Modellierung


Datenbankentwurfsprozess basierend auf dem Entity Relationship Model (ER-Modell):

Logisches Datenmodell
- Modellierung der Problemstellung aus funktionaler Sicht
- Abstraktion von technischen Aspekten und Implementierungen
- Verschiedene Modellierungskonzepte (z. B. ERM, SERM,…) verfügbar

Konzept zur Modellierung von Entitätsbeziehungen (ER-Modell): Grundelemente

83
PWIN WS 20/21 - Zusammenfassung

Erweiterte Elemente:
- Einschränkungen
- Anhäufungen
- Verallgemeinerungen
- Rekursive Beziehungstypen
- Schwache Entitäten

Einschränkungen bei Beziehungstypen


Kardinalitäten beschreiben die Anzahl der Beziehungsinstanzen, an denen eine Entität teil-
nehmen kann:
- 1: 1 (eins zu eins), z.B. Studenten - Studentenausweis (theoretisch)
- 1: n (eins zu viele), z.B. Student (theoretisch)
- n: m (viele bis viele), z.B. Professor Student (theoretisch)

Intervalle (Min / Max-Notation):


- Intervalle ermöglichen eine genauere Angabe der Kardinalitäten
- Sie geben an, dass jede Entität an mindestens minimalen und höchstens maximalen
Beziehungsinstanzen teilnimmt

84
PWIN WS 20/21 - Zusammenfassung

Anhäufung (Aggregation)

Verallgemeinerungen

Rekursive Beziehungstypen

85
PWIN WS 20/21 - Zusammenfassung

Schwache Entitäten
- Schwache Entitäten hängen von mindestens einer Entität ab und können folglich
nicht ohne sie existieren

Entwicklungsprozess eines ER-Modells

Beziehungen aus dem ER-Modell ableiten


- Der Beziehungstyp mit den entsprechenden Attributen wird vom Entitätstyp abge-
leitet

86
PWIN WS 20/21 - Zusammenfassung

Der Beziehungstyp n: m induziert einen zusätzlichen Beziehungstyp


Beziehung enthält:
- Primärschlüssel der beteiligten Entitätstypen als Attribute und zusätzliche Attribute
von Beziehungstypen

Der 1: 1-Beziehungstyp wird NICHT zu einer eigenständigen Beziehung


- Informationen sind an einen der beteiligten Entitätstypen anzuhängen

Der Beziehungstyp 1: n wird NICHT zu einer eigenständigen Beziehung


- Informationen sind an die Beziehung anzuhängen, die dem Entitätstyp mit der n-
vorzeichenbehafteten Kante entspricht

87
PWIN WS 20/21 - Zusammenfassung

Zuordnung von Attributen zu Datentypen

Normalisierung
Ziele:
- Jede Beziehung enthält nur Daten einer Bedeutung
- Redundanzfreie Speicherung von Daten
- Vermeidung von Anomalien durch Redundanzen und Inkonsistenzen
Normalisierungsformen:
- Nicht normalisierte Beziehungen
- Normalisierte Beziehungen in der 1. - 3. normalisierten Form (NF)
- Zusätzliche Normalformen (z. B. 4. + 5. Normalform oder Boyce Codd)
Normalisierungsprozess:
- Nicht normalisiert -> 1. NF -> 2. NF -> 3. NF
- Vom ER-Modell abgeleitete Beziehungen bereits in der 2. NF

88
PWIN WS 20/21 - Zusammenfassung

10 Datenbankmanagement 2 – SQL

10.1 Einführung
Einführung
SQL Structured Query Language
- Entwickelt in den 1970er Jahren
Aktueller Standard für die Verwaltung relationaler Datenbanken:
- ANSI (American National Standards Institute)
- ISO (Internationale Normungsorganisation)
- Aktuelle Version: SQL: 2011
Nicht prozedurale, beschreibende und deklarative Sprache für die Verwendung von
Datenbanken:
- Bei der SQL-Abfrage drückt der Benutzer nur das gewünschte Ergebnis aus (und
nicht, wie dieses Ergebnis generiert werden muss)

10.2 Grundlegende SQL-Sprachelemente


Grundlegende SQL-Sprachkomponenten
Datendefinitionssprache (DDL)
- Definition von Datenstrukturen (z. B. Tabellen, Datenbanken)
Datenmanipulationssprache (DML)
- Anzeigen, Einfügen, Löschen und Aktualisieren von Daten in der Datenbank
Datensteuerungssprache (DCL)
- Zugriffskontrolle für Daten in der Datenbank
Transaction Control Language (TCL)
- Kontrolle der Transaktionsverarbeitung in der Datenbank
- Die Transaktion ist die logische Einheit mehrerer SQL-Anweisungen

89
PWIN WS 20/21 - Zusammenfassung

Datendefinitionssprache: CREATE

Datendefinitionssprache: DROP

90
PWIN WS 20/21 - Zusammenfassung

Datenmanipulationssprache: Struktur von Grundelementen


Struktur von Basiselementen:
- SELECT Attribute
- FROM Relationen
- [WHERE Bedingungen]
- [GROUP BY Bedingungen]
- [ORDER BY Bedingungen]
Datumsformat, Zeichenfolgen und Zahlen:
- Datumsfromat: ‘YYYY-MM-DD’ z.B. ‘1974-12-31’
- Strings: ‘String’, z.B. ‘I like SQL’
- Nummern: Number, z.B. 41 oder 34.12

Datenmanipulationssprache: SELECT

Datenmanipulationssprache: SELECT mit WHERE

91
PWIN WS 20/21 - Zusammenfassung

Datenmanipulationssprache: SELECT mit ORDER BY

Datenmanipulationssprache: SELECT mit SUM und GROUP BY

Datenmanipulationssprache - SQL-Funktionen: AVG, SUM, MIN, MAX, COUNT


Weitere Aggregationsfunktionen:
- AVG (x) gibt den Durchschnittswert von x zurück
- SUM (x) gibt die Summe von x zurück
- MIN (x) gibt den Mindestwert von x zurück
- MAX (x) gibt den Maximalwert von x zurück
- COUNT (x) gibt die Anzahl der Werte für x zurück
- STDDEV (x) gibt die Standardabweichung von x zurück.
X bezeichnet ein Array von Werten (z. B. als Ergebnis eines SELECT Abfrage)

92
PWIN WS 20/21 - Zusammenfassung

Datenmanipulationssprache: INSERT

Datenmanipulationssprache: UPDATE

Datenmanipulationssprache: DELETE

93
PWIN WS 20/21 - Zusammenfassung

10.3 Erweiterte SQL-Sprachelemente


Join
- JOINs werden verwendet, um Verknüpfungen zwischen zwei oder mehr Tabellen
zu erstellen
- Tabellen werden mithilfe eindeutiger Schlüssel miteinander verknüpft
- Der Primärschlüssel (oder der eindeutige Schlüssel) ist eine Spalte, die einen ein-
deutigen Wert für jede Zeile in der Tabelle enthält
Einige Arten von JOINs sind:
- INNER JOIN
- OUTER JOIN
- LEFT JOIN
- RIGHT JOIN

SELECT Statement welches die INNER JOIN Funktion nutzt

Übersicht von JOIN-Elementen

94
PWIN WS 20/21 - Zusammenfassung

UNION kombiniert Ergebnisse von zwei SELECT Aussagen

10.4 SQL-gesteuerte Datenbankfunktionen


Gespeicherte Prozeduren
- stellt die logische Einheit mehrerer in der Datenbank gespeicherter SQL-Anweisun-
gen dar
- ermöglicht komplexere Anweisungen und bietet verschiedene Aspekte der Pro-
grammiersprache (z. B. Verwendung von Variablen)

Gespeicherte Prozeduren ohne Variablen

95
PWIN WS 20/21 - Zusammenfassung

Gespeicherte Prozeduren mit Variablen

Gespeicherte Prozeduren: Exec-Anweisung


Ausführung gespeicherter Prozeduren:
- Die Prozedur Product_weight akzeptiert und erfordert keine Eingabeparameter:
exec product_weight
- Die Prozedur add_detail erfordert Eingabeparameter: Variablen werden verwendet,
um Daten an die Prozedur zu übergeben

Auslöser
- Der Datenbank-Trigger ist eine gespeicherte Prozedur, die automatisch ausgeführt
wird, falls vordefinierte Ereignisse in der Datenbank auftreten
- Typische Triggerereignisse sind das Einfügen, Aktualisieren oder Löschen von Da-
tensätzen
Trigger können verwendet werden, um:
- Geschäftsregeln durchsetzen (z. B. sicherstellen, dass jede Rechnung mindestens
einen Artikel enthält)
- Daten replizieren (z. B. Verlaufsdatensatz für jede Datenänderung erstellen, die
später in das Data Warehouse übertragen werden kann)
- Verbesserung der Datenbankleistung (z. B. Aktualisierung des Kontostands nach
jeder Transaktion für schnellere Abfragen)
- Aufrechterhaltung der Integrität der Informationen in der Datenbank
- Protokolldatenänderungen (z. B. Hinzufügen eines Zeitstempels von der Serveruhr)

Probleme von SQL


- Kompatibilitätsprobleme zwischen verschiedenen Herstellerimplementierungen des
SQL-Standards

96

Powered by TCPDF (www.tcpdf.org)

Das könnte Ihnen auch gefallen