Gliederung der Vorlesung
1 Einführung
2 Konzeption und Test von Softwareprodukten
2.1 Methoden der Voruntersuchung und des funktionalen Fachentwurfs
– Vorgangskettendiagramme
– ER-Modell
– Structured Analysis – Entscheidungstabellen
2.2 Gruppenarbeit/Hausarbeit zum funktionalen Fachentwurf 2.3 Entwurfsprinzipien und Methoden des DV-Entwurfs
– Abstraktionsprinzip – Moduldiagramm
2.4 Strategien des Implementierens und Methoden des Testens
– Implementierungsstrategien
– Fehlerbegriff, Fehlerarten, Fehlerursachen
• Testprinzipien
• Testmethoden (Black box-Test, White box-Test)
– Methoden zur Auswahl von Testdaten beim Black box-Test
2.5 Gruppenarbeit/Hausarbeit zum Test von Software
3 Entwicklung von Algorithmen mittels CASE-Tools
4 Einführung in den objektorientierten Programmentwurf
4.1 Objektorientierte Analyse (Objekte, Klassen, Attribute, Operationen) mit UML
– Statische Konzepte und Notation der objektorientierten Analyse
– Dynamische Konzepte und Notation der objektorientierten Analyse Ausdrücke
4.2 Gruppenarbeit/Hausarbeit zur objektorientierten Analyse
2 Konzeption und Test von Software
2.1 Methoden des funktionalen Fachentwurfes
Teil 1: Datenmodell
Schritte des logischen Datenbank-/Datenspeicherentwurfs
• Mit welchen Informationseinheiten haben
wir es zu tun ? Definition von Entitätsmengen und ihren Beziehungen
• Woran erkennt man eine derartige Informationseinheit?
• Welche Informationen enthält eine derartige Informationseinheit?
Definition von Relationen - Entitätsmenge -> Relation
- Festlegung Identifikationsschlüssel - Relationen um weitere bzw. lokale
Attribute ergänzen
• Welche Beziehungen bestehen zwischen den Informationseinheiten und wie kann man diese Beziehungen vereinfachen?
Umwandlung nichthierarchischer Beziehungen durch Einführung von Hilfsentitätsmengen
• Welche Prüfungen sind notwendig Definition von Konsistenzbedingungen
a) modellinhärente Konsistenzbedingungen:
z.B. Eindeutigkeit des Primärschlüssels, ref.
Integrität, ...
b) modellexterne Konsistenzbedingungen:
z.B. bei Teilehierarchie muss die Anzahl der Oberteilbeziehungen gleich der Anzahl der Unterteilbeziehungen sein
• Welche Abhängigkeiten bestehen bei Neuanlage/Änderung/ Löschung von Informationen?
Definition von Transaktionen
Logische Datenorganisation –
Unterschied zwischen semantisch konzeptionellem Datenmodell und DBVS-gestütztem konzeptionellem Datenmodell
Realitätsaus- schnitt
Semantisches konzeptionelles
Datenmodell
DBVS-gestütztes konzeptionelles
Datenmodell Ein Realitätsausschnitt wird
semantisch vollständig (mit
vollständigem Bedeutungsinhalt) wiedergegeben
Semantische konzeptionelle Daten-
modelle sind semantisch reichhaltig als DBVS-gestützte konzeptionelle
Datenmodelle Bezüglich der
Semantik sind die
Restriktionen des
DBVS zu beachten.
Datenmodellierung (mittels ER-Modell)
Grundelemente von Datenmodellen
• Entitäten (welche Objekte sind betroffen ? z.B.
Tiere)
• Beziehungen zwischen Entitäten (ein Tier mit einer bestimmten Ohrmarke XYZ kann nie, einmal oder mehrmals mit einem bestimmten Medikament ABC behandelt werden)
• Attribute zur Charakterisierung von Entitäten (Ohrmarkennummer, PZN, Chargennummer, Datum einer Medikation usw.)
• Schlüssel (Ohrmarkennummer)
Entitäten
• Entität: Element der Datenwelt, welches ein reales oder ein gedankliches Einzelphänomen in einem betrachteten Realitätsausschnitt
repräsentiert (z.B. das Tier mit der Ohrmarke 4711 usw.).
• Entitätsmenge (=entity set): Fasst alle Entitäten zusammen, die durch gleiche Merkmale, nicht notwendigerweise aber durch gleiche
Merkmalsausprägungen, charakterisiert werden. (z.B. Medikation, ...).
• Graphische Darstellung von Entitätsmengen
Beziehungen zwischen Entitäten
Eine Assoziation a(E1, E2) gibt an, wie viele Entitäten der Entitätsmenge E2 einer beliebigen Entität der
Entitätsmenge E1 zugeordnet sein können.
In der Datenmodellierung gebräuchliche Assoziationstypen:
Bezeichnung des
Assoziationstyps A(E1, E2) Symbol Anzahl der Entitäten in E2, die der Entität E1 zugeordnet werden können
einfach 1 genau eine
konditionell c keine oder eine, d.h. c=0 oder c=1
multipel m mindestens eine, d.h. m >=1
multipel-konditionell mc keine, eine oder mehrere, d.h. mc >=0
Beispiele für Beziehungen
Eine Beziehung (relationship) zwischen zwei Entitätsmengen E1 und E2 besteht aus der Assoziation a(E1, E2) und aus der dieser Assoziation entgegen gerichteten Assoziation a(E2, E1)
Welche Beziehungen sind sinnvoll ?
Tier-
stammdaten Arzneimittel-
stammdaten Behand-
lungen
1 mc
mc mc
mc 1
Tier- stammdaten
Tier- stammdaten
Arzneimittel- stammdaten
Arzneimittel- stammdaten Behand-
lungen
Behand-
lungen
Attribute
• Ein Attribut beschreibt eine bestimmte
Eigenschaft, die sämtliche Entitäten einer Entitätsmenge oder sämtliche
Einzelbeziehungen einer Beziehung aufweisen.
• Der Wertebereich (domain) eines Attributs
besteht aus der Menge der Datenwerte, die das Attribut für die Entitäten der betreffenden
Entitätsmenge annehmen kann.
Beispiel: Entitätsmenge Tierstammdaten (mit 2 Entitäten)
Ohrmarke Rasse Geburtsdatum Muttertier
Entität 1 4657894 Fleckvieh 29.02.2004 1234567
Entität 2 4658995 Fleckvieh 02.03.2004 7654321
Attribute
Probleme mit ähnlichen Attributen?
Lösung: Datenelementstandardisierung
Datenelement
Anwendungsdatum
Datum Verkaufsdatum
Geburtsdatum