SWE4 Slide Software-Engineering Vorlesung 4 vom 08..2004 Sebastian Iwanowski FH Wedel
SWE4 Slide 2 Software-Engineering Vorlesungsthemen:. Überblick über das Thema und die Vorlesung 2. Grundlegende Prinzipien 3. Softwareplanung 4. Systemanalyse 5. Aufwandsabschätzung 6. Systementwurf 7. UML 8. ARIS 9. Qualitätsmanagement 0.Projektmanagement
SWE4 Slide 3 Systemanalyse: Prozessorientierte Sicht Zusammenfassung der Systemanalyse aus prozessorientierter Sicht: Strukturierte Analyse (SA) (Tom demarco, 978) Bestandteile: Datenflussdiagramme (hierarchisch verschachtelt) Data Dictionaries Darstellung von Kontrollflüssen (nicht genormt) Verwendung von Entscheidungsbäumen und -tabellen Erweiterung der Strukturierten Analyse: Real Time Analysis (SA/RT) (Derek Hatley, 987) Erweiterte Beschreibungsmöglichkeiten aus ereignisorientierter Sicht
SWE4 Slide 4 Systemanalyse: Prozessorientierte Sicht Ereignisorientierte Sichtweise: Ereignis Prozess Ereignis Die ereignisorientierte Sichtweise wird in dem Kapitel zu ARIS besprochen.
SWE4 Slide 5 Systemanalyse: Datenorientierte Sicht Entity-Relationship-Modellierung (ERM): (Chen 976) Entitäten Entitäten sind die zu unterscheidenden Einheiten des Systemmodells. Entitäten werden durch Attribute beschrieben. Die Attribute haben bestimmte Wertebereiche. Ein Entitätstyp fasst Entitäten mit gleichen Attributen zu einer Menge von gleichartigen Entitäten zusammen. Innerhalb eines Entitätstyps ist jede Entität durch Schlüsselattribute (häufig nur ein Schlüsselattribut) eindeutig bestimmt.
SWE4 Slide 6 Entity-Relationship-Modell MatrNr VorlNr Student Vorlesung SWS Semester Titel Zwischen den Entitäten bestehen Beziehungen PersNr Rang Assistent Professor Raum Fachgebiet PersNr
SWE4 Slide 7 Entity-Relationship-Modell Beziehungen (Relationships) zwischen Entitäten: Entitäten desselben Typs haben gleichartige Beziehungen Assoziationen zwischen Entitätstypen: Assoziationen verbinden zwei oder mehr Entitätstypen Assoziationen sind nicht gerichtet. Assoziationen haben eindeutige n. Assoziationen können Attribute haben. Assoziationen können von Entitäten aus spezifisch bezeichnet werden.
SWE4 Slide 8 MatrNr Semester Entity-Relationship-Modell (mit entitätsspezifischen Bezeichnungen der Assoziationen) Student hört Hörer Voraussetzung Vorgänger wirdgehört wirdgeprüft wird abgefragt Vorlesung Nachfolger wird gelesen VorlNr SWS Titel Note Prüfung Lesung PersNr Assistent Boss Arbeit prüft beschäftigt Professor liest Rang Raum Fachgebiet PersNr
SWE4 Slide 9 Entity-Relationship-Modell Kardinalitäten für Assoziationen Kardinalitäten geben für jeden an einer Assoziation beteiligten Entitätstyp an, wieviele Entititäten dieses Typs an der Assoziation beteiligt sein dürfen (müssen), wenn die Entitäten auf der anderen Seite der Assoziation fest gewählt sind. Kardinalität bedeutet: genau eine Kardinalität 3 bedeutet: genau 3 Kardinalität n bedeutet: mehrere (mindestens eine) Kardinalität m bedeutet: mehrere (mindestens eine), aber nicht notwendig genauso viele wie auf der anderen Seite (wenn dort n steht) Kardinalität 2..5 bedeutet: zwischen 2 und 5 Kardinalität 0.. bedeutet: eine oder gar keine
SWE4 Slide 0 Entity-Relationship-Modell (mit Kardinalitäten) Voraussetzung MatrNr Student n Hörer m n m Vorlesung VorlNr SWS Semester n m n Titel Note Prüfung Lesung PersNr Assistent n Arbeit Professor Rang Raum Fachgebiet PersNr
Entity-Relationship-Modell MC-Notation für Kardinalitäten: C bedeutet: ist optional M bedeutet: können mehrere sein (aus Balzert, S. 225 ff.) SWE4 Slide
Entity-Relationship-Modell Wichtiges Anwendungsgebiet für ERM: Modellierung für Datenbanken Ein ER-Modell kann also auch für den Systementwurf eingesetzt werden! Methode zur Umwandlung eines ER-Modells in ein relationales Datenbankmodell: Aus den Entitätstypen werden Tabellen (mit den Attributen und n:-assoziationen als Spalten und den Entitäten als Zeilen) Aus den m:n-assoziationen werden Tabellen (mit den Attributen und Entitätstypen als Spalten und den konkreten Beziehungen zwischen den Entitäten als Zeilen) Achtung: ER-Modell Relationales Modell SWE4 Slide 2
SWE4 Slide 3 Das relationale Modell zum ER-Modell des Bsp.: Raum Rang PersNr 226 C4 Sokrates 225 7 C4 Kant 237 36 C4 Curie 236 309 C3 Augustinus 234 52 C3 Popper 233 30 C3 Kopernikus 227 232 C4 Russel 226 Professor Semester MatrNr 8 Xenokrates 24002 2 Feuerbach 29555 2 Theophrastos 2920 3 Carnap 2806 6 Schopenhauer 27550 8 Aristoxenos 26830 0 Fichte 2620 2 Jonas 25403 Student 237 4 Die 3 Kritiken 4630 234 2 Glaube und Wissen 5022 233 2 Der Wiener Kreis 5259 wirdgelesen SWS Titel VorlNr 237 4 Grundzüge 500 226 2 Bioethik 526 226 3 Wissenschaftstheorie 5052 225 4 Logik 4052 225 2 Mäeutik 5049 226 3 Erkenntnistheorie 5043 225 4 Ethik 504 Vorlesung Nachfolger Vorgänger 504 500 5259 5052 5052 504 5052 5043 526 504 5049 500 5043 500 Voraussetzung 526 2806 5022 25403 5022 29555 5049 2920 504 2920 VorlNr MatrNr 500 2620 500 2920 5259 2806 5052 2806 504 2806 4052 27550 500 27550 Hörer Boss Fachgebiet PerslNr 225 Ideenlehre Platon 3002 226 Gott und Natur Spinoza 3007 227 Keplersche Gesetze Newton 3006 227 Planetenbewegung Rhetikus 3005 226 Sprachtheorie Wittgenstein 3004 225 Syllogistik Aristoteles 3003 Assistent Note PersNr VorlNr MatrNr 226 500 2806 2 237 4630 27550 2 225 504 25403 Prüfung
SWE4 Slide 4 Systemanalyse: Datenorientierte Sicht Was fehlt bei ER-Modellen? keine explizite Kennzeichnung und Unterscheidung von hierarchischer und modularer Zerlegung keine klare Unterscheidung zwischen Entität und Beziehung keine klare Abgrenzung der Entitäten voneinander Lösung: Objektorientierte Modellierung Vererbung als Mittel hierarchischer Zerlegung Kapselung der Objekte (Entitäten): Zugriff von außen nur über Methoden weitere Kennzeichnungen und Unterscheidungen (nur in UML-Notation)
SWE4 Slide 5 Das UML-Modell zum ER-Modell des Bsp.: Attribute Methoden Studenten +M atrn r : int + : String +Semester : int +Notenschnitt() : float +SummeW ochenstunden() : short +wirdgeprüft +P rüfling +hört +Hörer.. Rollenname Assoziationsname Hörer hören + Vorgänger +Nachfolger Vorlesungen +VorlNr : int +Titel : String +S W S : int +AnzH örer() : int +DurchfallQuote() : float voraussetzen Voraussetzung + wirdgelesen Prüfungen +Note : Decimal +Datum : Date +verschieben() + Prüfungsstoff + Prüfer +Prüfer +Prüfungsstoff gelesenvon Lesung Unterscheide: Assistenten +Fachgebiet : String +Gehalt() : short Attribute von Methoden Rollen von Assoziationen + Prüfer arbeitenfür Arbeit Angestellte +Boss Professoren +Rang : String +Notenschnitt() : float +Gehalt() : short +Lehrstundenzahl() : short +PersNr : int + : String gerichtete von ungerichtete Assoziationen +Gehalt() : short (erst bei Systementwurf relevant) +Dozent
SWE4 Slide 6 Das Konzept der Vererbung am Beispiel: (in ERM-Notation) Person is-a Generalisierung Spezialisierung Student Angestellter PersNr MatrNr is-a Fachgebiet Assistent Professor Rang Raum
SWE4 Slide 7 Einbau der Vererbung in das bisherige Bsp.: (in ERM-Notation) Voraussetzung MatrNr VorlNr Student Hörer Vorlesung SWS Semester Titel Note Prüfung Lesung PersNr Rang Person is-a Fachgebiet Assistent Arbeit is-a Professor Raum Angestellter PersNr PersNr Wie sieht die Vererbung in UML aus?
SWE4 Slide 8 UML-Notation für Beziehungen Komposition
SWE4 Slide 9 Das Beispiel mit Vererbung in UML-Notation (nur eine Hierarchiestufe) Studenten +M atrn r : int + : String +Semester : int +Notenschnitt() : float +SummeW ochenstunden() : short +wirdgeprüft +P rüfling +hört +Hörer.. Hörer hören + Vorgänger +Nachfolger Vorlesungen +VorlNr : int +Titel : String +S W S : int +AnzH örer() : int +DurchfallQuote() : float voraussetzen Voraussetzung + wirdgelesen Prüfungen +Note : Decimal +Datum : Date +verschieben() + Prüfungsstoff + Prüfer +Prüfer +Prüfungsstoff gelesenvon Lesung Assistenten +Fachgebiet : String +Gehalt() : short + Prüfer arbeitenfür Arbeit +Boss Professoren +Rang : String +Notenschnitt() : float +Gehalt() : short +Lehrstundenzahl() : short +Dozent Angestellte +PersNr : int + : String +Gehalt() : short
SWE4 Slide 20 UML-Notation für Beziehungen Was bedeuten diese beiden Pfeile? Komposition Aggregation: Zerlegung eines Objekts in seine Bestandteile Aggregationen in ERM-Notation: part-of Komposition: Zerlegung eines Objekts in Bestandteile, die selbständig gar nicht existieren können
SWE4 Slide 2 Bsp. für Aggregation Auto Attribute Boot Attribute Methoden Methoden Motor Attribute Methoden
SWE4 Slide 22 Bsp. für Komposition Studenten +MatrNr : int + : String +Semester : int +Notenschnitt() : float +SummeWochenstunden() : short +Prüfling absolviert... +Prüfer Prüfungen +Note : Decimal +Datum : Date +verschieben() +Prüfungsstoff...
Zum Abschluss: Übung für ERM-Notation ) Geben Sie die Kardinalitäten in anderer Notation an: (aus Balzert ) 2) Was bedeuten die folgenden Elemente: Rechteck Raute Dreieck Kante Kreis Entity-Schlüssel SWE4 Slide 23
Beim nächsten Mal: Zusammenfassung der Systemanalyse Aufwandsabschätzung SWE4 Slide 24