Vorbereitung Stimmen meine sprachlichen Regelungen mit den Aussagen aus dem SOPHIST-Buch überein?! alle ?? entfernt?! 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Software Architektur-Modelle Vorlesung Software Architektur-Modelle Grundlagen 3: UML Dr. Harald Störrle Ludwig-Maximilians-Universität München Wintersemester 2001 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Organisatorisches WWW-Angebot www.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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Aufgaben vom letzten Mal 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? 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Aufgaben vom letzten Mal Beabsichtigte 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Semestervorschau Überblick 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-Factors Rückschau Grundlagen 3 ADLs 7 Prozesse 2 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Semestervorschau Überblick (neu) 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-Factors Rückschau Grundlagen 3 ADLs 5 Host vs. EJB Prozesse 3 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Semestervorschau Überblick (neu) 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-Factors Rückschau ADLs 5 Host vs. EJB Prozesse 3 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Übersicht Kurze Geschichte der Methodik UML\RT UML\AM UML 2.0 UML 1.1 UML 1.4 Booch‘93 OMT‘94 OOSE‘94 (UML 1.0) StateCharts 80‘er Harel OOSE 80‘er, Jacobson et al. OMT 80‘er Jahre ROOM 94, Selic et al. SARA 70‘er, Estrin et al. Objectory 70‘er, Jacobson et al. SADT, MSC, SDL, ... UML 0.8 Booch/Rumbaugh UML 0.9 „3 Amigos“ UML 1.3 1997 2001 2002? 2000 1998 Personen erwähnen Inhaltliche Schwerpunkte: OMT: Design Booch: Analyse OOSE: Anforderungen, Prozeß SARA: Architektur Harel: Verhalten 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Übersicht Interner Aufbau in 4 Schichten S3 Meta-Metamodel MOF S2 Metamodell P/LMM, CDIF, CWM S1 Modell S0 System Metamodell Vererbungshierarchie 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Übersicht Erfolgsfaktoren 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Übersicht Geltung, 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. Abdeckung Rang Fazit 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Übersicht Werkzeuge 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Übersicht Nutzen 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 1. Nutzfalldiagramm Gegenstand funktionale Anforderungen (inkl. Geschäftsprozesse) beliebiger Modellelemente Elemente Aktor, Nutzfall, div. Beziehungen, Systembox 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 1. 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen Nutzfälle Bibliothek 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen Kontext 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen Geschäftsprozesse Bibliothek Layout Überschneidungen Knickpunkte „Kamm“-Notation horizontal vertikal Namen System GePros („Bestandspflege“) Aktoren ->Glossar Beachte: keine Systemgrenze 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen Facharchitektur Bibliothek 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen Zuordnung GePros / Facharchitektur 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 2. Klassendiagramm Gegenstand statische Struktur Elemente Klasse, Schnittstelle, div. Beziehungen; Aktor, Objekt, Link 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 2. 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 2. Klassendiagramm 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 3. Zustandsdiagramm Gegenstand generisches Verhalten belibiger Modellelemente Elemente verschiedene Arten Zustände, Transitionen 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 3. 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 3. Zustandsdiagramm 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 4. Aktivitätendiagramm Gegenstand Kontroll- & Datenfluß Elemente verschiedene Arten Aktivitäten, Transitionen, Flußrelation, Daten, Schwimmbahnen 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 4. Aktivitätendiagramm Einbettung ActivityGraph ist eine StateMachine Swimlanes? (Achtung - „Bounding box“!) Semantik siehe StateMachine ObjectFlowStates sind im MM rein syntaktisch 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 4. Aktivitätendiagramm 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 4. Aktivitätendiagramm 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 5. Sequenzdiagramm Gegenstand Interaktion von beliebigen Modellelementen (Fokus: Zeit) Elemente Rollen, Lebenslinien, Aktivierung, Nachrichten 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 5. 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 5. Sequenzdiagramm 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 6. Kollaborationsdiagramm Gegenstand Interaktion von beliebigen Modellelementen (Fokus: Rolle) Elemente Rollen, Verbindungen, Nachrichten (Punkt-Notation, Buchstaben) unübersichtlich, was den Ablauf angeht aber das Layout bleibt (ggf.) bestehen 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 6. Kollaborationsdiagramm Einbettung identisch zu Sequenzdiagramm Semantik 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 7. Komponentendiagramm Gegenstand statische Struktur auf Implementationsebene Elemente Komponente, Schnittstelle, div. Beziehungen 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 8. Verteilungsdiagramm Gegenstand Systemtopologie und Verteilung von Komponenten darauf Elemente Knoten, Verbindung, & Elemente des Komponentendiagrammes 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 9. Paketdiagramm Gegenstand statische Struktur von Artefakten (Modelle, Code, ...) Elemente Pakete, Schnittstellen, div. Beziehungen & Elemente des Klassendiagrammes 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen (2,) 7, 8, 9: „Implmentation“ 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 2, 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 2, 7, 8, 9: Implementationsdiagramme 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen?? 10. OCL Gegenstand logische Randbedingungen eines Systems Elemente Schlüsselworte, Operatoren, Variablen <etwas aus dem MM> 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen?? 10. OCL Einbettung Semantik in UML 1.3: keine 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen 10. 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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Architektur-Modelle und UML: Angebot / Bedarf Geforderte Konzepte Einheiten Ports Konnektoren Protokoll ...sowie passende Notationen. Wo gibt’s das in der UML? 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Architektur-Modelle und UML: Notation Gegenstand Elemente Einbettung Semantik 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
UML/AM Notationen 1. SARA-Notation Gegenstand Modellierung von großen Strukturen Elemente Einheit, Sicht, Port, Konnektor, Konfiguration, Protokoll Einbettung hierin liegt der Trick! Semantik hängt vom Verwendungszweck ab 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
SARA-Notation Metamodell-Ausschnitt & Einbettung + Sicht Einheit + + Rolle * Port Konfiguration 2..* 2..* + * Protokoll * Konnektor OH-Folie Skript Kapitel 4 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
SARA-Notation Einheiten Hülle um die Einheit Port mit Protokollrolle © Bran Selic 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
SARA-Notation Konfiguration Notation zu aufwendig 3D Farbe © Bran Selic 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
SARA-Notation Einheit, Konnektor, Konfig., Protokoll sender : Fax Sender receiver : Fax Channel Receiver Sender Channel Receiver call call ack ack data data © Bild: Bran Selic © Notation: Estrin et al. übernommen durch Bran Selic et al. send 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Quellen ã Dr. Harald Störrle Ich empfehle (in dieser Reihenfolge): Object Management Group: The Unified Modeling Language www.omg.org bzw. P:/CCI/Wissensaufbau/UML Rumbaugh, Jacobson, Booch: The UML Reference Manual Addison Wesley, 2000 Bernd Oesterreich: Objektorientierte Softwareentwicklung Oldenbourg, 2001, 5. Aufl., siehe auch www.oose.de Heide Balzert: Lehrbuch der Objektmodellierung Spektrum, 1999, siehe auch www.software-technik.de 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Quellen ã Dr. Harald Störrle Als Hintergrund auch brauchbar: Craig Larman: Applying UML and Patterns Prentice-Hall, 1998 D`Souza, Wills: Objects, Components, Patterns: The Catalysis Approach Addison Wesley, 1999 IEEE Architecture Working Group: P1471 http://ieeexplore.ieee.org/iel5/7040/18957/ 00875998.pdf?isNumber=18957 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Nächste beiden Male Vertiefung des Beipiels Methodik Neue Notationen Konsistenz Semantik 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
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.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle
Aufgabe zum nächsten Mal fü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. 6.11.2001 Grundlagen 3: UML VL Software Architektur-Modelle ã Dr. Harald Störrle