Beruflich Dokumente
Kultur Dokumente
Naturwissenschaftliche Fakultät
Software Engineering II
Sommersemester 2022
Dr. Michael Striewe
Universität Potsdam
Mathematisch-
Naturwissenschaftliche Fakultät
Kapitel 1
Einführung
Universität Potsdam
Software-Systeme
• Betriebssysteme
• Steuerungssysteme
• Compiler
• Editoren
• Spiele
• Enterprise Applications / Informationssysteme /
Datenverarbeitung
• ...
Universität Potsdam 3
Enterprise Applications - Beispiele
• betriebliche Kostenanalyse
• Lagerverwaltung und Lieferkontrolle (shipping tracking)
• Online-Shops und Buchungssysteme
• Verwaltung von Patientendaten
• ...
Universität Potsdam 4
Enterprise Applications - Merkmale (1)
• Große Datenmengen
– meist in relationalen Datenbanken, oft verteilt
• Persistente Daten
– in mehreren Programmläufen verfügbar
– überdauern oft Systemversionen, Hardware- oder
Betriebssystemwechsel
• Nebenläufige Datenzugriffe
– von mehreren Terminals des Unternehmens
– über Web-Interfaces / durch Web-Services
• Verschiedene Benutzer-Interfaces
– unterschiedliche Präsentation derselben Daten
– verschiedene Möglichkeiten/Rechte des Datenzugriffs
Universität Potsdam 5
Enterprise Applications - Merkmale (2)
Universität Potsdam 6
Enterprise Applications - Merkmale (3)
• Komplexe „Business-Logik”
– Fülle von Sonderfällen, häufig historisch gewachsen
– komplexe Bedingungen, die sich gegenseitig beeinflussen
– häufige und starke Veränderungen
– uneinheitliche Terminologie in verschiedenen
Unternehmensbereichen
-> Modellierung des Gegenstandsbereichs notwendig
Universität Potsdam 7
Arten von Enterprise Applications
Online-Shop Auto-Leasing
• einfacher Zugang • weniger Geschäftsfälle
• einfache GUIs • komplexere Daten
• sehr viele nebenläufige • spezifische UIs
Transaktionen • komplexere Workflows
• einfache Workflows (Ausnahmen)
• Skalierbarkeit
Universität Potsdam 8
Architekturentscheidungen
Merkmale
• persistente Daten
• große Datenmengen
• nebenläufige Datenzugriffe
• verschiedene Benutzer-Interfaces
• Integration mit anderen Enterprise Applications
• komplexe Business-Logik / Domänenstruktur
Universität Potsdam 9
Frühe Datenverarbeitungssysteme
1.Batch-Systeme
Programme, die Dateien manipulierten
2.Client-Server-Systeme
1.Datenserver
2.Client mit UI und Anwendungscode
UI / Präsentation
Client
Domänenschicht
Datenserver
Datenschicht
Universität Potsdam 10
Schichten-Architekturen
Universität Potsdam 11
Die drei prinzipiellen Schichten
von Enterprise Applications
UI / Präsentation
Domänenschicht
Datenschicht
1.Präsentationsschicht
– UI: Interaktion mit Benutzer (lebend oder andere Anwendung)
– von Kommandozeile bis komplexes GUI oder Web-Interface
2.Domänenschicht
– Business-Logik
– Kern des Systems: was die Anwendung für die Domäne leistet
– z.B. Berechnungen anhand der Eingabe- und gespeicherten Daten,
Datenvalidierung, Auswahl der Daten, auf die zugegriffen wird etc.
3.Datenschicht
– Kommunikation mit anderen Systemen, die Aufgaben für die
Anwendung erfüllen (Datenbanken, Nachrichtensysteme,
Transaktionsmanager, andere Anwendungen, ...)
Universität Potsdam 12
Domänenschicht
Universität Potsdam 13
Warum ein Domänenmodell? (1)
– Code-Duplizierung
– unstrukturierte Sammlung von Subroutinen
Universität Potsdam 14
Warum ein Domänenmodell? (2)
• mit Domänenmodell:
vertrag: :Berechnungs-
:Produkt
Vertrag strategie
berechneUmsatz
berechneUmsatz(vertrag)
berechneUmsatz(vertrag)
new :Umsatz-
abgrenzung
Universität Potsdam 15
Verantwortlichkeiten
UI/Präsentation
Serviceschicht agiert wie eine „API“ für die Anwendung
…
Domänenschicht
Datenschicht
Universität Potsdam 16
Serviceschicht
• enthält Serviceklassen
• realisieren Use Cases
• Transaktions- und Sicherheitsmanagement
• Wieviel Verhalten (Business-Logik) in Serviceklassen?
Universität Potsdam 17
Beispiel
• Aufgabe:
– Erstellen Sie ein Datenmodell als Klassendiagramm.
– Erstellen Sie ein Servicemodell als Klassendiagramm.
Universität Potsdam 18
Beispiel (Forts.)
Universität Potsdam 19
Beispiel (Forts.)
Universität Potsdam 20
Datenschicht
Universität Potsdam 21
Relationale Datenbanken
Buch Erscheinungs-
Signatur Autor Titel Verlag
jahr
Id-1 I. Sommerville Software Engineering Pearson 2012
Patterns of Enterprise Addison-
Id-2 M. Fowler 2013
Application Architecture Wesley
Id-3 P. Stevens Using UML Pearson 2005
H. R. Nielson, Semantics with
Id-4 Springer 2007
F. Nielson Applications
• Zeile: Datensatz (Record)
• Spalte: Attribut
• Schlüssel: Attribut, das jede Zeile eindeutig identifiziert
• Tabelle als Relation: Buch ⊆ String × String × String × String × Integer
• Relationsschema: Buch ⊆ Signatur × Autor × Titel × Verlag ×
Erscheinungsjahr
Universität Potsdam 22
Verknüpfung von Tabellen
Nutzer
Benutzer-ID Name Vorname
Entliehen
Benutzer-ID Signatur
Verbindung zu anderen
U-3 Id-2 Tabellen über deren Schlüssel
U-3 Id-4
(Fremdschlüssel)
U-1 Id-1
Universität Potsdam 23
Objekt-Relationales Mapping (ORM)
Klasse Tabelle
Universität Potsdam 24
ORM
• grundlegende Techniken:
– Referenzen auf andere Objekte: Fremdschlüssel-Primärschlüssel-
Beziehung
– Schatteninformationen: ggf. Surrogatschlüssel, Zeitstempel etc.
• Herausforderungen:
– Assoziationen (many-to-many)
– Vererbung
– Attribute mit besonderem Datentyp (Collections, Maps, ...)
• Patterns (wiederverwendbare Lösungsschemata)
– Martin Fowler: Patterns of Enterprise Application Architecture. Addison
Wesley, Boston, 2003.
• kommerzielle ORM-Tools
– Hibernate
– ADO.NET
– ...
Universität Potsdam 25
Abgrenzung der Schichten
Universität Potsdam 26
Code-Duplikationstest
Universität Potsdam 27
EA und Nebenläufigkeit
UI / Präsentation Business-
System Domänenschicht Transaktionen
Transaktionen Datenschicht
Universität Potsdam 28