![Page 1: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/1.jpg)
Einführung in die Informationsverarbeitung
Stunde XIV: Planen und Realisieren
Manfred Thaller, Universität zu Köln
Köln 28. Januar 2008
![Page 2: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/2.jpg)
2
?
![Page 3: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/3.jpg)
Systemdesign / Systemplanung
3
(1) Entsteht Software, entstehen Informationssysteme als Ergebnis eines künstlerischen Prozesses?
(2) Oder sind sie planbar?
Die Grafiken dieser Stunde entstammen zum großen Teil den von M. Glinz unter http://www.ifi.unizh.ch/groups/req/ftp/ses/ bereitgestellten Materialien zu seiner Vorlesung "Spezifikation und Entwurf von Software".
![Page 4: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/4.jpg)
I. Was heißt Planung?
4
![Page 5: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/5.jpg)
I. Was heißt Planung?
5
![Page 6: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/6.jpg)
I. Was heißt Planung?
6
Der eben beschriebene Vorgang, angewendet auf informationstechnische Probleme: Requirements Engineering.
![Page 7: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/7.jpg)
Ia. Requirements Engineering
7
Requirements Engineering bildet Modelle eines Ausschnitts der Realität.
![Page 8: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/8.jpg)
Ia. Requirements Engineering
8
Systeme sind daher immer in einen Kontext eingebettet, der den direkt für den Entwurf des Systems relevanten Bestandteil der Realität beschreibt.
![Page 9: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/9.jpg)
Ia. Requirements Engineering
9
Requirements Engineering legt die Grenzen des Systems gegenüber dem Kontext fest.
![Page 10: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/10.jpg)
Ia. Requirements Engineering
10
Unterschiedliche, aus einander abgeleitete, Betrachtungsebenen
Anforderung aus der Realität:Auf dem bestehenden Schiennenetz sollen mehr Leute transportiert werden.
Daraus abgeleitete Anforderung an das System:Die Minimaldistanz zwischen zwei Zügen ist immer größer als der maximale Bremsweg des nachfolgenden Zuges.
Daraus abgeleitete Anforderung an das umzusetzende Informationssystem ("die Software"):Der maximale Bremsweg muss alle 100 ms neu berechnet werden.
![Page 11: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/11.jpg)
I. Was heißt Planung?
11
Wie kann man die formalisierte Beschreibung der Anforderungen in einen Gesamtprozess eingliedern, der ein Projekt zur Erzeugung eines Informationssystems insgesamt beschreibt?
Konzept des Systems Designs / Software Engineering.
![Page 12: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/12.jpg)
I b 1. Wasserfallmodell
12
![Page 13: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/13.jpg)
I b 2. Iteratives Vorgehen
13
![Page 14: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/14.jpg)
I b 3. „Extreme Programming“
14
![Page 15: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/15.jpg)
I b 4. „Ohne Namen“
15
![Page 16: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/16.jpg)
II. Wie kann man Planen?
16
Gesucht ist eine Ausdrucksweise für Planungen, die: Ihre BenutzerInnen zur Disziplin zwingt.Die Kommunikation über unterschiedliche Planungen erlaubt.
90‘er Jahre: Verschiedene Ansätze als Bestandteil des objektorientierten Paradigmas in der Softwareentwicklung.James Rumbaugh: Object Modelling Technique (OMT)Grady Booch: Booch MethodeIvar Jacobson: Object Oriented Software Engineering (OOSE)
Konvergenz seit 1996 zur UML (Unified Modelling Language) als allgemeine „Modellierungssprache“
![Page 17: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/17.jpg)
II 0. UML 2.0 (2003 / 04 ff.)
17
UML ist eine Sammlung von "graphischen Sprachen", d.h. Regelsystemen für die Konstruktion graphischer Schemata, die:unterschiedliche Perspektiven von Anforderungen an Systeme und Entwürfen von Systemteilen, sowie deren Zusammenwirken darstellen,einander dabei überlappen können undunabhängig voneinander verwendet werden können.
Am wichtigsten:Klassenmodelle beschreiben den strukturellen Aufbau eines Systems,Anwendungsfallmodelle (Use Cases) beschreiben die Interaktion mit dem System aus Benutzersicht.
![Page 18: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/18.jpg)
II 1. Klassendiagramme
18
Objekt „Mitarbeiter“(kann Attribute und Methoden haben) Programmierung
![Page 19: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/19.jpg)
II 1. Klassendiagramme
19
Binäre Assoziation beschreibt die Beziehungen zwischen Klassen
![Page 20: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/20.jpg)
II 1. Klassendiagramme
20
Multiplizität gibt an, wie viele Objekte an einer Assoziation beteiligt sein können.
![Page 21: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/21.jpg)
II 1. Klassendiagramme
21
Reflexive Assoziation verbindet Objekte einer Klasse miteinander.
![Page 22: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/22.jpg)
II 1. Klassendiagramme
22
Aggregation verbindet beliebig viele Klassen zu einer übergeordneten.
![Page 23: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/23.jpg)
II 1. Klassendiagramme
23
Generalisierungsbeziehung zwischen Superklasse und Subklasse.
![Page 24: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/24.jpg)
II 2. Anwendungsfalldiagramme
24
Das Verhalten eines Systems kann als Sammlung von Anwendungsfällen ( = use cases) beschrieben werden.
Ein Anwendungsfall beschreibt eine Klasse möglicher Interaktionen.
Konkrete Anwendungsfälle heißen auch Szenarien. ( scenario based design.)
Anwendungsfälle werden in strukturiertem Text beschrieben.
Alle möglichen Anwendungsfälle - oder ein für ein bestimmtes Teilsystem relevanter Teil - werden als Anwendungsfalldiagramm realisiert.
![Page 25: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/25.jpg)
II 2. Anwendungsfalldiagramme
25
Anwendungsfall als strukturierter Text (auch als Aktivitäts – oder Zustandsdiagramme)
Beispiel: "Buch an einem Selbstausleiheautomaten ausleihen"
Normallfall:1.BenutzerIn liest Ausweis in System ein; System validiert Ausweis.2. BenutzerIn wählt "Ausleihen"; System aktiviert Ausleihfunktion.3.BenutzerIn liest Buchcode ein; System identifiziert das Buch, registriert Ausleihe, deaktiviert das Diebstahletikett.
Sonderfälle:
![Page 26: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/26.jpg)
II 2. Anwendungsfalldiagramme
26
Akteur
![Page 27: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/27.jpg)
II 2. Anwendungsfalldiagramme
27
Anwendungsfall
![Page 28: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/28.jpg)
II 2. Anwendungsfalldiagramme
28
Anwendungsfall-diagramm
![Page 29: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/29.jpg)
II 2. Anwendungsfalldiagramme
29
Include:Bindet anderenAnwendungsfall ein, der an mehreren Stellen genutzt werden kann.
![Page 30: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/30.jpg)
II 2. Anwendungsfalldiagramme
30
Extend:Modelliert Varianten, die einen Basisanwendungsfall abwandeln.
![Page 31: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/31.jpg)
II 3. Zustandsdiagramme
31
Zustandsdiagramme modellieren das dynamische zeitliche Verhalten eines Systems.
Auch state machine state diagram
Mögliche Zustände der Objekte einer Klasse oder eines Teilsystems.
Dynamik des Systemverhaltens: Reaktionen auf äußere Ereignisse.
![Page 32: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/32.jpg)
II 3. Zustandsdiagramme
32
![Page 33: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/33.jpg)
II 4. Aktivitätsdiagramme
33
Aktivitätsdiagramme beschreiben Abläufe in einem System.
Verbinden Aktivitäten, einen Steuerfluss und Objektzustände miteinander.
Erinnern stark an traditionelle "Flussdiagramme" (und haben auch alle ihrer Nachteile).
![Page 34: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/34.jpg)
II 4. Aktivitätsdiagramme
34
![Page 35: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/35.jpg)
II 5. Interaktionssicht
35
Ziel: Darstellung der Interaktion ausgewählter Objekte in zeitlicher Folge.
Entweder als Sequenzdiagramme, die die Zeitachse in den Mittelpunkt rücken …
… oder als Zusammenarbeitsdiagramme die Objektstruktur und Aufrufe der Objekte in den Vordergrund rücken.
(Beide Diagrammtypen sind logisch äquivalent!)
![Page 36: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/36.jpg)
II 5. Interaktionssicht
36
Als Sequenzdiagramm …
![Page 37: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/37.jpg)
II 5. Interaktionssicht
37
… und als Zusammenarbeitsdiagramm.
![Page 38: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/38.jpg)
II 6. Paketdiagramme
38
Ziel: Aufteilung eines großen auf mehrere kleine Systeme.
Innerhalb der Pakete müssen Namen eindeutig sein – aber eben nicht zwischen Ihnen.
(Vgl. Namespacekonzept in XML.)
![Page 39: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/39.jpg)
II 6. Paketdiagramme
39
![Page 40: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/40.jpg)
II 7. Komponentendiagramme
40
Ziel: Aufteilung der Gesamtfunktionalität eines Systems auf mehrere Softwaremodule, die:
Möglichst unabhängig voneinander entwickelt / gewartet werden können.Nur über genau definierte Schnittstellen miteinander kommunizieren.
![Page 41: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/41.jpg)
II 7. Komponentendiagramme
41
![Page 42: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/42.jpg)
II 8. Verteilungsdiagramme
42
Ziel: Aufteilung der Gesamtfunktionalität eines Systems auf mehrere Hardwaremodule (Server).
![Page 43: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/43.jpg)
II 7. Verteilungsdiagramme
43
![Page 44: Einführung in die Informationsverarbeitung Stunde XIV: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 28. Januar 2008](https://reader035.vdocuments.mx/reader035/viewer/2022062622/55204d6349795902118b93b3/html5/thumbnails/44.jpg)
44
Schöne Ferien!