Software Architektur-Modelle Vorlesung Software Architektur-Modelle Semesterrückblick Dr. Harald Störrle Ludwig-Maximilians-Universität München Wintersemester 2001 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Motivation: Chancen & Risiken Sehr großer thematischer Bogen viele interessante und relevante Themen, großer Lerneffekt ABER: roter Faden könnte verloren gehen Top-aktuelles Thema sowohl wissenschaftlich fundiert als auch praktisch erprobt ABER: anspruchsvoll, viel Arbeit Brandneue Vorlesung interaktiv gestaltbar, ich bin sehr motiviert, VL nicht abgenudelt ABER: Pannen und Überziehen möglich 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Semestervorschau Überblick (Plan 1) 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 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Semestervorschau Überblick (Plan 2) 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 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Tatsächlicher Ablauf ã Dr. Harald Störrle Nr. # Inhalt meine Einschätzung 1 15 Einleitung :-) 2 - - - 3 14 Architektur-Einheiten („Units“) :-( schlecht motiviert 4 11 UML :-( am Bedarf vorbei 5 9 Bibliotheksbeispiel :-) 6 7 Notationen & Pragmatik :-) 7 7 Gütekriterien & Methodik :-/ 8 7 Formale Semantik & Konsistenz :-/ 9 - - - Weihnachtsfeier 10 7 Host vs. Client/Server :-) Gastvortrag 11 1 Quantitative Analyse :-(( 12 4 klassische & industrielle Prozesse :-/ Trezsnewski 13 4 Leichtgewichtige Prozesse :-) E03 14 4 Rückschau :-) vorgezogen auf 13. 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Zusammenhang der Gebiete Menschen Architekten & Andere Prozesse Projekt-Architektur Architektur-Vision Geschäft & Strategie Systemarchitektur Maschinen, Netze, Infrastrukturen Architektur-Analyse formal & informell qualitativ & quantitativ Software Architektur Technologie Programmiersprachen & -modelle (z.B. Host, EJB, Corba, B.O.s) Architektur-Modelle Modellierungssprachen und -Methoden Werkzeuge PUSH, SAA, ...? 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Einige inhaltliche Schwerpunkte 1 - Der Architekt 2 - Modelle: Motivation & Bestandteile 3 - Das Bibliotheksbeispiel 4 - Überlappung von Sichten a) Ausnutzen für Methodik b) Ausnutzen für Konsistenzprüfung 5 - Prozesse 6 - PUSH-Vision 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
1 - Der Architekt ã Dr. Harald Störrle 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiele: Vergleich 3 Stakeholder/Stakes beauftragt-> <- liefert Anbieter (Manager) Klient Architekt moderiert & vermittelt beauftragt-> <- berichtet kontrolliert-> Nutzer Entwickler <- befragt informiert-> 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Stakeholder „Architekt“: Rolle Der Architekt ist die Schnittstelle zwischen Kunde und Auftraggeber, und Nutzer und Entwickler. Er moderiert und steuert die Interaktionen zwischen den Beteiligten. Letztlich ist daher der Architekt für die Befriedigung der Kundenwünsche verantwortlich. Und nicht nur für die Realisierung der Anforderungen! Der SWA ist auch potentiell Ansprechpartner für Dritte, ggf. ihnen gegenüber verantwortlich. Sehr reizvolle, verantwortungsvolle Aufgabe 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Was heißt eigentlich „groß“? Größe in Anzahl Dauer der LoC Entwickler Erst-Entwicklung sehr groß 106-108 102-104 5-15 Jahre groß 105-106 101-102 2-5 Jahre System Zeilen Code Windows 2000 29 Mio. große militärische SW 27 Mio. typische Unternehmens-SW 19 Mio. typisches BS 12 Mio. 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Motivation & Bestandteile 2 - Modelle: Motivation & Bestandteile 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Zum Titel Wieso bloß „Modelle“ - „Architekturen“ wären doch interessanter?! => SWA muß man praktisch erlernen, also z.B. in langen Jahren industrieller Tätigkeit. Man tut sich aber erheblich leichter, wenn man die nötigen theoretischen und technischen Grundlagen hat. Und die zu legen ist genau das Ziel dieser Vorlesung. 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Grundbegriffe: Elemente + Sicht Komponente + Rolle * Port Konfiguration 2..* 2..* * Protokoll Konnektor 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Was sind Einheiten? Einmal Träumen, bitte Einheiten sind... ...langlebig ...wiederverwendbar ...integrierbar ...robust ...verteilbar ...getrennt entwickelbar (bzw. beschaffbar) ...Gegenstand von Verhandlungen & Verträgen ...sowohl fachlich als auch technisch ...sowohl Modell als auch Implementierung kann ich hier nicht sagen, daß will ich erst am Ende meiner Argumentation rausbekommen 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Was sind Einheiten? Terminologie Einheiten sind die „Bausteine“, aus denen sich Architekturen zusammensetzen. Diese Bausteine werden durch „Mörtel“ zu einem „Ensemble“ zusammengefügt. Terminologie Bausteine Components Mörtel Glue (Connectors, Ports) Ensemble Configuration 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Erfüllen heutige Ansätze diese Anforderungen? Welche Ansätze gibt es? Klassen/Objekte Java Beans (und ähnliche) Enterprise Java Beans (EJBs) UML Components UML Subsystems Business Objects Units 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
3 - Das Bibliotheksbeispiel 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Nutzen von überlappenden Modellen: 1a) methodische Übergänge 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Soll-Software Architektur Sachbearbeiter-PC Bestands- führungs GUI Leserverwaltung Leihverkehr Filiale GUI GUI Logik Logik DB/2 DB/2 IBM S/390 Andere Filialen Bestands- führung Zentrale DB/2 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Soll-Software Architektur verfeinert GUI GUI Logik Logik weitere Instanz Leihverkehr DB DB Bestands- verwaltung Leihverkehr 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
4 - Überlappung von Sichten 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Elemente eines Fachkonzepts Rückblick: Organisation in Sichten Domänenmodell Fachkonzept (auch: Analysemodell) Systemkontext Anforderungen Geschäftsprozesse Facharchitektur 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Methodik Terminologie: Ebene Fachkonzept (auch: Analysemodell) Anforderungen Facharchitektur Domänenmodell Konzept Geschäftsprozesse Systemkontext Ebene 0: Gesamtsystem und Kontext Ebene 1: Fachliche Subsysteme Ebene 2: Architektonische Subsysteme Ebene 3: Technische Subsysteme Ebene 4: Systemkomponenten 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Überlappung von Modellen Übergänge Ebene Sicht Dies ist nur ein (typisches) Beispiel. Prinzipiell sind beliebige Sichten möglich. 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Überlappung von Modellen Übergänge Ebene Sicht Dies ist nur ein (typisches) Beispiel. Prinzipiell sind beliebige Sichten möglich. 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
4 - Überlappung von Sichten a) Ausnutzen für Methodik 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Elemente eines DV-Konzepts Systemstruktur E2 bis E4 Vision DV-Konzept Domänenmodell Systemkontext E0 Technische Subsysteme Auslieferung Verhalten, Protokolle Fachkonzept (auch: Analysemodell) Anforderungen Geschäftsprozesse Testfälle Testfälle, GUI, Schulungen Systemkomponenten Facharchitektur E1 Systemstruktur E2 (Software Architektur) 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
ã Dr. Harald Störrle Fachkonzept Fachkonzept 22.1.2002 (auch: Analysemodell) Fachkonzept (auch: Analysemodell) 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
4 - Überlappung von Sichten b) Ausnutzen für Konsistenzprüfung 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Überlappung von Modellen Beispiele - und Schlußfolgerungen Geschäftsprozesse g-1 Ist es der Fall, daß: a ; b = g-1 a-1, g a = a -1 a ; b ; g = id (und jeweils analoge Varianten) Schnittstellen a b Nutzfälle Struktur (Facharchitektur) 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Gütekriterien für Diagramme Modelle sind für Menschen gemacht Modelle sind zu einem wesentlichen Anteil Kommunikationsmittel für Menschen. Daher ist ein entscheidendes Qualitätskriterium ihre Kommunikationsleistung, also die Verstehbarkeit durch Menschen. Neben Geschmacksfragen gibt es eine Reihe von objektiven psycho-physiologischen Fakten: „The magical number 7“ Der „Papierfaktor“ chunking kognitive Diversität 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 1: Gilt die erwünschte Eigenschaft? p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 1: Gilt die erwünschte Eigenschaft? p Leihverkehri p Leihverkehrj VPN Protokollrolle process idle wait receive _query _answer send prepare internal P = {send_query .receive_query .send_answer .receive_answer} Konnektor receive_answer empty answer send _answer send _query query empty receive_query 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 1, zweiter Anlauf: Gilt die erwünschte Eigenschaft? send receive use process prepare send receive use process prepare get put 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
5 - Prozesse ã Dr. Harald Störrle 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Prozesse Wasserfall, Iterativ/Spiral, Springbrunnen VM, RUP, ISO 12207, 15504 (SPICE) Organisationsformen Inspektion (FJA-Code-Inspektion, ATAM) Leichtgewichtige Prozesse (XP, CPT, Crystal, Scrum, Muster) 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
5 - PUSH-Vision ã Dr. Harald Störrle 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle
Industrielle Vorgehensmodelle: Gegenüberstellung ISO 15504 Process Category ENG PRO MAN CUS SUP ORG ISO 12207 Gruppe Primary Supporting Organizational Tailoring VM´97 Submodelle SE PM KM QM RUP 2001 Main Process Business Modeling Requirements Analysis & Design Implementation Test Deployment Config. & Change Mgmt. Project Mgmt. Environment Reuse, HR, Measurement Tailoring SPI 22.1.2002 Semesterrückblick VL Software Architektur-Modelle ã Dr. Harald Störrle