1313 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle Dr. Harald Störrle Vorbereitung...
-
Upload
tristan-hafner -
Category
Documents
-
view
213 -
download
0
Transcript of 1313 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle Dr. Harald Störrle Vorbereitung...
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
13
Vorbereitung
· Stimmen meine sprachlichen Regelungen mit den Aussagen aus dem SOPHIST-Buch überein?!
· alle ?? entfernt?!
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
23
Vorbereitung
· Beamer, Laptop, Maus· 5 Exemplare der Diss· Anwesenheitsliste· Handout
• IS-Artikel: Architektur• OS-Artikel von Oesterreich über GePro
Modellierung mit UML• sprachliche Richtlinine aus Sophist-Buch
kopieren· Fragen?
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
33
Vorlesung
Software Architektur-ModelleGrundlagen 3: UML
Dr. Harald Störrle
Ludwig-Maximilians-Universität MünchenWintersemester 2001
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
43
Organisatorisches
• WWW-Angebotwww.pst.informatik.uni-muenchen.de/lehre/WS0102/architektur
• Buch bitte nach der Vorlesung abholen (DM 25)(Fehler bitte melden, Erratum in Vorbereitung)
• Vorlesungszeit ist kostbar, und dies ist keine Anfängerveranstaltung: Vorwissen und Nacharbeit sind erforderlich!
• Aufgaben vom letzen Mal
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
53
· Geschäftsprozesse einer Bibliothek
• Was gibt es für welche?• Welchen haben Sie vertieft?• Wie sind Sie vorgegangen?
• Welche Notationen haben Sie verwendet?
• Welchen Schwierigkeiten sind Sie begegnet?• Welche Erkenntnisse haben Sie daraus gezogen?
Aufgaben vom letzten Mal
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
63
Aufgaben vom letzten MalBeabsichtigte Lerneffekte
• „Bewußtseinserweiterung“
• hört sich einfach an - und ist mit das Schwerste
• es gibt eine Vielzahl verschiedener Notationen mit unterschiedlichen Vor- und Nachteilen
• Die allgemeine Verständlichkeit einer Notation ein entscheidender Vorteil, selbst wenn sie mit sonstigen Nachteilen erkauft würde.
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
73
Einleitung– Architektur-Einheiten („Komponenten“)– Semantik-Formalismen (CSP, PN, ES, LTS)– Entwurfs-Notationen (UML, SARA)– Wright– Darwin– UML/AM (SARA, ROOM, UML/RT, SDL,...)– Elementare Methodiken– Konsistenz, Verifikation– Validation, Soft-FactorsRückschau
SemestervorschauÜberblick
Prozesse
ADLs
Grundlagen3
7
2
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
83
Einleitung– Architektur-Einheiten („Units“)– Modellierungs-Notationen (UML, ...)– Semantik-Formalismen (CSP, PN; Traces, LTS, PW)– Wright– Darwin– UML/AM– Konsistenz, Verifikation– S/390 („Host“) & CICS vs. EJB & Applicationserver– Grundbegriffe am Beispiel Änderungsverwaltung– elementare Methodiken– Validation, Soft-FactorsRückschau
SemestervorschauÜberblick (neu)
Prozesse
ADLs
Grundlagen3
5
3
Host vs. EJB
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
93
Einleitung– Architektur-Einheiten („Units“)– UML vs. Wright, Darwin, SARA, ROOM– UML 2 UCM, UML/AM– Wright, Darwin, SARA, ROOM– Semantik-Formalismen (CSP, PN; Traces, LTS, PW)– Konsistenz, Verifikation
– S/390 („Host“) & CICS vs. EJB & Applicationserver– Grundbegriffe am Beispiel Änderungsverwaltung– elementare Methodiken– Validation, Soft-FactorsRückschau
SemestervorschauÜberblick (neu)
Prozesse
ADLs5
3
Host vs. EJB
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
103
Ziele für heute (& nächstes Mal)
· Einführung in UML– Grundlagen– Notationen
· Grundbegriffe der Methodologie
· Vertiefung am Beispiel „Bibliothek“– Lücken und Probleme der UML– UML-Erweiterungen für Architektur-Modellierung– UML-Semantik– Konsistenz von Modellen
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
113
UML\RTUML\AM
UML 2.0
UML 1.1
UML 1.4
Booch‘93OMT‘94OOSE‘94
(UML 1.0)
StateCharts80‘er HarelOOSE
80‘er, Jacobson et al.OMT
80‘er Jahre ROOM94, Selic et al.
SARA70‘er, Estrin et al.Objectory
70‘er, Jacobson et al.SADT, MSC, SDL, ...
UML 0.8Booch/Rumbaugh
UML 0.9„3 Amigos“
UML 1.3
1997
2001
2002?
2000
1998
UML Übersicht Kurze Geschichte der Methodik
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
123
UML Übersicht Interner Aufbau in 4 Schichten
· S3 Meta-Metamodel MOF
· S2 Metamodell P/LMM, CDIF, CWM
· S1 Modell
· S0 System
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
133
UML ÜbersichtErfolgsfaktoren
· Konsolidierung des Methodik-„Marktes“ durch die vereinte Anstrengung der 3 Marktführer.
· Dadurch wurde der Aufwand für• Integration• (formale) Semantik• Werkzeuge
überhaupt erst wirtschaftlich tragbar.
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
143
UML ÜbersichtGeltung, Abdeckung, Rang
· Nur ein Quasi-Standard von der (Hersteller-Vereinigung) OMG, gilt aber de-facto:„UML ist die lingua franca der Software-Engineering Community“.
· UML definiert Notation und eine informelle Semantik, aber kein Vorgehen, keine Methodik.
· UML unterstützt Objektorientierung (was immer das sein mag), ist aber nicht darauf beschränkt.
· UML deckt recht viel von dem ab, was abgedeckt werden muß.· UML ist (einigermaßen) präzise, aber (noch) nicht immer formal
interpretierbar.
· UML hat viele Fehler und Lücken, aber es ist der beste Ansatz bislang.
· UML wird auf absehbare Zeit das Kommunikationsvehikel (von Architekten) sein.
Geltung
Rang
Abdeckung
Fazit
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
153
UML ÜbersichtWerkzeuge
· Die meisten Werkzeuge sind sehr weit weg von der UML (z.B. Rational Rose, Together).
· Es gibt aber auch sehr gute Werkzeuge, die sich wirklich an die UML halten (insbesondere MagicDraw).
· Für kleine Beispiele gehen auch einfache Malwerkzeuge (Visio „Schablone „Software“, xfig).
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
163
UML ÜbersichtNutzen der UML
· Entscheidender Schritt von UML 0.8 zu 1.1 Integration der Notationen und Begriffswelten durch Metamodell.
· Das ist es, was UML wertvoll macht.
· Damit ist potentiell eine echte (d.h. formale und umfassende) Semantik möglich.
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
173
Notationen in der UML
· Nutzfalldiagramm („Anwendungsfalldiagramm“)· „statische-Struktur-Diagramme“
• Klassendiagramm, Objektdiagramm· Zustandsdiagramm
• Aktivitätendiagramm· Interaktionsdiagramme
• Sequenzdiagramm• Kollaborationsdiagramm
· Implementationsdiagramm• Komponentendiagramm• Verteilungsdiagramm• Paketdiagramm
· Object Constraint Language (OCL)
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
183
UML Notationen1. Nutzfalldiagramm
· Gegenstandfunktionale Anforderungen (inkl. Geschäftsprozesse) beliebiger Modellelemente
· ElementeAktor, Nutzfall, div. Beziehungen, Systembox
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
193
UML Notationen1. Nutzfalldiagramm
· Einbettung• Actor und UseCase sind Classifiers• „Bounding Box“ exisitiert nicht• Extend, Include, Generalisation, Association
sind Relationships· Semantik
• unklar• Beziehungen zu ActionState, Subsystem und
Interface?• UseCaseInstance aber keine ActorInstance?
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
203
UML NotationenNutzfälle Bibliothek
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
213
UML NotationenKontext Bibliothek
Ebene 0 des Systems „Bibliothek“ enthält das Unterstützungssystem selber, den Leser, den Interessenten und den Bibliothekar.
Der Kontext eines Systems ist die Struktur auf der übergeordneten Ebene.
Beachte:Bibliothek vs. Bibliothekssystem
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
223
UML NotationenGeschäftsprozesse Bibliothek
•Layout•Überschneidungen•Knickpunkte•„Kamm“-Notation•horizontal•vertikal
•Namen•System•GePros („Bestandspflege“)•Aktoren ->Glossar
Beachte:keine Systemgrenze
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
233
UML NotationenFacharchitektur Bibliothek
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
243
UML NotationenZuordnung GePros / Facharchitektur
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
253
UML Notationen2. Klassendiagramm
· Gegenstandstatische Struktur
· ElementeKlasse, Schnittstelle, div. Beziehungen; Aktor, Objekt, Link
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
263
UML Notationen2. Klassendiagramm
· Einbettung• Class, Interface sind Classifier, Object ist Instance• Assciation, Generalisation , Flow, Dependency
(und Unterklassen) sind Relationships
· Semantik• im Prinzip: Code. Aber was ist mit
AssociationClass, n-ären Assoziationen, Aggregation vs. Komposition, Analyse- vs. Implementationsklassen?
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
273
UML Notationen2. Klassendiagramm
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
283
UML Notationen3. Zustandsdiagramm
· Gegenstandgenerisches Verhalten belibiger Modellelemente
· Elementeverschiedene Arten Zustände, Transitionen
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
293
UML Notationen3. Zustandsdiagramm
· Einbettung• vollkommen separater Baum - historisch bedingt• Wie könnte es anders sein? Ist ein Zustand/ein
Automat generisch oder eine Instanz?
· Semantik• Umfängliche textuelle Beschreibung, viele
Lücken und unklarheiten, die aber aus den Vorläufern heraus formal interpretierbar sind. Es gibt hunderte StateChart-Semantiken...
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
303
UML Notationen3. Zustandsdiagramm
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
313
UML Notationen4. Aktivitätendiagramm
· GegenstandKontroll- & Datenfluß
· Elementeverschiedene Arten Aktivitäten,Transitionen, Flußrelation,Daten, Schwimmbahnen
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
323
UML Notationen4. Aktivitätendiagramm
· Einbettung• ActivityGraph ist eine StateMachine• Swimlanes? (Achtung - „Bounding box“!)
· Semantik• siehe StateMachine• ObjectFlowStates sind im MM rein syntaktisch
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
333
UML Notationen4. Aktivitätendiagramm
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
343
UML Notationen4. Aktivitätendiagramm
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
353
UML Notationen5. Sequenzdiagramm
· GegenstandInteraktion von beliebigen Modellelementen (Fokus: Zeit)
· ElementeRollen, Lebenslinien, Aktivierung, Nachrichten
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
363
UML Notationen5. Sequenzdiagramm
· Einbettung• eigener Baum - historisch bedingt• Partielle Ordnung von Nachrichten auf einem
Ensemble von Rollen
· Semantik• lückenhaft (s. Dissertation von Alexander
Knapp)• Event Structures, Partielle Worte
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
373
UML Notationen5. Sequenzdiagramm
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
383
UML Notationen6. Kollaborationsdiagramm
· GegenstandInteraktion von beliebigen Modellelementen (Fokus: Rolle)
· ElementeRollen, Verbindungen, Nachrichten (Punkt-Notation, Buchstaben)
unübersichtlich, was den Ablauf angehtaber das Layout bleibt (ggf.) bestehen
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
393
UML Notationen6. Kollaborationsdiagramm
· Einbettung• identisch zu Sequenzdiagramm
· Semantik• identisch zu Sequenzdiagramm
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
403
UML Notationen7. Komponentendiagramm
· Gegenstandstatische Struktur auf Implementationsebene
· ElementeKomponente, Schnittstelle, div. Beziehungen
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
413
UML Notationen8. Verteilungsdiagramm
· GegenstandSystemtopologie und Verteilung von Komponenten darauf
· ElementeKnoten, Verbindung, & Elemente des Komponentendiagrammes
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
423
UML Notationen9. Paketdiagramm
· Gegenstandstatische Struktur von Artefakten (Modelle, Code, ...)
· ElementePakete, Schnittstellen, div. Beziehungen & Elemente des Klassendiagrammes
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
433
UML Notationen(2,) 7, 8, 9: „Implmentation“
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
443
UML Notationen2, 7, 8, 9: Implementationsdiagramme
· Einbettung• Node, Component, Interface sind Classifier• Dependency, Flow sind Relationships• NodeInstance, ComponentInstance sind
Instance
· Semantik• Source-Code, Make-Skripte,
Verzeichnisstrukturen• => Abhängigkeitsgraphen, partielle Ordnung
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
453
UML Notationen2, 7, 8, 9: Implementationsdiagramme
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
463
UML Notationen??10. OCL
· Gegenstandlogische Randbedingungen eines Systems
· ElementeSchlüsselworte, Operatoren, Variablen
· <etwas aus dem MM>
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
473
UML Notationen??10. OCL
· Einbettung• in UML 1.3: keine• in UML 1.4: ??
· Semantik• in etwa getypte Prädikatenlogik erster Stufe• siehe Beiträge von Knapp/Cengarle auf den
letzten UML Konferenzen• wird im Moment gerade zunichte standardisiert
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
483
UML Notationen10. OCL
· Ein Leser darf höchstens• 20 Bücher• 10 Zeitschriften• 10 CDs
ausleihen, maximal jedoch 20 Medien.
· Ein Leser darf höchstens 5 Vorbestellungen aufgeben.
· Es kann höchstens 3 Vorbestellungen auf ein Medium geben.
· Die erste Mahnung ist kostenfrei, und wird erst 1 Woche nach Ablauf der Leihfrist ausgesprochen.
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
493
Ziele für heute (& nächstes Mal)
· Einführung in UML– Grundlagen– Notationen
· Vertiefung am Beispiel „Bibliothek“– Lücken und Probleme der UML– UML-Erweiterungen für Architektur-Modellierung– UML-Semantik– Konsistenz von Modellen
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
503
Architektur-Modelle und UML:Angebot / Bedarf
· Geforderte Konzepte• Einheiten• Ports• Konnektoren• Protokoll
...sowie passende Notationen.
· Wo gibt’s das in der UML?
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
513
Architektur-Modelle und UML:Notation
· Notation• Gegenstand• Elemente• Einbettung• Semantik
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
523
UML/AM Notationen1. SARA-Notation
· GegenstandModellierung von großen Strukturen
· ElementeEinheit, Sicht, Port, Konnektor, Konfiguration, Protokoll
· Einbettunghierin liegt der Trick!
· Semantikhängt vom Verwendungszweck ab
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
533
SARA-NotationMetamodell-Ausschnitt & Einbettung
Konfiguration
Einheit
Konnektor
Rolle
Protokoll
Sicht
Port2..*
+
+
2..*
*
*
+
+*
OH-FolieSkript Kapitel 4
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
543
SARA-NotationEinheiten
Hülle um die Einheit
Port mit Protokollrolle
© Bran Selic
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
553
SARA-NotationKonfiguration
© Bran Selic
Notation zu aufwendig•3D•Farbe
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
563
SARA-NotationEinheit, Konnektor, Konfig., Protokoll
© Bild: Bran Selic© Notation: Estrin et al. übernommen durch Bran Selic et al.
sender : Faxsender : FaxSenderSender
receiver : Faxreceiver : FaxReceiverReceiver
callcall
ackack
datadata
callcallackack
sendsend
SenderSender ChannelChannel ReceiverReceiver
ChannelChannel
datadata
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
573
Quellen
Ich empfehle (in dieser Reihenfolge):
· Object Management Group: The Unified Modeling Languagewww.omg.org bzw. P:/CCI/Wissensaufbau/UML
· Rumbaugh, Jacobson, Booch: The UML Reference ManualAddison Wesley, 2000
· Bernd Oesterreich: Objektorientierte SoftwareentwicklungOldenbourg, 2001, 5. Aufl., siehe auch www.oose.de
· Heide Balzert: Lehrbuch der Objektmodellierung Spektrum, 1999, siehe auch www.software-technik.de
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
583
Quellen
Als Hintergrund auch brauchbar:
· Craig Larman: Applying UML and PatternsPrentice-Hall, 1998
· D`Souza, Wills: Objects, Components, Patterns: The Catalysis Approach
Addison Wesley, 1999
· IEEE Architecture Working Group: P1471http://ieeexplore.ieee.org/iel5/7040/18957/00875998.pdf?isNumber=18957
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
593
Weitere Quellen
Ich rate dringend ab von:
· Martin Fowler: UML kompakt
· Booch, Rumbaugh, Jacobson: UML Tutorial
· Heide Balzert: Objektorientierung in 7 Tagen
· Helmut Balzert: Lehrbuch der Software-Technik
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
603
Nächste beiden Male· Vertiefung des Beipiels
· Methodik
· Neue Notationen
· Konsistenz
· Semantik
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
613
Aufgabe zum nächsten Mal· Modellieren Sie die Fachlichkeit der
Domäne „Bibliothek“, also• die statische Struktur• Objekt-Lebenszyklen• typische Interaktionen
mit den jeweils angemessenen Notationen.
· Kritisieren Sie meine Beispiele: was daran ist gut, was schlecht.
6.11.2001Grundlagen 3: UML
VL Software Architektur-ModelleDr. Harald Störrle
623
Aufgabe zum nächsten Malfür Motivierte
· Modellieren Sie die Domäne „Orchester“, also• den Systemkontext• die statische Struktur der Domäne• die Geschäftsprozesse
mit den jeweils angemessenen Diagrammen.
· Beachte: reines Analysemodell, daher verringerte Gefahr der vorzeitigen Realisierungsorientierung.