Beruflich Dokumente
Kultur Dokumente
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
Mensch (User)
Anwendungssoft-
Software ware
System
Basis Software Information System
Application System
Computer
Hardware System
IT-Infrastruktur (Net-
work)
1
PWIN WS 20/21 - Zusammenfassung
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
Mensch (User)
Verbundene Informationssysteme
- Prozesse werden komplett elektronisch abgearbeitet
3
PWIN WS 20/21 - Zusammenfassung
Enterprise Model
Ein Unternehmensmodell ist eine Darstellung der Struktur, Aktivitäten, Prozesse, Informa-
tionen, Ressourcen, Personen, Verhaltensweisen, Ziele und Einschränkungen eines Unter-
nehmens.
4
PWIN WS 20/21 - Zusammenfassung
5
PWIN WS 20/21 - Zusammenfassung
6
PWIN WS 20/21 - Zusammenfassung
2 Informationssysteme 2
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
8
PWIN WS 20/21 - Zusammenfassung
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
Logic Tier
Central Server
Data Tier
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
10
PWIN WS 20/21 - Zusammenfassung
11
PWIN WS 20/21 - Zusammenfassung
12
PWIN WS 20/21 - Zusammenfassung
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
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
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
17
PWIN WS 20/21 - Zusammenfassung
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
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
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
21
PWIN WS 20/21 - Zusammenfassung
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
22
PWIN WS 20/21 - Zusammenfassung
23
PWIN WS 20/21 - Zusammenfassung
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
24
PWIN WS 20/21 - Zusammenfassung
25
PWIN WS 20/21 - Zusammenfassung
26
PWIN WS 20/21 - Zusammenfassung
27
PWIN WS 20/21 - Zusammenfassung
Data Mining-Paradigmen
28
PWIN WS 20/21 - Zusammenfassung
Intelligente Agenten
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
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
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
31
PWIN WS 20/21 - Zusammenfassung
|𝑆𝑣 |
𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) − ∑ ∗ 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑣 )
𝑣∈𝑊𝑒𝑟𝑡𝑒(𝐴) |𝑆|
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
Projektlebenszyklus
33
PWIN WS 20/21 - Zusammenfassung
34
PWIN WS 20/21 - Zusammenfassung
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
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
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
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
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
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
44
PWIN WS 20/21 - Zusammenfassung
Softwareprojektplanung
45
PWIN WS 20/21 - Zusammenfassung
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
- Zeitplan erstellen
47
PWIN WS 20/21 - Zusammenfassung
- Der letzte Startplan (LS) kann aus EF, Dauer der Aktivitäten und Beziehung der
Aktivitäten berechnet werden
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
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
49
PWIN WS 20/21 - Zusammenfassung
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
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
52
PWIN WS 20/21 - Zusammenfassung
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
54
PWIN WS 20/21 - Zusammenfassung
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
57
PWIN WS 20/21 - Zusammenfassung
Objektorientierter Entwicklungsprozess
1. Objektorientierte Analyse (OOA)
2. Objektorientiertes Design (OOD)
3. Objektorientierte Programmierung (OOP)
4. Objektorientierte Software
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
61
PWIN WS 20/21 - Zusammenfassung
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
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
HTML Beispiel
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
69
PWIN WS 20/21 - Zusammenfassung
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
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
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
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
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
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
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
RSS-Feed Beispiel
77
PWIN WS 20/21 - Zusammenfassung
9 Datenbankmanagement 1 – Datenbanken
78
PWIN WS 20/21 - Zusammenfassung
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
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
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
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
Logisches Datenmodell
- Modellierung der Problemstellung aus funktionaler Sicht
- Abstraktion von technischen Aspekten und Implementierungen
- Verschiedene Modellierungskonzepte (z. B. ERM, SERM,…) verfügbar
83
PWIN WS 20/21 - Zusammenfassung
Erweiterte Elemente:
- Einschränkungen
- Anhäufungen
- Verallgemeinerungen
- Rekursive Beziehungstypen
- Schwache Entitäten
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
86
PWIN WS 20/21 - Zusammenfassung
87
PWIN WS 20/21 - Zusammenfassung
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)
89
PWIN WS 20/21 - Zusammenfassung
Datendefinitionssprache: CREATE
Datendefinitionssprache: DROP
90
PWIN WS 20/21 - Zusammenfassung
Datenmanipulationssprache: SELECT
91
PWIN WS 20/21 - Zusammenfassung
92
PWIN WS 20/21 - Zusammenfassung
Datenmanipulationssprache: INSERT
Datenmanipulationssprache: UPDATE
Datenmanipulationssprache: DELETE
93
PWIN WS 20/21 - Zusammenfassung
94
PWIN WS 20/21 - Zusammenfassung
95
PWIN WS 20/21 - Zusammenfassung
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)
96