Vorbereitung · Raumänderungsaushang · Projektor, Ersatzfolien (?) · Beamer, Laptop · Tafel, Kreide, Ausgedrucktes Skript · Klebepunkte am Eingang verteilen · Teilnehmerbögen · Punktabfrage Erwartungen, fetter Filzer 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 1 1 Vorlesung Software Architektur-Modelle Dr. Harald Störrle Ludwig-Maximilians-Universität München Wintersemester 2001 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 2 1 Ziel heute · Themenüberblick als Entscheidungshilfe · zunächst aber einiges Organisatorisches 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 3 1 Organisatorisches • Liste: bitte alle eintragen • „Skript“: meine Dissertation (Autorenexemplare zu DM 25, statt € 35) • • • • • • 16.10.2001 Einführung 26.10.: Prüfung: Aufgaben: Schein: Übungen: Exkursion: entfällt Säulen PG & A (Prof. Wirsing) 3 Blätter nein Bedarf? Bedarf? VL Software Architektur-Modelle Dr. Harald Störrle 4 1 Zur Person · Studium Informatik & Psychologie in Tübingen, Hamburg & Edinburgh · Promotion „Models of Software Architecture“ an der LMU, Prof. Wirsing · Industrie Competence Center Informatik FJA AG 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 5 1 Zu FJA · Rang • das führende Beratungs- und Sw-Haus für Versicherungen im deutschsprachigen Raum · Mitarbeiter • ca. 850 weltweit, ca. 500 in München · Niederlassungen • M, M, K, S, HH, B, Zürich, Wien, NY, Maribor · Lage • 30% Wachstum p.a., seit 1980 (Personal, Umsatz, Gewinn) 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 6 1 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. 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 7 1 Motivation · Warum sollten Sie hier mitarbeiten? • SWA ist eines der interessantesten, vielseitigsten und praxisrelevantesten Gebiete. • Das Gebiet wird an der Uni nahezu nicht gelehrt, und wenn, dann in rein akademischer Form. • Diese Veranstaltung ist wahrscheinlich einmalig. 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 8 1 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 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 9 1 Apell zur Mitwirkung · Bin auf Ihre Mitwirkung angewiesen • • • • • • Nachsicht bei Pannen Fragen Diskussionen Übungsaufgaben Feedback Mitarbeit · Was sind Ihre Erwartungen? 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 10 1 Erwartungen der Teilnehmer · Gruppenübung Punktabfrage • Jeder bekommt einen Klebepunkt • Alle gehen gemeinsam nach vorne • Jeder klebt seinen Punkt in das Koordinatensystem „Erwartungen“ • Dimensionen: – gewünschter Inhalt: – verfügbarer Aufwand: theoretisch/praktisch hoch/niedrig · Los geht’s! 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 11 1 Zum eigentlichen Inhalt! 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 12 1 Gliederung für heute • Grundfragen – Was ist das, Software-Architektur? – Wozu sich damit beschäftigen? • Grundbegriffe – Beispiele – A-7E, GoLife!, SL45i – System, Anforderung, Stakeholder – Stil – Elemente • Semestervorschau 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 13 1 Ziel für heute · Grundbegriffe und Fragen einführen · Themenvielfalt auffächern · Zum Nachdenken anregen 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 14 1 KEIN Ziel heute · Echte Architekturbeispiele im Detail · Antworten auf die gestellten Fragen · Handwerkszeug des Architekten 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 15 1 Was ist das, „Software Architektur“? · Der Name „Software-Architektur“ (kurz: SWA) ist als Analogie zu sehen, als eine programmatische Aussage, eine Absichtserklärung: „da, wo die Architektur heute steht, da wollen wir auch hin“. · Aber trägt diese Analogie wirklich? 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 16 1 Analogie: Gemeinsamkeiten Architektur Software-Architektur • große Bauwerke mit langer Lebensdauer (Jahrhunderte) • große Systeme mit langer Lebensdauer (Jahrzehnte) • große Auswirkungen auf viele Beteiligte • große Auswirkungen auf viele Beteiligte • schwierige Koordination; komplexer, arbeitsteiliger Prozesse („Leistungsstufen“) • schwierige Koordination; komplexer, arbeitsteiliger Prozeß (Vorgehensmodelle) • Bedeutung von Planung und Modellen • Bedeutung von Planung und Modellen 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 17 1 Analogie: Unterschiede Architektur Software-Architektur • Vorläufer seit 10.000 Jahren, etablierte Disziplin seit ~1800 Ausbildungsgang/Abschluß • SE gerade mal seit 1968, kein eigenes Fach, kein Ausbildungsgang/Abschluß • Wissenskanon, Werkzeuge • kaum Theorie/ Werkzeuge • mehr oder minder künstlerischer Anteil • sehr technischmathematisch ausgerichtet • wenige Freiheitsgrade, unmittelbar anschaulich • extrem viele Freiheitsgrade, sehr abstrakt 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 18 1 Was ist das, „Software Architektur“? „Architecture is the set of design decisions [...] that keeps ist implementors and maintainers from exercising needless creativity.“ (D`Souza & Wills, Catalysis) „ Architecture is a framework for change“ (Tom De Marco) ...ein Mittel zur Verfolgung technischer, politischer, wirtschaftlicher oder strategischer Ziele durch die Einschränkung von Freiheitsgraden bei der Herstellung 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 19 1 Was ist das, „Software Architektur“? „Architecture is defined [...] as the fundamental organization of a system, emodied in its components, their relationships to each other and to the environment, and the principles governing its design and evolution.“ (IEEE AWG, Std P1471, 1999) ... Bestandteile und Struktur eines Systems auf einer bestimmten Abstraktionsebene. 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 20 1 Wieso SWA-“Modelle“ ? · Ein Modell ist eine Abstraktion, die leichter zu handhaben ist, als das reale Ding. Beispiel: ein Hochhaus und seine Modelle – Anschauung: Pappmodell, virtuelles Modell – Planung und Ausführung von x: x-Plan mit x aus {Elektrik, Klima, Wasser, Heizung, Treppen & Aufzüge, Raumordnung, Infrastrukturanbindung, Kosten, Zeit, Logistik, Bauplanung, Statik...} · Nur mit Modellen kann man Planen und Entwerfen. 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 21 1 Wieso sich mit SWA beschäftigen? · Die „üblichen“ Gründe – – – – – – 16.10.2001 Einführung Qualität Kosten Time-to-market Wartbarkeit Wiederverwendbarkeit Investitionssicherung VL Software Architektur-Modelle Dr. Harald Störrle 22 1 Wieso sich mit SWA beschäftigen? ...Kosten • Mangelhafte Software verursacht – betriebs- und volkswirtschaftliche Schäden im Bereich 10-100 Billionen US$ p.a. weltweit – für deutsche Groß- & Mittelständische Unternehmen p.a. ca. 165 Mrd. DM (entspricht 1/3 des IT-Budgets) – davon 17% Fehlerbeseitigung und 83 % Produktionsausfälle – zum Vergleich: Großfeuer verursachen jährlich in Deutschland Schäden in Höhe von 2 Mrd. DM – der Ariane-5-Fehler alleine hat 500 Mio Euro an Schaden verursacht (nicht versichert), Folgeschäden und Ausfälle nicht gerechnet. 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 23 1 Software Architektur: Geschichte des Begriffs 2010 ? 2000 Hype 1990 theoretische Vorarbeiten 1980 Erste Erwähnung 1970 1960 16.10.2001 Einführung •SARA Garmisch-Konferenz •„Software Engineering“ •Wiederverwendung •Komponenten VL Software Architektur-Modelle Dr. Harald Störrle 24 1 Software Architektur: Hype und Realität · Maßgebliche Ergebnisse in den 90`ern · Hype seit ca. 1997 · Der erste Hype ist vorbei, aber viele schwierigen Fragen sind noch offen 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 25 1 Gliederung: Grundbegriffe • System, Stakeholder, Anforderungen • Arten von Architekturen – Stil, Domänenarchitektur, Produktfamilie, Architektur • Elemente – – – – – 16.10.2001 Einführung Komponente Port Konnektor Rolle/Protokoll Konfiguration VL Software Architektur-Modelle Dr. Harald Störrle 26 1 Beispiele: Vorbemerkungen • Große Beispiele sind zu groß. In einer Vorlesung sind sie kaum abzuhandeln. • Echte Beispiele sind zumeist streng geheim. Eine Freigabe ist nicht zu bekommen. • Aber kleine & Spielzeug-Beispiele sind keine! Die spezifischen Probleme und Fragen treten nicht/anders auf. • Die Beispiele basieren auf realen Beispielen, sind aber teilweise fiktiv, verfremdet und erraten. Das ändert aber nichts an ihrer Tauglichkeit. 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 27 1 Beispiele: Übersicht • A-7-Avionik System – Waffen- und Navigations-System für ein Kampfflugzeug • GoLife! – Online-Lebensversicherung • SL45i – High-End Mobiltelefon • Repräsentativer Querschnitt. Weitere Beispiele bzw. Vertiefung davon im Lauf des Semesters! 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 28 1 Beispiele: A-7E Überblick • Die A-7E Corsair II ist ein Trägergestütztes Kampfflugzeug, das in den 60er bis 80er Jahren in Betrieb war. • Sie hatte als eines der ersten Flugzeuge einen Bordcomputer (special purpose). • In den USA wird die Software-Engineering Forschung zu großen Teilen vom Militär finanziert. 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 29 1 Beispiele: A-7E Warum dieses Bsp.? • Eines der ersten Architektur-Modelle überhaupt. • Methodik und Architektur sind auch heute noch aktuell. • Repräsentativ für den sehr großen und wichtigen Anwendungsbereich Embedded/RT-Systeme – – – – 16.10.2001 Einführung Aerospace Automobil Maschinensteuerung Telekom-Switches VL Software Architektur-Modelle Dr. Harald Störrle 30 1 Beispiele: A-7E Randbedingungen • relativ fixe Anforderungen, fixe Ressourcen • nur ein Kunde, geringer Marktdruck • extreme Zuverlässigkeit • extrem lange Lebensdauer • Echtzeitverarbeitung – dedizierte Hardware (nur Assembler) – 64k Speicher 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 31 1 Beispiele: A-7E Software / System · Zu betrachten ist ein komplettes System, nicht nur die Software! · Sensoren/Aktoren · In/Out • • • • • • 16.10.2001 Einführung Radar Doppler-Radar Trägheit Staudruck Höhenmesser Waffenschächte/Relais • • • • • • • VL Software Architektur-Modelle Dr. Harald Störrle Head-Up-Display Karten-Display numerische Tastatur alphanumerische Anzeige Schalter Anzeigelampen Pieper 32 1 Zum nächsten Beispiel! 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 33 1 Beispiele: GoLife! Überblick • Komplette Software-Ausstattung für eine DirektVersicherung (Lebensversicherungen). • Verfremdet und zusammengetragen aus verschiedenen realen Projekten, an denen ich mitgearbeitet habe. • Sehr ähnliche Projekte liefen bereits und laufen aktuell. 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 34 1 Beispiele: GoLife! Wieso dieses Bsp.? • Ich kenne dieses Beispiel sehr gut. • Diese Art System wird heute flächendeckend eingesetzt. • Repräsentativ für den sehr großen und wichtigen Anwendungsbereich Office-Automation-Systeme. – – – – 16.10.2001 Einführung Versicherungen Banken ERP Flugbuchung VL Software Architektur-Modelle Dr. Harald Störrle 35 1 Beispiele: GoLife! Anforderungen • Organisatorisch – lange Lebensdauer – sehr viele Beteiligte – großer Marktdruck – Mehrere Mandanten und Gesellschaften • Technisch – Legacies/Integration – Thin-Client: Online-Betrieb! – viele verschiedene Plattformen, Sprachen, DBs, Middlewares, ... – Mehrere Sprachen – Mehrere Währungen – juristische Anforderungen – komplexe, dynamische Geschäftsprozesse – Security 16.10.2001 Einführung • Fachlich VL Software Architektur-Modelle Dr. Harald Störrle 36 1 Beispiele: GoLife! Architektur Angebotserstellung Portal Bestandsführung RisikoPrüfung CRM DMS In/Exkasso Briefschreibung Anlageverwaltung 16.10.2001 Einführung Call-Center VL Software Architektur-Modelle Dr. Harald Störrle 37 1 Beispiele: GoLife! Architektur Angebotserstellung Portal Bestandsführung RisikoPrüfung CRM DMS Kunde In/Exkasso Briefschreibung Anlageverwaltung 16.10.2001 Einführung Call-Center VL Software Architektur-Modelle Dr. Harald Störrle Sachbearbeiter 38 1 Beispiele: GoLife! Stakeholder • Architekt • Kunde („Klient“) – Management, Fachabteilung, DV/IT • Nutzer – Sachbearbeiter, Kunde, Controller • Entwickler – Entwickler, Tester, QSB, Integrator, Domänenexperten,... • Anbieter/Management – Projektleiter, Vorstand • Dritte – Gesetzgeber, Datenschutzbeauftragter, Betriebsrat 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 39 1 Zum nächsten Beispiel! 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 40 1 Beispiele: SL45i Überblick • Sehr große Software-Architektur: „ca. 85% des Telefons sind Software“ • Momentan das high-end Produkt von Siemens • Teil einer Produktfamilie • Leider (bislang) sehr wenig technische Informationen verfügbar 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 41 1 Exkurs: Zielgruppenorientierung bei Samsung 3 Telefone: baugleich, aber verschiedene Produkte – SGH-A400 – – – – “...in aktuellen Lippenstift-Farben...“ Ovulations-Kalender Kalorien-Verbrauchsrechner JPEG-Fotoalbum – SGH-R300 – Vorlesungskalender – MP3-Player – WWW-Seite mit Studienplatztausch und Jobbörse, MP3-Charts – SGH-N300 – Terminkalender, Outlook-kompatibel – Finanzrechner – MP3-Player als „Fremdsprachentrainer“ 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 42 1 Beispiele: SL45i Wieso dieses Bsp.? • Unmittelbarer Bezug zur Lebenswelt: – nahezu jeder besitzt heute ein Mobiltelefon (wenn auch meist eine Nummer kleiner). • Sehr hohe kommerzielle Bedeutung, extreme Marktbedingungen. • Repräsentativ für den sehr großen und wichtigen Anwendungsbereich der mobilen Endgeräte. – Telefone – PDAs 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 43 1 Beispiele: Siemens SL45i Anforderungen • Funktionalität – Addressbuch, Notizbuch, Kalender/Terminverwaltung, Stoppuhr, MP3-Player, Diktaphon, Mail-Client, Spiele, Währungs- und Finanzrechner, Taschenrechner, „Cocktailratgeber“ • Protokolle / Dienste – SMS, EMS, GSM, SPRS, WAP, Fax, POP3 – Komfortdienste (Rufweiterleitung, Anruferanzeige, Anklopfen, ...) • Bedienbarkeit – Display- & Tastengröße, Menü- vs. Sprachsteuerung , Hilfe • Abmaße / Gewicht, Standby- / Sprechzeit • Time to market 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 44 1 Beispiele: Siemens SL45i Anforderungskonflikte Bedien- Preis barkeit Standby- & Gewicht & Funktion- Sprechzeit alität Abmaße Funktionalität Gewicht & Abmaße Standby- & Sprechzeit Preis Eingebaute JVM Funktionalität dynamisch ladbar, für jeden Benutzer individuell Bedienbarkeit 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 45 1 Auswertung der Beispiele 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 46 1 Beispiele: Wofür stehen sie? • A-7E – System = Hardware + Software • GoLife – Stakeholder – Konflikt zwischen ihnen • SL45i – Anforderungen im Konflikt – Produktfamilien 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 47 1 Beispiele: Vergleich 1 Nachbarsysteme in out GoLife SL45i A7-E GUI Scanner Call-Center Empfänger Tastatur Mikrophon div. Sensoren Radar Schalter LCD Sender Lautsprecher Vibrationsalarm div. Aktoren Head-Up-Display GUI Briefdruckstraße mem verschiedene DBs „Multimedia Card“ 64k intern peer Anlageverwaltung Funknetz & Dienste - 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 48 1 Beispiele: Vergleich 2 Anforderungsprofile FURPS ISO 9126 Functionality Usability Reliability Performance Security Efficiency Maintainability Reusability Time-to-market Portability Availability System Development 16.10.2001 Einführung GoLife! ++ + ++ + + + + + + + VL Software Architektur-Modelle Dr. Harald Störrle SL45 + ++ + ++++ ++ ++ A-7E + ++ ++ ++ + ++ ---++ ++ 49 1 Beispiele: Vergleich 2 Anforderungsprofile Functionality Efficiency Usability Performance Reusability Time-to-market Reliability System Development Portability Security Maintainability Availability 16.10.2001 Einführung Go!Life ++ + + ++ + -+ + + + VL Software Architektur-Modelle Dr. Harald Störrle SL45 + +++ +++ ++ + ++ - A7E + + ++ --++ ++ -++ ++ ++ 50 1 Beispiele: Vergleich 3 Stakeholder Rolle GoLife Nutzer Kunde Telefonierer Sachbearbeiter Pilot Klient Versicherung Telefonierer US Navy Anbieter FJA Siemens Naval SW Dev. ... Entwickler Entwickler Entwickler Entwickler Architekt Architekt Architekt Architekt Dritte Datenschützer MobilfunkBetriebsrat hysteriker Gesetzgeber 16.10.2001 Einführung SL45i VL Software Architektur-Modelle Dr. Harald Störrle A7-E Ziel/Gegner 51 1 Beispiele: Verleich 3 Stakeholder/Stakes Functionality Efficiency Usability Performance Reusability Time-to-market Reliability System Development Portability Security Maintainability Availability 16.10.2001 Einführung Kunde ++ ++ ++ -++ + ++ ++ ++ Anbieter -+ ++ -++ + -- VL Software Architektur-Modelle Dr. Harald Störrle Nutzer ++ -++ ++ --++ ----- Entwickler ++ ++ + + ++ + + ++ ++ ++ ++ 52 1 Beispiele: Verleich 3 Stakeholder/Stakes Functionality Efficiency Usability Performance Reusability Time-to-market Reliability System Development Portability Security Maintainability Availability 16.10.2001 Einführung Kunde ++ ++ ++ -++ + ++ ++ ++ ++ Anbieter -+ ++ --+ -- VL Software Architektur-Modelle Dr. Harald Störrle Nutzer ++ -++ ++ --++ ----- Entwickler ++ ++ + ++ + + ++ ++ ++ ++ 53 1 Beispiele: Vergleich 3 Stakeholder/Stakes beauftragt-> <- liefert moderiert & vermittelt Architekt Nutzer 16.10.2001 Einführung Anbieter (Manager) <- befragt informiert-> VL Software Architektur-Modelle Dr. Harald Störrle beauftragt-> <- berichtet kontrolliert-> Klient Entwickler 54 1 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! 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 55 1 Stakeholder „Architekt“: Anforderungen • Ein Architekt braucht – umfassende Akzeptanz durch umfassende Kompetenz – hohes Maß an Moderations-& Kommunikationsfähigkeit. • Architekt kann nur empfehlen, nicht befehlen, daher relativ geringe Einwirkungsmöglichkeit. Gleichzeitig trägt er eine hohe Verantwortung: • Riskant, aber reizvoll. 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 56 1 Gliederung: Grundbegriffe • System, Stakeholder, Anforderungen • Arten von Architekturen – Stil, Domänenarchitektur, Produktfamilie, Architektur • Elemente – – – – – 16.10.2001 Einführung Komponente Port Konnektor Rolle/Protokoll Konfiguration VL Software Architektur-Modelle Dr. Harald Störrle 57 1 Architektur ... Stil: Nutzen von Einschränkungen keine z.B. FAA, VAA, IAA Einschränkungen System Domänen-/ BranchenSWA {Form, Elements, Rationale} Produktfamilie z.B. SL45, SL45i, SE45, M45i, S35, C35 viele wenige... 16.10.2001 Einführung Stil VL Software Architektur-Modelle Dr. Harald Störrle viele Exemplare 58 1 Architektur ... Stil: Nutzen von Einschränkungen · Stärkere Festlegung erlaubt: • mehr methodische und Werkzeug Unterstützung (z.B. Programmiermodelle, Generatoren) • leichtere Überprüfung/Begutachtung • stärkere Wiederverwendung · und damit: • bessere Qualität • reduzierte Kosten • kürzere Produktzyklen (time-to-market) 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 59 1 Architektur ... Stil: Nutzen von Einschränkungen Gesamtkosten Systemarchitektur Produktfamilie mit Stil keine Architektur Overhead Lebensdauer, bzw. Anzahl Produktzyklen 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 60 1 Architektur-Stil (Beispiele) • Datenfluß – Stapelverarbeitung mit Datei-Puffer (Batch) – Unix-Pipes („Pipes-and-Filters“) • Kontrollfluß – Prozedur-Aufruf, RPC, RMI, ... • kooperierende Prozesse – Betriebssysteme • shared memory – Blackboard – TP-Monitore/RDBMS • Schichten – C/S-Systeme – Betriebssysteme 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 61 1 Gliederung: Grundbegriffe • System, Stakeholder, Anforderungen • Arten von Architekturen – Stil, Domänenarchitektur, Produktfamilie, Architektur • Elemente – – – – – 16.10.2001 Einführung Komponente Port Konnektor Rolle/Protokoll Konfiguration VL Software Architektur-Modelle Dr. Harald Störrle 62 1 Grundbegriffe: Elemente 1/2 · Komponenten – Nicht im Sinne von COM, EJB, o.ä., sondern als Architektur-Einheiten, also als Gegenstand von Entwurf, Wiederverwendung, Auftragsvergabe, Versionskontrolle, ... · Port – Schnittstelle einer Komponente, evtl. Vertragsgrundlage · Rolle – beschreibt Signatur und Verhalten · Protokoll – Kollaboration von Rollen 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 63 1 Grundbegriffe: Elemente 2/2 · Konnektor – Verbindet Komponenten über ihre Ports – kann eigenes Verhalten haben – erfüllt Protokoll · Konfiguration – Anordnung von Komponenten und Konnektoren · Stil Style={Form, Elements, Rationale} · Instanzen / Typen 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 64 1 Gliederung für heute • Grundfragen – Was ist das, Software-Architektur? – Wozu sich damit beschäftigen? • Grundbegriffe – Beispiele – A-7E, GoLife!, SL45i – System, Anforderung, Stakeholder – Stil – Elemente • Semestervorschau 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 65 1 Semestervorschau Überblick Grundlagen 3 ADLs 7 Prozesse 2 16.10.2001 Einführung 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 Skip 8 Rückschau VL Software Architektur-Modelle Dr. Harald Störrle 66 1 Semestervorschau Grundlagen: Einheiten • Anforderungen: – – – – effektive & ökonomische Wiederverwendung fachliche und technische Einheiten Modellierungs- und Implementierungs-Komponenten Einheiten als Gegenstände der Vertragsgestaltung • Existierende Technologien – Business Objects – Corba Component Model / EJB (u.ä.) – UML Components • Wie geht beides zusammen? 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 67 1 Semestervorschau Grundlagen: Semantik • Motivation: Konsistenz-Überprüfung • Formalismen – CSP, Transitionssysteme, Traces – Petri-Netze, Event-Structures • Äquivalenzen • Vergleich der Formalismen: Wann ist welcher geeignet? 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 68 1 Semestervorschau Grundlagen: Notationen • Sollte ja eigentlich bekannt sein, aber... • Gängige Notationen – – – – UML SARA, ROOM, UML/RT UML/AM Use Case Maps • Syntax, Semantik, Pragmatik in Grundzügen 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 69 1 Semestervorschau ADLs • Wright – benannt nach Frank Lloyd Wright – erste wirklich formale ADL (CSP-Semantik) • Darwin – Schwerpunkt dynamische Struktur (Evolution) – Pi-Kalkül-Semantik – SAA (Sw. Architect`s Assitant) • UML/AM – eher aus der Praxis kommend – basiert auf meiner Diss – verschiedene Semantiken (z.B. PN, make, Java) 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 70 1 Semestervorschau Prozeß: Einführung • Der Geschäftsprozeß der SW-Herstellung • Der entscheidende Hebel zur Qualitätsverbesserung • Methodik / Techniken – Von Geschäftsprozessen zu Anwendungsfällen – interaktiver GUI-Entwurf (Dialogsteuerung) – CRC-Karten 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 71 1 Semestervorschau Prozeß: Analyse & Validation · Modelle dienen zum Planen: • Ist das Modell in sich stimmig? • Ist dies das richtige Modell? · Themen • Ansatzpunkte • Auswahl von Äquivalenzen • informelle Analysetechniken: Begehung/Review 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 72 1 Semestervorschau: Ausblick · Thematische Rückschau · Reflektion • Was haben Sie während des Semesters gelernt? • Welche offenen Fragen gibt es? • Wie könnte man sie vielleicht lösen? 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 73 1 Semestervorschau Überblick Grundlagen 3 ADLs 7 Prozesse 2 16.10.2001 Einführung 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 VL Software Architektur-Modelle Dr. Harald Störrle 74 1 Literatur (fürs ganze Semester) · H. Störrle (2001) • Models of Software Architecture · L. Bass/P. Clements/R. Kazman (1998) • Software Architecture in Practice · OMG Unified Modeling Language 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 75 1 Literatur (zur Nachbereitung) · D. Garlan • Software Architecture: A Roadmap (Keynote Speech auf der ICSE 2000) · P. Clements/L. Northrop • Software Architecture: An Executive Overview (pp. 55-68 in: A.W. Brown Component Based SE ) · WWISA-Charta 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 76 1 Literatur (zur Vorbereitung) · Technische Komponentenmodelle – EJB 2.0 – Corba Component Model · Bücher von Oliver Sims – Business Objects – Building Business Objects – Business Component Factories (alle bei Wiley/OMG Press) (1994) (1998, Sims & P. Eeles) (2000, Sims & P. Herzum) · Google o.ä.: „Business Objects“ 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 77 1 Aufgabe zum nächsten Mal · Lektüre – Vorlesungsseite besuchen, im Netz stöbern · Beispiele finden – Finden Sie Beispiele für Systeme mit SWA in Ihrer täglichen Umwelt! Identifizieren Sie Stakeholder und deren Anforderungen. Gibt es Konflikte? · Vorbereitung – Schauen Sie sich EJBs, BOs, & UML Components an · Entscheiden Sie sich, ob Sie teilnehmen! 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 78 1 Schlußbemerkungen · Fragen & Anregungen: [email protected] · Weitere Informationen: www.pst.informatik.uni-muenchen.de/ lehre/WS0102/architektur/ · Nicht vergessen: VL am 23.10. entfällt! 16.10.2001 Einführung VL Software Architektur-Modelle Dr. Harald Störrle 79 1