Friedrich-Alexander-Universität Erlangen-Nürnberg
|
|
- Johannes Ursler
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmik 1 M. Philippsen, H. Stoyan, Friedrich-Alexander-Universität Erlangen-Nürnberg Informatik 2/8/9
2 Kapitel 2 - Objektorientierter Entwurf 2.1 Ziele und Historie 2.2 Analyse 2.3 Klassendiagramm 2.4 Objektdiagramm 2.5 Interaktionsdiagramm 2.6 Zustandsdiagramm 2.7 Entwurfsregeln Algorithmik 1, WS 2005/06, Folie 1-2
3 1.3 Konstruktion von Informatiksystemen Komponentensicht Problem Wie kommt man vom zu lösenden Problem zu einer automatischen Problemlösung auf einem Computer? Computer, Von-Neumann-Rechner Ausführung Lösung Algorithmik 1, WS 2005/06, Folie 1-3
4 1.3 Konstruktion von Informatiksystemen Komponentensicht Validierung Problem Problemanalyse Spezifikation Was meint die umgangssprachliche Problembeschreibung wirklich? Mehrdeutigkeit? Missverständnis? Welche Bedingungen erfüllen die Eingabedaten? Was muss für die Resultate exakt gelten? Möglichst exakte, eindeutige, unmissverständliche, umfassende Beschreibung des zu lösenden Problems. WAS ist zu lösen? Computer, Von-Neumann-Rechner Ausführung Lösung Algorithmik 1, WS 2005/06, Folie 1-4
5 2.1 Ziele und Historie Beim Entwurf und der Planung eines Softwaresystems steht der Systemanalytiker an der Schnittstelle zwischen Auftraggeber und Entwickler: Systemanalytiker muss vor allem den Auftraggeber verstehen (und weniger umgekehrt). Beschreibung der Auftraggeberwünsche sollte unabhängig von technischen Möglichkeiten sein (perfekter Rechner). Auftraggeber sollte seinen Auftrag in der vom Systemanalytiker erarbeiteten Modellierung/Beschreibung erkennen. Gesucht wird folglich eine Repräsentation, mittels derer sich beide verständigen können. Sollte unabhängig von der zu verwendenden Programmiersprache und Entwicklungsumgebung sein. Also: Darstellung als Grafik. Algorithmik 1, WS 2005/06, Folie 1-5
6 2.1 Ziele und Historie Duale Sichtweise auf die Elemente eines Systems: Objekt als Gegenstand der Anschauung Objekt als Dienstgeber und Dienstnehmer Statisches Modell Dynamisches Modell Zeit Grob: Statisches Modell ~ Gegenstand der Anschauung Dynamisches Modell ~ Dienstgeber / Dienstnehmer Algorithmik 1, WS 2005/06, Folie 1-6
7 2.1 Ziele und Historie Standards der objektorientierten Analyse (OOA) und des objektorientierten Entwurfs (OOD): Urahnen: ER-Analyse (1975), semantische Netze (KL-ONE, 1975) Ende 80er, Anfang 90er: erste Bücher über OO-Analyse mehrere verschiedene grafische Notationen zunächst nur wenige Anwender Von Booch (1991, 1994), Rumbaugh (1991) und anderen Bestrebungen, Standards einzuführen; Werkzeuge zur Unterstützung der Analyse werden entwickelt. 1994: Booch und Rumbaugh einigen sich auf Unified Method. 1996: Booch, Rumbaugh, Jacobson veröffentlichen die Unified Modeling Language (UML). Algorithmik 1, WS 2005/06, Folie 1-7
8 2.1 Ziele und Historie UML 2.0 März `03 Die OMG erkennt die UML als den offiziellen Industriestandard für SW- Modellierungsnotationen an, 17. Nov. 97 UML 1.5 UML 1.1 Industrialisierung Standardisierung Öffentliches Feedback Eingereicht bei OMG, Sept 97 Eingereicht bei OMG, Jan 97 Beta Version OOPSLA 96 UML 1.0 UML 0.9 Vereinheitlichung WWW-Juni 96 Unified Method 0.8 OOPSLA 95 Methodenkriege Booch 93 OMT-2 Fragmentierung Diverse Methoden Booch 91 OMT-1 OOSE Algorithmik 1, WS 2005/06, Folie 1-8
9 2.1 Ziele und Historie Die Unified Modeling Language (UML) ist eine grafische Sprache zur Visualisierung, Spezifikation, Konstruktion und Dokumentation der Bestandteile von Softwaresystemen. Dieser Standard bietet ein breites Spektrum von Modellierungsmöglichkeiten, die von der konzeptionellen Ebene der Geschäftsprozesse bis zur konkreten Umsetzung einzelner Softwarekomponenten reichen. Folgen der grafischen Sprache: Die Modellierung erfolgt in Form von Diagrammen. Obwohl dies prinzipiell möglich ist, wurde UML nicht rigoros formal definiert. Die Beschreibung erfolgt verbal und durch Beispiele. Es gibt Mehrdeutigkeiten, Ungenauigkeiten, Unklarheiten, Algorithmik 1, WS 2005/06, Folie 1-9 Vergleiche: natürlichsprachliche Problembeschreibung versus exakte programmiersprachliche Formulierung.
10 2.1 Ziele und Historie Diagramme von UML (1.x) Strukturdiagramm WAS? Verhaltensdiagramme ( behavior diagrams ) WIE? Implementierungsdiagramme ( implementation diagrams ) Geschäftsvorfälle (1) Anwendungsfalldiagramm ( use case diagram ) (2) Klassendiagramm ( class diagram ) (3) Sequenzdiagramm ( sequence diagram ) (4) Kollaborationsdiagramm ( collaboration diagram ) (5) Zustandsdiagramm ( statechart diagram ) (6) Aktivitätsdiagramm ( activity diagram ) (7) Komponentendiagramm ( component diagram ) (8) Verteilungsdiagramm ( deployment diagram ) Gegenstand, statisch Dienste, dynamisch Interaktionsdiagramme ( interaction diagrams ) Dienste, statisch Gegenstand, dynamisch Algorithmik 1, WS 2005/06, Folie 1-10
11 2.1 Ziele und Historie Der Makroprozess bei OOA(nalyse) und OOD(esign) Geschäftsprozesse erstellen statisches Modell erstellen dynamisches Modell erstellen Algorithmik 1, WS 2005/06, Folie 1-11
12 2.2 Analyse 1. Schritt: Beschreibung der Nutzer und ihrer Anforderungen Analyse mit einem anwenderorientierten Standpunkt: Akteur ( actor ): Anwender (Mensch, Maschine, Programm) des zu entwerfenden Systems in einer bestimmten Rolle. Tritt mit dem zu entwerfenden System in Interaktion. Hat Anforderungen an dieses System. Anwendungsfall ( use case ): Aufgabe, die ein Akteur mit Hilfe des zu entwerfenden Systems lösen will oder muss. Anwendungsfalldiagramm ( use case diagram ) Modellierungselemente eines Anwendungsfalldiagramms: Akteure als Strichfiguren Anwendungsfälle als Ovale Beteiligung eines Akteurs an einem Anwendungsfall als Linie Algorithmik 1, WS 2005/06, Folie 1-12
13 2.2 Analyse Anwendungsfalldiagramm am Beispiel einer Bibliothek Reserviere Buch Entleihe Buch Suchen BuchEntleiher Rückgabe Buchexemplar Sucher Verlängerung Buchexemplar Zeitschriften Entleiher Entleihe Zeitschrift Rückgabe Zeitschrift Aktualisierung Katalog Bibliotheksmitarbeiter Algorithmik 1, WS 2005/06, Folie 1-13
14 2.2 Analyse 2. Schritt: Beschreibung der Systemteile Heuristik für Systemteile: Objekte der Lebenswelt sind zu verwalten: mit Eigenschaften oder Teilen zu beschreiben auf die Objekte sind Aktionen anzuwenden Objektorientierung: die Objekte sind für die auf sie anwendbaren Aktionen verantwortlich. Klassenbildung: für viele Objekte wird es gleiche Aktionen geben Objektklassen Algorithmik 1, WS 2005/06, Folie 1-14
15 2.2 Analyse Substantiv-Analyse kann helfen, um aus den in Umgangssprache beschriebenen Anwendungsfällen die beteiligten Objektklassen (Mengen gleichartiger Objekte) zu bestimmen. Aufgaben einer Bibliothek: In der Bibliothek gibt es Bücher und Zeitschriften. Von Büchern kann es mehrere Exemplare geben. Einige Bücher sind nur für Kurzzeitentleihe gedacht. Alle anderen Bücher können von jedem Bibliotheksmitglied für drei Wochen entliehen werden. Mitglieder der Bibliothek können normalerweise bis zu 6 Einheiten entleihen, während Mitarbeiter der Bibliothek bis zu 12 Einheiten zur gleichen Zeit entleihen können. Nur Mitarbeiter der Bibliothek dürfen Zeitschriften entleihen." Algorithmik 1, WS 2005/06, Folie 1-15
16 2.2 Analyse Substantiv-Analyse kann helfen, um aus den in Umgangssprache beschriebenen Anwendungsfällen die beteiligten Objektklassen (Mengen gleichartiger Objekte) zu bestimmen. außerhalb des Systems Aufgaben einer Bibliothek: In der Bibliothek gibt es Bücher und Zeitschriften. Von Büchern kann es mehrere Exemplare geben. Einige Bücher sind nur für Kurzzeitentleihe gedacht. Alle anderen Bücher können von jedem Bibliotheksmitglied für drei Wochen entliehen werden. Mitglieder der Bibliothek können normalerweise bis zu 6 Einheiten entleihen, während Mitarbeiter der Bibliothek bis zu 12 Einheiten zur gleichen Zeit entleihen können. Nur Mitarbeiter der Bibliothek dürfen Zeitschriften entleihen." Zeiteinheit zu vage zugleich auch Bibliotheksmitglied Ereignis Algorithmik 1, WS 2005/06, Folie 1-16
17 2.2 Analyse Substantiv-Analyse kann helfen, um aus den in Umgangssprache beschriebenen Anwendungsfällen die beteiligten Objektklassen (Mengen gleichartiger Objekte) zu bestimmen. Aufgaben einer Bibliothek: In der Bibliothek gibt es Bücher und Zeitschriften. Von Büchern kann es mehrere Exemplare geben. Einige Bücher sind nur für Kurzzeitentleihe gedacht. Alle anderen Bücher können von jedem Bibliotheksmitglied für drei Wochen entliehen werden. Mitglieder der Bibliothek können normalerweise bis zu 6 Einheiten entleihen, während Mitarbeiter der Bibliothek bis zu 12 Einheiten zur gleichen Zeit entleihen können. Nur Mitarbeiter der Bibliothek dürfen Zeitschriften entleihen." Algorithmik 1, WS 2005/06, Folie 1-17
18 2.2 Analyse Ausgehend von den Anwendungsfällen erfolgt die Zuordnung der Funktionalitäten zu den ermittelten Objektklassen. Entwurf nach Zuständigkeit: Untersuchung der Kooperationsaufgaben: Jedes Objekt einer Objektklasse ist für bestimmte Aufgaben zuständig und besitzt entweder alle Fähigkeiten, um diese Aufgaben selbst zu lösen, oder es kooperiert dazu mit anderen Objekten ggf. anderer Objektklassen. Dokumentation der Ergebnisse dieses Entwurfsschritts mittels CRC-Karten (Class Responsibility Collaborator): Klassenname Klasse ist ab sofort Kurzschreibweise für Objektklasse zuständig für Zusammenarbeit mit Algorithmik 1, WS 2005/06, Folie 1-18
19 2.2 Analyse Zuständigkeiten und Kooperationen der Bibliotheksklassen Mitglied zuständig für: Daten des Mitglieds ausgeliehene Exemplare Zusammenarbeit mit (Buch) Exemplar behandelt : Anfrage, Benachrichtigung, Übergabe löst aus: Mitteilung an Leser, Versendung des phys. Exemplars Algorithmik 1, WS 2005/06, Folie 1-19
20 2.2 Analyse Buch zuständig für: Daten des Buchs verfügbare Exemplare Vormerkung Mitglied behandelt: Ausleihe, Vormerkung löst aus: Anfrage M B, Ausgabe E M, Benachrichtigung M B Zusammenarbeit mit Exemplar Mitglied Exemplar zuständig für Daten des Exemplars Ausleiher behandelt: Ausgabe, Verlängerung, Rückgabe löst aus: Exemplar-frei B, Übergabe M E Zusammenarbeit mit Buch Mitglied Zeitschrift vervollständigen Algorithmik 1, WS 2005/06, Folie 1-20
21 2.3 Klassendiagramm Diagramme von UML (1.x) Strukturdiagramm WAS? Verhaltensdiagramme ( behavior diagrams ) WIE? Implementierungsdiagramme ( implementation diagrams ) Geschäftsvorfälle (1) Anwendungsfalldiagramm ( use case diagram ) (2) Klassendiagramm ( class diagram ) (3) Sequenzdiagramm ( sequence diagram ) (4) Kollaborationsdiagramm ( collaboration diagram ) (5) Zustandsdiagramm ( statechart diagram ) (6) Aktivitätsdiagramm ( activity diagram ) (7) Komponentendiagramm ( component diagram ) (8) Verteilungsdiagramm ( deployment diagram ) Gegenstand, statisch Dienste, dynamisch Interaktionsdiagramme ( interaction diagrams ) Dienste, statisch Gegenstand, dynamisch Algorithmik 1, WS 2005/06, Folie 1-21
22 2.3 Klassendiagramm Klassendiagramm ( class diagram ) Ein Klassendiagramm beschreibt die vorkommenden Objektklassen und ihre Beziehungen untereinander. Die strukturellen Eigenschaften bzw. innere Struktur einer Klasse werden durch Attribute ( attribute, instance-scope attribute ) angegeben. Das Verhalten einer Klasse wird durch Operationen beschrieben. Beziehungen können auftreten als Assoziationen Aggregationen/Kompositionen Spezialisierungen/Generalisierungen können genauer modelliert werden durch Multiplizitäten Rollennamen und Navigationspfeile Algorithmik 1, WS 2005/06, Folie 1-22
23 2.3 Klassendiagramm Modellierungselemente für Klassendiagramme Klasse mit Struktur und Verhalten: Rechteck mit drei Abschnitten für Name, Attribute und Operationen Klasse Buch innere Struktur, Attribute Verhalten, Operationen titel: String Buch exemplareauflager():integer entleihe(exemplar) Syntax der Operationen wird später erklärt Attributnamen mit Angabe ihres Typs, d.h. des zulässigen Wertebereichs und der erlaubten Operationen. String=Zeichenfolge integer=ganzzahl Mehr dazu in der nächsten Vorlesung. Algorithmik 1, WS 2005/06, Folie 1-23
24 2.3 Klassendiagramm Klasse Buch Zur besseren Übersichtlichkeit können Teile in der Darstellung ausgeblendet werden. Vollständige Darstellung titel: String Buch Operationen ausgeblendet exemplareauflager(): integer entleihe(exemplar) Attribute ausgeblendet Buch Buch titel: String exemplareauflager(): integer entleihe(exemplar) Darstellung in Minimalform Buch Algorithmik 1, WS 2005/06, Folie 1-24
25 2.3 Klassendiagramm Klasse = Bauplan für Objekte einer Art Gemeinsamer Zustandsraum, gleiche Bestandteile (Objekt-Attribute) Gemeinsames Verhalten (Operationen) Zu einer Klasse gibt es i.a. mehrere Objekte, sogenannte Instanzen, Ausprägungen oder Exemplare Idealisierte Vorstellung: Klasse = Stempel, mit Platz für alle Attribute Objekt = Stempelabdruck, in Platzhalter sind konkrete Werte eingefüllt Klasse: Objekte: : als Objektkennzeichen :Buch Buch titel = Einführung Algorithmik titel: String :Buch titel = Analysis I Algorithmik 1, WS 2005/06, Folie 1-25
26 2.3 Klassendiagramm Klassenattribute ( class-scope attribute ) und Klassenoperationen ( classscope operation ) sind nicht an ein einzelnes Objekt, sondern an die Klasse als Ganzes gebunden. Sie werden unterstrichen dargestellt. Buch titel: String anzahl: Integer exemplareauflager(): Integer Entleihe(Exemplar) ermittleanzahl(): Integer Objektattribut Klassenattribut Objektoperation Klassenoperation, arbeitet auf Klassenattributen Im Beispiel: es gibt einen (globalen) Zähler, der angibt, wie viele Bücher insgesamt vorhanden sind. Das ist ein Attribut der Klasse Buch als Ganzes und hat mit dem einzelnen Buch-Objekt nichts zu tun. Algorithmik 1, WS 2005/06, Folie 1-26
27 2.3 Klassendiagramm Modellierungselemente für Klassendiagramme Klasse mit Struktur und Verhalten: Rechteck mit drei Abschnitten für Name, Attribute und Operationen Beziehungen können auftreten als Assoziationen Aggregationen/Kompositionen Spezialisierungen/Generalisierungen können genauer modelliert werden durch Multiplizitäten Rollennamen und Navigationspfeile Algorithmik 1, WS 2005/06, Folie 1-27
28 2.3 Klassendiagramm Zweistellige Assoziationen ( binary association ) beschreiben, wie Objekte von genau zwei Klassen untereinander in Beziehung stehen. Eigenschaften von Assoziationen: Multiplizität: Name: Rolle: Richtung: Wie viele Objekte der Quell-/Zielklasse stehen mindestens/höchstens miteinander in Beziehung Welche Bedeutung hat die Assoziation Welche Bedeutung hat die Klasse hinsichtlich der Assoziation bidirektional: In beide Richtungen navigierbar unidirektional: Nur in eine Richtung navigierbar Restriktionen: Einzuhaltende Bedingungen Notation für zweistellige Beziehungen: Linie zwischen den betreffenden Klassen Optional aber empfehlenswert: Assoziation gemäß Leserichtung benennen und mit Pfeil neben Namen anzeigen Algorithmik 1, WS 2005/06, Folie 1-28
29 2.3 Klassendiagramm Assoziationen zwischen Klassen der Bibliothek Assoziationsname Leserichtung Exemplar ist Exemplar von ist vorhanden als Buch Assoziationsname in umgekehrter Leserichtung hat entliehen hat beschädigt Bibliotheksmitglied Algorithmik 1, WS 2005/06, Folie 1-29
30 2.3 Klassendiagramm Darstellung weiterer Eigenschaften von Assoziationen Notation: Pfeil an entsprechendem Linienende gibt Navigationsrichtung an Anschreiben der Rolle als Sichtweise eines Objektes durch das gegenüberliegende Objekt. Natürliche Formulierung in Leserichtung. Benötigt vor allem bei reflexiver Assoziation. Restriktionen werden in {...} angegeben. berichtet an Untergebener Mitarbeiter Vorgesetzter {Vorgesetzter.Gehalt > Untergebener.Gehalt} Navigationsrichtung Rolle Restriktion Algorithmik 1, WS 2005/06, Folie 1-30
31 2.3 Klassendiagramm Multiplizitäten ( multiplicity ) geben an, wie viele Objekte der an der Assoziation beteiligen Klassen jeweils miteinander in Beziehung stehen können. Bei zweistelligen Beziehungen: O 1 c 1 c 2 O 2 Betrachte Assoziation zwischen Objektklassen O 1 und O 2, wobei jedes Ende der Assoziation eine Multiplizität hat. Multiplizität c 2 drückt für jeden Zeitpunkt t die Anzahl jener O 2 -Objekte aus, die mit genau einem O 1 - Objekt in Beziehung stehen müssen/dürfen. Entsprechendes gilt analog für Multiplizität c 1. Anschaulich: Man lese die Multiplizitäten in Leserichtung. Exemplar ist Exemplar von 1 Buch Algorithmik 1, WS 2005/06, Folie 1-31
32 2.3 Klassendiagramm Es gibt keine Standardmultiplizität, d.h. wenn keine angegeben ist, ist sie undefiniert. Notation im Klassendiagramm: beliebige Anzahl wird gekennzeichnet durch * ein Bereich wird spezifiziert durch.. fixe Anzahl (z.b. 1): 1 fixe Anzahl (z.b. 3): 3 Bereich (z.b. 0 oder mehr): * (oder 0..*) Bereich (z.b. 3 oder mehr): 3..* Bereich (z.b. 3-6): 3..6 Algorithmik 1, WS 2005/06, Folie 1-32
33 2.3 Klassendiagramm Klassendiagramm um Multiplizitäten ergänzt 1 Exemplar ist Exemplar von 1 Buch 0..* Exemplar 0..* 1 1..* ist Exemplar von ist vorhanden als 1 1 Buch hat entliehen hat beschädigt 1 Buch ist vorhanden als 1 oder mehr Exemplare Bibliotheksmitglied 1 Mitarbeiter entleiht 0..* Exemplare 1 Exemplar ist von keinem oder einem Mitarbeiter entliehen Algorithmik 1, WS 2005/06, Folie 1-33
34 2.3 Klassendiagramm Es ist auch möglich, Assoziationen durch Restriktionen miteinander in Beziehung zu setzen: Exemplar ist entweder Buch oder Zeitschrift Exemplar 1..* 1..* ist Exemplar von 1 {xor} ist Exemplar von Buch 1 Zeitschrift Entliehenes Exemplar ist immer auch bearbeitet Bibliotheksmitarbeiter 0..1 bearbeitet * {Untermenge} entleiht Exemplar Algorithmik 1, WS 2005/06, Folie 1-34
35 2.3 Klassendiagramm Mehrstellige Assoziationen ( n-ary association ) setzen Objekte von mehr als zwei Klassen zueinander in Beziehung. Sie werden stets als Assoziationsklasse dargestellt. Multiplizität ist jetzt die Anzahl von Objekten einer Klasse, mit denen eine fixe Kombination von Objekten der übrigen Klassen eine Beziehung eingehen kann. Beziehung zwischen Buch Exemplar und Buch 1 hier nicht dargestellt Exemplar Bibliotheksmitarbeiter Ein Exemplar eines Buchs darf von höchstens einem Mitglied entliehen werden. Algorithmik 1, WS 2005/06, Folie 1-35 entleiht Dauer: Zeit Ein Mitarbeiter darf von einem Buch nur höchstens ein Exemplar ausleihen.
36 2.3 Klassendiagramm Eine Aggregation ( aggregation ) ist eine spezielle Form einer Assoziation, die eine ist-teil-von-beziehung zwischen einem Ganzen und dessen Bestandteilen ausgedrückt. Sie wird durch eine leere Raute beim Ganzen am Ende der Assoziation dargestellt. Eine Komposition ( composition, composite aggregation ) ist eine Aggregation, bei der ein Bestandteil genau zu einem Ganzen gehört und nicht ohne das Ganze existieren kann. Dargestellt wird die Komposition durch eine gefüllte Raute. Abbildung Zeichnung * * Kapitel * 1 Autor Anzahl Seiten Buch Titel Verlag Aggregation Komposition Algorithmik 1, WS 2005/06, Folie 1-36
37 2.3 Klassendiagramm Generalisierung ( generalization ) ist eine taxonomische Beziehung zwischen einer spezialisierten Klasse (Unterklasse) und einer allgemeineren Klasse (Oberklasse), die Gemeinsamkeiten von Klassen in einer gemeinsamen Oberklasse zusammenfasst. Generalisierung führt zu einer Vererbungsbeziehung ( inheritance ): Die Unterklasse hat alle Eigenschaften der Oberklasse und kann zusätzlich eigene haben. Man notiert nur die zusätzlichen. Ein Objekt der Unterklasse kann an jeder Stelle verwendet werden, an der ein Objekt der Oberklasse verwendet werden darf. Mehrfachvererbung (mehrere Oberklassen) ist in UML erlaubt. Kann es von der Oberklasse selbst keine Objekte geben, spricht man von einer abstrakten Klasse. Algorithmik 1, WS 2005/06, Folie 1-37
38 2.3 Klassendiagramm Generalisierung und Spezialisierung: Bib-Mitglied Adresse Literaturwerk Titel Autor Verlag Namen abstrakter Klassen werden kursiv dargestellt. Spezialisierung Generalisierung Spezialisierung Generalisierung Bib-Mitarbeiter Adresse Büro, Telefon, , Gehaltskonto Buch Titel Autor Verlag Auflage Zeitschrift Titel Autor Verlag Jahrgang Algorithmik 1, WS 2005/06, Folie 1-38
39 2.3 Klassendiagramm Notation im Klassendiagramm: Gemeinsam vorhandene Attribute werden in der Oberklasse notiert. Literaturwerk Titel Autor Verlag Literaturwerk Titel Autor Verlag Buch Zeitschrift Buch Zeitschrift Auflage Jahrgang Auflage Jahrgang Darstellungsmöglichkeit 1 Darstellungsmöglichkeit 2 Unterklassen erben die Attribute der Oberklasse. Algorithmik 1, WS 2005/06, Folie 1-39
40 2.4 Objektdiagramm Bis jetzt Klassendiagramm jetzt Objektdiagramm Ein Objektdiagramm stellt eine Menge von Objekten, deren Struktur und deren Beziehungen untereinander zu einem bestimmten Zeitpunkt dar. Objektverbindungen ( link ) repräsentieren die Ausprägungen von Assoziationen. Darstellungselement im Objektdiagramm: Objekte sind Rechtecke mit Namensfeld und Attributfeld Das Namensfeld enthält den optionalen Namen des dargestellten Objekts und hiervon durch ":" getrennt dessen Objektklasse. Beides wird unterstrichen. Die Darstellung der Attribute kann ausgeblendet werden. Objektverbindungen sind Linien zwischen den Objekten Algorithmik 1, WS 2005/06, Folie 1-40
41 2.4 Objektdiagramm Exemplar 1..* ist Exemplar von 1 Buch Klassendiagramm Objektdiagramm e1:exemplar InvNr = 10 e2:exemplar InvNr = 32 :Buch e3:exemplar InvNr = 78 Algorithmik 1, WS 2005/06, Folie 1-41
42 2.5 Interaktionsdiagramm Diagramme von UML (1.x) Strukturdiagramm WAS? Verhaltensdiagramme ( behavior diagrams ) WIE? Implementierungsdiagramme ( implementation diagrams ) Geschäftsvorfälle (1) Anwendungsfalldiagramm ( use case diagram ) (2) Klassendiagramm ( class diagram ) (3) Sequenzdiagramm ( sequence diagram ) (4) Kollaborationsdiagramm ( collaboration diagram ) (5) Zustandsdiagramm ( statechart diagram ) (6) Aktivitätsdiagramm ( activity diagram ) (7) Komponentendiagramm ( component diagram ) (8) Verteilungsdiagramm ( deployment diagram ) Gegenstand, statisch Dienste, dynamisch Interaktionsdiagramme ( interaction diagrams ) Dienste, statisch Gegenstand, dynamisch Algorithmik 1, WS 2005/06, Folie 1-42
43 2.5 Interaktionsdiagramm Problem Validierung Verifikation Problemanalyse Spezifikation Algorithmenentwurf Algorithmus WIE transformiert man die Eingabe in die Ausgabe? Vorgehen/Verfahren steht im Mittelpunkt. Dies ist ein Schwerpunkt der Vorlesung Algorithmik 1 Hier Außensicht: Zusammenspiel der Objekt, nicht internes Funktionieren der Objekte Computer, Von-Neumann-Rechner Ausführung Lösung Algorithmik 1, WS 2005/06, Folie 1-43
44 2.5 Interaktionsdiagramm Schaubild von Objekten und Klassen ist nur eine statische Beschreibung statisches Modell Geschäftsprozesse und Abläufe können so nicht dargestellt werden. Zur vollständigen Systembeschreibung gehören noch Szenarien ( dynamisches Modell) Kollaborationsdiagramm Schwerpunkt auf dem Zusammenwirken von Objekten (Berücksichtigung zeitlicher Abhängigkeiten zweitrangig) Sequenzdiagramm Zum Hervorheben des dynamischen Verhaltens und der zeitlichen Abläufe des Zusammenwirkens Szenarien beziehen sich stets auf Objekte Algorithmik 1, WS 2005/06, Folie 1-44
45 2.5 Interaktionsdiagramm Kollaborationsdiagramm ( collaboration diagram ) Eine Kollaboration beschreibt die Gesamtheit der Objekte, die bei der Ausführung einer bestimmten Aufgabe (eines konkreten Anwendungsfalles) interagieren, einschließlich der Verbindungen zwischen ihnen. Eine Folge von Nachrichten zwischen verbundenen Objekten beschreibt eine Interaktion ( interaction ). Nachricht: Aktivierung/Kommando an Objekt Notation: Objekte werden wie im Objektdiagramm dargestellt Ggf. Akteur als Auslöser des Anwendungsfalls ins Diagramm aufnehmen Linien zwischen Objekten zeigen den Austausch von Nachrichten an, wobei ein Name die Nachricht und eventuelle Parameter beschreibt und ein Pfeil die Richtung der Sendung angibt. Eine Nummerierung der Nachrichten zeigt deren Abfolge an. Algorithmik 1, WS 2005/06, Folie 1-45
46 2.5 Interaktionsdiagramm Kollaborationsdiagramm zum Entleihen eines Exemplars 2: ausgeben Exemplar Buch 2.1: übergeben 1: anfragen entleihen Mitglied BuchEntleiher Algorithmik 1, WS 2005/06, Folie 1-46
47 2.5 Interaktionsdiagramm Sequenzdiagramm ( sequence diagram ) Instanzen Nachrichtenaustausch (Rückmeldung kann weggelassen werden) o:c action(parameter) Lebenslinie des Objekts Aktivitätsphase Zeit Zerstörung des Objekts Algorithmik 1, WS 2005/06, Folie 1-47
48 2.5 Interaktionsdiagramm Exemplar eines Buchs entleihen Buch Exemplar Mitglied Schnittstelle entleihe Anfrage Ausgabe Übergabe Algorithmik 1, WS 2005/06, Folie 1-48
49 2.6 Zustandsdiagramm Zustandsdiagramm ( statechart diagram ) Zustandsdiagramme (genauer: Zustandsübergangsdiagramme) legen das Verhalten eines Objekts über die Zeit fest. Sie zeigen die mögliche Lebensgeschichte von Objekten einer gegebenen Klasse auf: Zustände, in denen sich die Instanzen einer Klasse befinden können. Mögliche Zustandsübergänge von einem Zustand zum anderen. Ereignisse, die Zustandsübergänge verursachen. Operationen, die in Zuständen bzw. im Zuge von Übergängen ausgeführt werden. Sie beschreiben somit das ganze oder auch nur Teile des möglichen von außen beobachtbaren Verhaltens von Objekten einer Klasse. Man spricht von Intra-Objekt-Verhalten Algorithmik 1, WS 2005/06, Folie 1-49
50 2.6 Zustandsdiagramm Zustandsdiagramm für ein Exemplar Startzustand erfassen() [Exemplar defekt] / entfernen() präsent Endzustand entleihe() zurückgeben() / nächsten Interessenten benachrichtigen [Exemplar verloren] / entfernen() ausgeliehen entry / entliehen Algorithmik 1, WS 2005/06, Folie 1-50
51 2.6 Zustandsdiagramm Elemente eines Zustandsdiagramms (1) Der Zustand ( state ) eines Objektes wird beschrieben durch: Aktuelle Belegung seiner Attribute und Beziehungen. Einem Zustand wird eine Zeitdauer unterstellt. Im Diagramm: Zustand als Abstraktion zulässiger Attributwerte und Beziehungen eines Objekts. Im Beispiel präsent, ausgeliehen Notation für Zustände: Zustand Finalzustand Pseudozustände: Z Initialzustand, Gabelung, Vereinigung Algorithmik 1, WS 2005/06, Folie 1-51
52 2.6 Zustandsdiagramm Elemente eines Zustandsdiagramms (2) Ein Ereignis ( event ) ist ein Stimulus, der von einem Objekt auf ein anderes einwirkt. (Nachrichtensendung) Ereignisse sind zeitlich punktuell, haben also keine messbare Dauer. Im Beipiel: erfassen(), zurückgeben() Ein Zustandsübergang ( transition ) ist ein durch ein Ereignis ausgelöster Zustandswechsel. Optional kann eine Überwachungsbedingung angegeben werden: Der Zustandsübergang kommt nur zustande, falls die Bedingung erfüllt ist. Notation für Zustandsübergänge: Pfeile mit Namen des auslösenden Ereignistyps. Eventuelle Aktionen folgen nach einem Schrägstrich. Bedingte Übergänge: Bedingung in eckigen Klammern. Algorithmik 1, WS 2005/06, Folie 1-52
53 2.6 Zustandsdiagramm Eine Aktivität ist die Ausführung eines Operators. Der Aktivität wird eine zeitliche Ausdehnung unterstellt. Eine Aktivität ist stets mit einem Zustand verbunden. Sie beginnt bei Eintritt in den Zustand und terminiert entweder von selbst oder durch Verlassen des Zustandes. Eine Aktion ( action ) ist eine atomare, nicht unterbrechbare Operatorausführung. Sie gilt als zeitlich punktuelle Ermittlung eines Funktionsergebnisses. Sie kann mit einem Zustand oder mit einem Ereignis verbunden sein. Notation für Aktivitäten/Aktionen innerhalb eines Zustandes: entry / aktion Aktion bei Eintritt in den Zustand. exit / aktion Aktion bei Verlassen des Zustands. do / aktivität Aktivität (Parameter sind erlaubt) Algorithmik 1, WS 2005/06, Folie 1-53
54 2.7 Entwurfsregeln Sechs Schritte zum statischen Modell 1. Klassen identifizieren Klassendiagramme, Kurzbeschreibungen 2. Assoziationen identifizieren Klassendiagramme vervollständigen 3. Attribute identifizieren Klassendiagramme vervollständigen 4. Unter/Ober-Klassenbeziehungen identifizieren Klassendiagramme vervollständigen (unnötige Beschreibungen streichen) 5. Assoziationen vervollständigen Klassendiagramme, Objektdiagramme 6. Attribute spezifizieren Attributspezifikationen und Beschreibungen Algorithmik 1, WS 2005/06, Folie 1-54
55 2.7 Entwurfsregeln Drei Schritte zum dynamischen Modell 1. Szenarien erstellen Sequenzdiagramme, Kollaborationsdiagramme 2. Zustandsautomat erstellen Zustandsdiagramm 3. Operationen beschreiben Klassendiagramme vervollständigen, fachliche Beschreibung der Operationen, Aktivitätsdiagramme Algorithmik 1, WS 2005/06, Folie 1-55
Unified Modeling Language (UML)
Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine
MehrEINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.
EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG
MehrGliederung des Vortrages
Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme
MehrJ.2 Objektorientiertes Modellieren mit UML
Modellieren mit UML Objektorientiertes Modellieren mit UML 2002 Prof. Dr. Rainer Manthey Informatik II 1 UML: Übersicht in den 1980er Jahren: Entstehen einer Vielzahl objektorientierter Entwurfsmethoden
MehrModellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014
Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme
Mehr09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
MehrVorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
MehrEinführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...
Vorlesung GIS Einführung in UML Stephan Mäs 28. Mai 2009 Überblick 1. Was ist UML??? Was ist ein Modell??? UML Geschichte,... 2. Diagrammtypen Schwerpunkt: Klassendiagramme 3. UML Software Arbeitsgemeinschaft
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrInhalte der Veranstaltung
Inhalte der Veranstaltung 5. Anwendungssysteme 5-4 6. Entwurf von Anwendungssystemen 6.1 Datenmodellierung 6-1 6.2 Geschäftsprozessmodellierung 6-32 6.3 Entwurf von Datenbanken 6-79 6.4 Nutzung von Datenbanken
MehrSoftware Engineering in der Praxis
Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16 Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für
MehrEinführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren
Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:
MehrOrientierte Modellierung mit der Unified Modeling Language
UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?
MehrSoftware-Engineering
FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML FH Wedel Prof. Dr. Sebastian Iwanowski
MehrEinführung in die Unified Modeling Language (UML)
Einführung in die Unified Modeling Language (UML) Hausarbeit zum Proseminar Datenbanken Wintersemester 2002/03 Seminarleitung: Dr. Christoph Draxler Verfasserin: Michaela Geierhos Centrum für Informations-
MehrÜbersicht der UML Diagramme
Dieser Fachbeitrag ist ein Service der InfraSoft Profis für Ihre professionelle Softwareentwicklung. Übersicht der UML Diagramme Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von
MehrModellierung von Web Anwendungen mit UML
Web Engineering-Seminar Modellierung von Web Anwendungen mit UML Yu Gan Yihui He 1 Gliederung 1. UML Grundlagen 1.1 Einführung 1.2 UML-Bausteine 1.3 Darstellung in Diagrammen 2. Modellierung von Web Anwendung
MehrRUP Analyse und Design: Überblick
Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und
MehrUML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at
UML Tutorial UML - Tutorial SS 06 Hubert Baumgartner www.inso.tuwien.ac.at INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt
MehrSoftwaretechnik SS 2006
Softwaretechnik SS 2006 7. Vorlesungseinheit Prof. Dr. Urs Andelfinger Darmstadt, 22. Mai 2006 Softwaretechnik (SWT) Vorlesung und Praktikum SS 2006 Inhaltsübersicht SW-Management SW-Entwicklung SW-Qualitätsmgmt.
MehrKlassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla
BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung
MehrGuido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis
Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses
MehrSoftwaretechnik Unified Modeling Language (UML)
Softwaretechnik Unified Modeling Language () Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin David Shayne: She s so charismatic, and she s brilliant and beautiful. I mean, a real artist, and,
MehrGrundbegriffe der Objektorientierung
Grundbegriffe der Objektorientierung Objekt Merkmale Zustand Verhalten Lebenszyklus Beziehungen zwischen Objekten Kategorisierung von Objekten Grundbegriffe der Objektorientierung Objekt Merkmale Zustand
MehrAnalyse und Entwurf objektorientierter Systeme
Analyse und Entwurf objektorientierter Systeme Teil 3 Modellbildung in der Analysephase 3.1 Statische und dynamische Notationselemente Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrProgrammieren in Java
FG TECHNISCHE INFORMATIK V JV A00 00 TH 0 Programmieren in Java Anhang A A. Modellierung von OOP-Programmen A.. Klassenkategorien A.2. Klassembeziehungen A.3. Klassendiagramm und Sequenzdiagramm der UML
MehrSoftware Engineering in der Praxis
Inhalt Nachlese Aufgaben Literatur Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Aufgaben Literatur Marc Spisländer Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität
MehrObjektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010. Grundlagen. Neubearbeitung 2010
Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010 Objektorientierter Softwareentwurf mit UML Grundlagen Neubearbeitung 2010 PGOS2010 I Objektorientierter Softwareentwurf mit UML - Grundlagen
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrUML Notation für objektorientierte Systeme
UML Notation für objektorientierte Systeme Die Unified Modeling Language (UML) ist eine graphische Notation, eine visuelle Modellierungssprache [UML Referenz], die es erlaubt die Artefakte eines Softwaresystems
MehrSoftware Engineering Klassendiagramme Einführung
Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt
MehrObjektorientierte Software-Entwicklung
Objektorientierte Software-Entwicklung Priv.- Doz Dr. Rolf Hennicker 04.10.2002 Kapitel 2 Objektorientierte Modellierungstechniken Kapitel 2 Objektorientierte Modellierungstechniken 2 Ziele Klassendiagramme
Mehr3. Tutorium zu Softwaretechnik I
3. Tutorium zu Softwaretechnik I Aktivitäts-, Sequenz- & Zustandsdiagramme Michael Hoff 20.05.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und
Mehr24 Transformation der Anforderungsspezifikation
271 24 Transformation der Anforderungsspezifikation 24.1 Einleitung Bei der Softwarespezifizierung wird die Anforderungsspezifikation überarbeitet, weiter strukturiert und präzisiert, um eine Basis für
MehrObjektorientierter Software-Entwurf Die Unified Modeling Language 4 1
Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:
MehrSoftwareentwicklung mit UML
Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1 Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML
MehrUML mit Enterprise Architect
Matthias Fritz UML mit Enterprise Architect Trainingsunterlage - 6. überarbeitete Auflage XEN Information Systems GmbH, Wien Der Autor Dipl.-Ing. (FH) Matthias FRITZ hat ein Studium der Informationstechnik
MehrModellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting
Modellierungstechniken im Softwaredesign Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Was ist Modellierung? Modell = Ein Modell ist eine Repräsentation eines Systems von Objekten,
MehrMethodische objektorientierte Softwareentwicklung
Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell
MehrLösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation zwischen
MehrRequirements Engineering I
Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen
MehrObjektorientierte Analyse (OOA) Logischer Aufbau (statische Sicht)
Inhalte Klassen(-Diagramm) Objekte Assoziation Multiplizität Aggregation Vererbung Logischer Aufbau (statische Sicht) OOA-Muster Model-View-Controller Konzept (MVC) - noch in Arbeit Seite 1 Klassen Eine
MehrModellierung von Verhalten OOPM, Ralf Lämmel
Wer ist das dann wieder? Modellierung von Verhalten OOPM, Ralf Lämmel 878 Strukturelle Modellierung vs. Verhaltensmodellierung Klassendiagramm für die Modellierung einer Universität Aktivitätsdiagramm
MehrFolien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 4: Modellierung von betrieblichen Informationssystemen
Folien zum Textbuch Kapitel 2: Planung, Entwicklung und Betrieb von IS Teil 4: Modellierung von betrieblichen Informationssystemen Textbuch-Seiten 209-245 WI Planung, Entwicklung und Betrieb von IS IS-Modellierung
MehrSystemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 -
Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule
Mehr1 Überblick 1. 4 Literatur 21
Dieses Dokument befasst sich mit ausgewählten Diagrammen der UML. Inhaltsverzeichnis 1 Überblick 1 2 Strukturdiagramme 2 2.1 Klassendiagramm....................................... 2 2.2 Objektdiagramm........................................
MehrDarstellung von Assoziationen
Darstellung von Assoziationen Wie bereit aus Kapitel 1 bekannt, beschreiben Assoziationen Beziehungen zwischen Objekten, die zwischen Klassen modelliert werden. Zunächst soll die Modellierung binärer Assoziationen
MehrKlausurvorbereitung Software Engineering I @ TFH Berlin
Teil 1 Einführung in Software Engineering Definition: Was ist Software Engineering? Unter Software Engineering (SE) versteht man den systematischen, disziplinierten und in seiner Größe abschätzbaren Ansatz,
MehrSEQUENZDIAGRAMM. Christoph Süsens
SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
MehrSoftwaretechnik. Fomuso Ekellem WS 2011/12
WS 2011/12 Weiteren Verlauf der Vorlesung 31.10.2011(2 Std) OO Vorgehensmodelle, UML, Teamarbeit, Gruppenbildung,. 07.11.2011(2,5Std) Projektvorstellung, Planungsphase 14.11.2011(2 Std) Angebotspräsentation,
MehrSoftware-Architektur-Modellierung mit UML
Software-Architektur-Modellierung mit UML Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. GI Arbeitskreis Software-Architekturen, Oldenburg, 2004-02-11 Vert.- Diagramm Komm.- Diagramm Modellierung
MehrUnified Modeling Language. Lerneinheit 2. UML - Diagramme. Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg. überarbeitet UML 2.0
Lerneinheit 2 UML - Diagramme Diagramme in der UML Wesentlicher Bestandteil der Modellbildung Graphen, wobei fundamentale Modellelemente (z.b. Klassen, Objekte, Zustände) die Knoten und Beziehungen zwischen
Mehr6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.
6. Modellierung von Informationssystemen Spezialseminar Matr. FS 2000 1/10 Volker Dobrowolny FIN- ITI Quellen: Oscar Pastor, Jaime Gomez, Emilio Insfran, Vicente Pelechano The OO-Method approach for information
MehrTechniken der Projektentwicklung
diagramme Termin 6 Denken in Schnittstellen Was nun? Einführung Bisher kennengelernt: Modellierung auf Konzeptlevel Usecase-Diagramme Domänenmodelle Jetzt: Übergang zu Spezifikation und Implementierung!
MehrMotivation. Motivation
Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten
MehrSystemanalyse. - Seminar für AI/DM 3 im Wintersemester 2004/05 -
Systemanalyse - Seminar für AI/DM 3 im Wintersemester 2004/05 - Prof. Dr. Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule Kaiserslautern,
MehrSoftware-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim
Software- Der Strategien und ist der zum Definieren der Architektur, der Komponenten, der Schnittstellen und anderer Charakteristika (Datenstrukturen, Algorithmen etc.) eines Systems oder einer Komponente
MehrObjektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Smalltalk CLOS Ada 9 C++ Objektorientierte Softwareentwicklung Object Pascal Java Oberon-2 Frage: Die Bibliothek der Fachhochschule
MehrSoftwaretechnik. Fomuso Ekellem WS 2011/12
WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von
MehrUnternehmensmodellierung
Josef L. Staud Unternehmensmodellierung Objektorientierte Theorie und Praxis mit UML 2.0 4ü Springer Inhaltsverzeichnis EINLEITUNG 1 1.1 Unternehmensmodellierung 1 1.2 Objektorientierung als solche 6 1.3
MehrObjektorientierte Analyse
Objektorientierte Analyse 1) Systemanalyse Einführung Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden
MehrObjektorientierte Software-Entwicklung
Objektorientierte Software-Entwicklung Priv.- Doz Dr. Rolf Hennicker 04.10.2002 Kapitel 3 Objektorientierte Analyse Kapitel 3 Objektorientierte Analyse 2 Ziele Eine Anwendungsfall-Analyse für ein zu entwickelndes
Mehra) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..
Software Engineering I Musterlösungen zur Klausur vom 3.7.2004 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. zeigt eine mögliche Lösung. Turnier sportart
MehrAuktion name adresse pseudonym emailadresse /bewertungszahl. Gebot. höhe zeitpunkt bieter. initiiert
Software Engineering I Musterlösungen zur Klausur vom 2.8.2003 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Daher verzichten wir auf Klassen wie Sofortkauf,
MehrAlgorithmen und Datenstrukturen 07
5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7
MehrEinführung in die Programmierung mit Java. Hörsaalübung
Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung
MehrSoftware Engineering. 7. Sequenz- und Zustandsdiagramme. Franz-Josef Elmer, Universität Basel, HS 2012
Software Engineering 7. Sequenz- und Zustandsdiagramme Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 7. Sequenz- und Zustandsdiagramme 2 Sequenzdiagramme Häufigstes Verhaltensdiagramm
Mehr3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
MehrLösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation
MehrBEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE
CO-MAT-TECH 2004 14-15 October 2004 BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE Roman NAGY External doctorand
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
MehrBei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation.
UML Was ist UML UML (=Unified Modeling Language) ist eine weit verbreitete, standardisierte Notationsschrift, die das grafische Darstellen von Software-Systemen ermöglicht und dadurch eine grosse Unterstützung
MehrKapitel 3. Objektorientierte Analyse
Seite 1 Kapitel 3 Objektorientierte Analyse Prof. Dr. Rolf Hennicker 23.11.2010 Ziele Seite 2 Eine Anwendungsfall-Analyse für ein zu entwickelndes System durchführen können. Schrittweise ein statisches
MehrObjektorientierte Spezifikation mit UML
Objektorientierte Spezifikation mit UML Was ist objektorientierte Spezifikation? Modellierung der funktionalen Anforderungen Klassenmodell Szenarien/Anwendungsfallmodell Glossar Keine speziellen Verfahren/Darstellungsmittel
MehrVon der UML nach C++
22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete
MehrSoftware Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012
Software Engineering 5. UML Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 5. UML 2 Unified Modeling Language (UML) Standardisierte grafische Notationen um Strukturen und Abläufe eines
MehrUse Cases. Use Cases
Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben
MehrDaten- und Informationsmodellierung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Daten- und Informationsmodellierung Dr. Thomas Gottron Wintersemester 2012/13 Lernziele Kenntnis der Vorgehensweise beim DB-Entwurf
MehrRhapsody in J Modellierung von Echtzeitsystemen
Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung
MehrVgl. Oestereich Kap 2.7 Seiten 134-147
Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte
MehrSoftwaretechnik. Fomuso Ekellem
WS 2011/12 Inhalt Entwurfsphase Systementwurf Software Architektur Entwurf Software Komponenten Entwurf Struktur Verhalten OO Entwurf (OOD) 2 Entwurfsphase 3 Entwurfsphase Lernziele Aufgaben der Entwurfsphase
MehrWorkflows: Anforderungserhebung und analyse
Workflows: Anforderungserhebung und analyse Tutorium 4 9. März 2009 Svetlana Matiouk, Uni Bonn Ferientutorien zur Vorlesung Softwaretechnologie WS 2008 4. Treffen, Aktivitäten bei der Softwareentwicklung
MehrSoftware Engineering in der Praxis Praktische Übungen
Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientierte Analyse 1 / 14 1 Inhalt 2 Überblick 3 Werkzeuge 4 Aufgaben Pinte, Spisländer FAU Erlangen-Nürnberg
MehrVorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
MehrInhalt: Version 1.7.5
Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten
MehrSoftware Engineering und Projektmanagement
Software Engineering und Projektmanagement Motivation! Fachliche Sicht trifft auf technische Realisierung Entwurf 2009W - 5. November 2009 Andreas Mauczka Email: andreas.mauczka@inso.tuwien.ac.at Web:
MehrObjektorientierte Geschäftsprozessmodellierung mit der UML
Bernd bestereich Christian Weiss Claudia Schröder Tim Weilkiens Alexander Lenhard 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com
Mehr2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte)
Objektmodellierung 2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte) Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Erklären
MehrSoftware Engineering Analyse und Analysemuster
Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse
MehrVgl. Oestereich Kap 2.6 Seiten 127-133
Vgl. Oestereich Kap 2.6 Seiten 127-133 4. Zustände 1 Aktivitäts- und Zustands-Diagramm werden oft verwechselt. Es ist darum wichtig zu unterscheiden, dass im Aktivitätsdiagramm die Aktionen im Zentrum
MehrInformationsmanagement in Organisationen Überblick
Informationsmanagement in Organisationen Überblick Wolfgang H. Janko Andreas Geyer-Schulz Stefan Koch Edward Bernroider Abteilung für Informationswirtschaft Institut für Informationsverarbeitung und Informationswirtschaft
MehrLabor Modellgestütztes Software Engineering. Versuch 1
Labor Modellgestütztes Software Engineering Versuch 1 Wintersemester 2015 Dipl.-Ing. (FH) Joachim Hampel Version 7_01, 11.10.2012 Inhaltsverzeichnis Inhalt 1 EINFÜHRUNG... 3 1.1 RHAPSODY MODELER... 4 1.2
MehrKapitel KLASSENDIAGRAMME
Kapitel KLASSENDIAGRAMME 5.1 Klassendiagramm Objekt Darstellung im Objektdiagramm Objektidentität Kapselung und Geheimnisprinzip 5.2 Klasse Abstrakte Klasse, Klassenname Wurzelklasse 5.3 Assoziation Abgeleitete
MehrSoftwaretechnik für den Entwurf
Projektseminar RIKA Wintersemester 1999/2000 18.11.1999 Holm Wegner, Florian Matthes Entwurfsphase: Einordnung Planungsphase Lastenheft Definitionsphase Pflichtenheft Entwurfsphase Produktentwurf Implementierungsphase
MehrSoftware-Engineering Objektorientierte Konzepte des Software-Engineering 5.2 UML Unified Modeling Language
Software-Engineering Objektorientierte Konzepte des Software-Engineering 5.2 UML Unified Modeling Language Prof. Dr. Rolf Dornberger Software-Engineering: 5 Definitionsphase Objektorientierte Konzepte
MehrSWE5 Slide 1. Software-Engineering. Vorlesung 5 vom 15.11.2004 Sebastian Iwanowski FH Wedel
SWE5 Slide 1 Software-Engineering Vorlesung 5 vom 15.11.2004 Sebastian Iwanowski FH Wedel SWE5 Slide 2 Software-Engineering Vorlesungsthemen: 1. Überblick über das Thema und die Vorlesung 2. Grundlegende
MehrDr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??
Mehr