790 likes | 970 Views
Vorbereitung. Raumänderungsaushang Projektor, Ersatzfolien (?) Beamer, Laptop Tafel, Kreide, Ausgedrucktes Skript Klebepunkte am Eingang verteilen Teilnehmerbögen Punktabfrage Erwartungen, fetter Filzer. Vorlesung Software Architektur-Modelle. Dr. Harald Störrle
E N D
Vorbereitung • Raumänderungsaushang • Projektor, Ersatzfolien (?) • Beamer, Laptop • Tafel, Kreide, Ausgedrucktes Skript • Klebepunkte am Eingang verteilen • Teilnehmerbögen • Punktabfrage Erwartungen, fetter Filzer VL Software Architektur-Modelle ã Dr. Harald Störrle
Vorlesung Software Architektur-Modelle Dr. Harald Störrle Ludwig-Maximilians-Universität München Wintersemester 2001 VL Software Architektur-Modelle ã Dr. Harald Störrle
Ziel heute • Themenüberblick als Entscheidungshilfe • zunächst aber einiges Organisatorisches VL Software Architektur-Modelle ã Dr. Harald Störrle
Organisatorisches • Liste: bitte alle eintragen • „Skript“: meine Dissertation (Autorenexemplare zu DM 25, statt 35) • 26.10.: entfällt • Prüfung: Säulen PG & A (Prof. Wirsing) • Aufgaben: 3 Blätter • Schein: nein • Übungen: Bedarf? • Exkursion: Bedarf? VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
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) 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. VL Software Architektur-Modelle ã Dr. Harald Störrle
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. 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 VL Software Architektur-Modelle ã Dr. Harald Störrle
Apell zur Mitwirkung • Bin auf Ihre Mitwirkung angewiesen • Nachsicht bei Pannen • Fragen • Diskussionen • Übungsaufgaben • Feedback • Mitarbeit • Was sind Ihre Erwartungen? VL Software Architektur-Modelle ã Dr. Harald Störrle
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: theoretisch/praktisch • verfügbarer Aufwand: hoch/niedrig • Los geht’s! VL Software Architektur-Modelle ã Dr. Harald Störrle
Zum eigentlichen Inhalt! VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
Ziel für heute • Grundbegriffe und Fragen einführen • Themenvielfalt auffächern • Zum Nachdenken anregen VL Software Architektur-Modelle ã Dr. Harald Störrle
KEIN Ziel heute • Echte Architekturbeispiele im Detail • Antworten auf die gestellten Fragen • Handwerkszeug des Architekten VL Software Architektur-Modelle ã Dr. Harald Störrle
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? VL Software Architektur-Modelle ã Dr. Harald Störrle
Architektur große Bauwerke mit langer Lebensdauer (Jahrhunderte) große Auswirkungen auf viele Beteiligte schwierige Koordination; komplexer, arbeitsteiliger Prozesse („Leistungsstufen“) Bedeutung von Planung und Modellen Software-Architektur große Systeme mit langer Lebensdauer (Jahrzehnte) große Auswirkungen auf viele Beteiligte schwierige Koordination; komplexer, arbeitsteiliger Prozeß (Vorgehensmodelle) Bedeutung von Planung und Modellen Analogie: Gemeinsamkeiten VL Software Architektur-Modelle ã Dr. Harald Störrle
Architektur Vorläufer seit 10.000 Jahren, etablierte Disziplin seit ~1800 Ausbildungsgang/Abschluß Wissenskanon, Werkzeuge mehr oder minder künstlerischer Anteil wenige Freiheitsgrade, unmittelbar anschaulich Software-Architektur SE gerade mal seit 1968, kein eigenes Fach, kein Ausbildungsgang/Abschluß kaum Theorie/ Werkzeuge sehr technisch-mathematisch ausgerichtet extrem viele Freiheitsgrade, sehr abstrakt Analogie: Unterschiede VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
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. VL Software Architektur-Modelle ã Dr. Harald Störrle
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. VL Software Architektur-Modelle ã Dr. Harald Störrle
Wieso sich mit SWA beschäftigen? • Die „üblichen“ Gründe • Qualität • Kosten • Time-to-market • Wartbarkeit • Wiederverwendbarkeit • Investitionssicherung VL Software Architektur-Modelle ã Dr. Harald Störrle
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. VL Software Architektur-Modelle ã Dr. Harald Störrle
Software Architektur: Geschichte des Begriffs 2010 ? 2000 Hype 1990 theoretische Vorarbeiten 1980 • Erste Erwähnung • SARA 1970 • Garmisch-Konferenz • „Software Engineering“ • Wiederverwendung • Komponenten 1960 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
Gliederung: Grundbegriffe • System, Stakeholder, Anforderungen • Arten von Architekturen • Stil, Domänenarchitektur, Produktfamilie, Architektur • Elemente • Komponente • Port • Konnektor • Rolle/Protokoll • Konfiguration VL Software Architektur-Modelle ã Dr. Harald Störrle
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. VL Software Architektur-Modelle ã Dr. Harald Störrle
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! VL Software Architektur-Modelle ã Dr. Harald Störrle
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. VL Software Architektur-Modelle ã Dr. Harald Störrle
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 • Aerospace • Automobil • Maschinensteuerung • Telekom-Switches VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
Sensoren/Aktoren Radar Doppler-Radar Trägheit Staudruck Höhenmesser Waffenschächte/Relais In/Out Head-Up-Display Karten-Display numerische Tastatur alphanumerische Anzeige Schalter Anzeigelampen Pieper Beispiele: A-7E Software / System • Zu betrachten ist ein komplettes System, nicht nur die Software! VL Software Architektur-Modelle ã Dr. Harald Störrle
Zum nächsten Beispiel! VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiele: GoLife! Überblick • Komplette Software-Ausstattung für eine Direkt-Versicherung (Lebensversicherungen). • Verfremdet und zusammengetragen aus verschiedenen realen Projekten, an denen ich mitgearbeitet habe. • Sehr ähnliche Projekte liefen bereits und laufen aktuell. VL Software Architektur-Modelle ã Dr. Harald Störrle
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. • Versicherungen • Banken • ERP • Flugbuchung VL Software Architektur-Modelle ã Dr. Harald Störrle
Organisatorisch lange Lebensdauer sehr viele Beteiligte Technisch Legacies/Integration Thin-Client: Online-Betrieb! viele verschiedene Plattformen, Sprachen, DBs, Middlewares, ... Security Beispiele: GoLife! Anforderungen • Fachlich • großer Marktdruck • Mehrere Mandanten und Gesellschaften • Mehrere Sprachen • Mehrere Währungen • juristische Anforderungen • komplexe, dynamische Geschäftsprozesse VL Software Architektur-Modelle ã Dr. Harald Störrle
Angebots- erstellung Risiko- Prüfung Portal CRM DMS In/Exkasso Anlage- verwaltung Call-Center Beispiele: GoLife! Architektur Bestands- führung Brief- schreibung VL Software Architektur-Modelle ã Dr. Harald Störrle
Angebots- erstellung Risiko- Prüfung Portal CRM DMS In/Exkasso Anlage- verwaltung Call-Center Beispiele: GoLife! Architektur Bestands- führung Kunde Sach- bearbeiter Brief- schreibung VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
Zum nächsten Beispiel! VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
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“ VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiele: Siemens SL45i Anforderungskonflikte Eingebaute JVM Funktionalität dynamisch ladbar, für jeden Benutzer individuell VL Software Architektur-Modelle ã Dr. Harald Störrle
Auswertung der Beispiele VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiele: Wofür stehen sie? • A-7E • System = Hardware + Software • GoLife • Stakeholder • Konflikt zwischen ihnen • SL45i • Anforderungen im Konflikt • Produktfamilien VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiele: Vergleich 1 Nachbarsysteme GoLife SL45i A7-E in GUI Empfänger div. Sensoren Scanner Tastatur Radar Call-Center Mikrophon Schalter out GUI LCD div. Aktoren Briefdruckstraße Sender Head-Up-Display Lautsprecher Vibrationsalarm mem verschiedene DBs „Multimedia Card“ 64k intern peer Anlageverwaltung Funknetz & Dienste - VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiele: Vergleich 2 Anforderungsprofile GoLife! SL45 A-7E Functionality ++ + + Usability + ++ - Reliability - + ++ Performance +- +- ++ Security + - ++ Efficiency + +- + Maintainability + - ++ Reusability + ++ -- Time-to-market + ++ -- Portability + - -- Availability + - ++ System Development + ++ ++ FURPS ISO 9126 VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiele: Vergleich 2 Anforderungsprofile Go!Life SL45 A7E Functionality ++ + + Efficiency + +- + Usability + ++ - Performance +- +- ++ Reusability + ++ -- Time-to-market + ++ -- Reliability - + ++ System Development -- ++ ++ Portability + - -- Security + - ++ Maintainability + - ++ Availability + - ++ VL Software Architektur-Modelle ã Dr. Harald Störrle