1313 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle Dr. Harald Störrle Vorbereitung...

Preview:

Citation preview

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.

Recommended