640 likes | 871 Views
Vorbereitung. Stimmen meine sprachlichen Regelungen mit den Aussagen aus dem SOPHIST-Buch überein?! alle ?? entfernt?!. Vorbereitung. Beamer, Laptop, Maus 5 Exemplare der Diss Anwesenheitsliste Handout IS-Artikel: Architektur OS-Artikel von Oesterreich über GePro Modellierung mit UML
E N D
Vorbereitung • Stimmen meine sprachlichen Regelungen mit den Aussagen aus dem SOPHIST-Buch überein?! • alle ?? entfernt?! 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? VL Software Architektur-Modelle ã Dr. Harald Störrle
Vorlesung Software Architektur-Modelle Grundlagen 3: UML Dr. Harald Störrle Ludwig-Maximilians-Universität München Wintersemester 2001 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 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? VL Software Architektur-Modelle ã Dr. Harald Störrle
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. 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 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 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 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 VL Software Architektur-Modelle ã Dr. Harald Störrle
SARA Objectory 70‘er, Estrin et al. 70‘er, Jacobson et al. SADT, MSC, SDL, ... StateCharts 80‘er Harel OOSE ROOM 80‘er, Jacobson et al. OMT 94, Selic et al. 80‘er Jahre Booch‘93 UML 0.8 OOSE‘94 OMT‘94 UML 0.9 Booch/Rumbaugh „3 Amigos“ (UML 1.0) 1997 UML 1.1 UML 1.3 1998 UML\RT UML\AM 2000 UML 1.4 2001 UML 2.0 2002? UML Übersicht Kurze Geschichte der Methodik 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 VL Software Architektur-Modelle ã Dr. Harald Störrle
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. VL Software Architektur-Modelle ã Dr. Harald Störrle
UML ÜbersichtGeltung, Abdeckung, Rang Geltung • 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 VL Software Architektur-Modelle ã Dr. Harald Störrle
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). VL Software Architektur-Modelle ã Dr. Harald Störrle
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. 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) VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen1. Nutzfalldiagramm • Gegenstand funktionale Anforderungen (inkl. Geschäftsprozesse) beliebiger Modellelemente • Elemente Aktor, Nutzfall, div. Beziehungen, Systembox VL Software Architektur-Modelle ã Dr. Harald Störrle
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? VL Software Architektur-Modelle ã Dr. Harald Störrle
UML NotationenNutzfälle Bibliothek VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
UML NotationenGeschäftsprozesse Bibliothek • Layout • Überschneidungen • Knickpunkte • „Kamm“-Notation • horizontal • vertikal • Namen • System • GePros („Bestandspflege“) • Aktoren • ->Glossar • Beachte: • keine Systemgrenze VL Software Architektur-Modelle ã Dr. Harald Störrle
UML NotationenFacharchitektur Bibliothek VL Software Architektur-Modelle ã Dr. Harald Störrle
UML NotationenZuordnung GePros / Facharchitektur VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen2. Klassendiagramm • Gegenstand statische Struktur • Elemente Klasse, Schnittstelle, div. Beziehungen; Aktor, Objekt, Link VL Software Architektur-Modelle ã Dr. Harald Störrle
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? VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen2. Klassendiagramm VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen3. Zustandsdiagramm • Gegenstand generisches Verhalten belibiger Modellelemente • Elemente verschiedene Arten Zustände, Transitionen VL Software Architektur-Modelle ã Dr. Harald Störrle
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... VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen3. Zustandsdiagramm VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen4. Aktivitätendiagramm • Gegenstand Kontroll- & Datenfluß • Elemente verschiedene Arten Aktivitäten, Transitionen, Flußrelation, Daten, Schwimmbahnen VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen4. Aktivitätendiagramm • Einbettung • ActivityGraph ist eine StateMachine • Swimlanes? (Achtung - „Bounding box“!) • Semantik • siehe StateMachine • ObjectFlowStates sind im MM rein syntaktisch VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen4. Aktivitätendiagramm VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen4. Aktivitätendiagramm VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen5. Sequenzdiagramm • Gegenstand Interaktion von beliebigen Modellelementen (Fokus: Zeit) • Elemente Rollen, Lebenslinien, Aktivierung, Nachrichten VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen5. Sequenzdiagramm VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen6. 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 VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen6. Kollaborationsdiagramm • Einbettung • identisch zu Sequenzdiagramm • Semantik • identisch zu Sequenzdiagramm VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen7. Komponentendiagramm • Gegenstand statische Struktur auf Implementationsebene • Elemente Komponente, Schnittstelle, div. Beziehungen VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen8. Verteilungsdiagramm • Gegenstand Systemtopologie und Verteilung von Komponenten darauf • Elemente Knoten, Verbindung, & Elemente des Komponentendiagrammes VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen9. Paketdiagramm • Gegenstand statische Struktur von Artefakten (Modelle, Code, ...) • Elemente Pakete, Schnittstellen, div. Beziehungen & Elemente des Klassendiagrammes VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen(2,) 7, 8, 9: „Implmentation“ VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
UML Notationen2, 7, 8, 9: Implementationsdiagramme 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> VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
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. 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 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? VL Software Architektur-Modelle ã Dr. Harald Störrle