Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorbereitung FAA auf Folie ? Gliederung auf Folie

Ähnliche Präsentationen


Präsentation zum Thema: "Vorbereitung FAA auf Folie ? Gliederung auf Folie"—  Präsentation transkript:

1 Vorbereitung FAA auf Folie ? Gliederung auf Folie
Spektrum-Bericht über Windows2k (##) als Handout kopieren alle ?? entfernt?! Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

2 Vorbereitung Beamer, Laptop, Maus 2 Exemplare der Diss
Anwesenheitsliste Handout Artikel aus Spektrum d. Wiss: Windows2k Fragen? Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

3 Software Architektur-Modelle Grundlagen 1: Einheiten („Units“)
Vorlesung Software Architektur-Modelle Grundlagen 1: Einheiten („Units“) Dr. Harald Störrle Ludwig-Maximilians-Universität München Wintersemester 2001 Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

4 Organisatorisches Feedback stoerrle@informatik.uni-muenchen.de
Gastvortrag , Norbert Grass, IBM S/390 („Host“) Folienlayout WWW-Angebot - Probleme gelöst (?) Aufgaben vom letzen Mal Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

5 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 Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

6 Organisatorisches Feedback stoerrle@informatik.uni-muenchen.de
Gastvortrag , Norbert Grass, IBM S/390 („Host“) Folienlayout, WWW-Angebot Buch - bitte nach der Vorlesung abholen Aufgaben vom letzen Mal Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

7 Aufgaben vom letzten 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! Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

8 Programm für heute Was heißt eigentlich „große Systeme“?
Aus was für Einheiten sind sie aufgebaut? Welche Anforderungen müssen diese Einheiten erfüllen? Erste Notationen Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

9 Was heißt eigentlich „groß“?
Größe in Anzahl Dauer der LoC Entwickler Erst-Entwicklung sehr groß Jahre groß Jahre System Zeilen Code Windows Mio. große militärische SW 27 Mio. typische Unternehmens-SW 19 Mio. typisches BS 12 Mio. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

10 Große Software ist anders
Vergleiche Software ~ Lebewesen Software ~ Gebäude/Maschinen TO DO siehe Notizseite ?? Beispiel: Bewegungsabläufe von Elefanten vs. Eichhörnchen (oder Insekten) Insekten können aus großer Höhe ohne Schaden fallen Insekten vermehren sich schnell Große Tiere haben wesentlich mehr Intelligenz, selbst wenn man Termiten oder Ameisen-Staaten mitrechnet und langsamere Fortpflanzungszyklen, und längere Lebensdauer z.B. Lungen vs. Tracheen z.B. Skelett vs. Chitin-Panzer (vgl auch Autos: ?? Vs. selbsttragende Karosserie, dito Gebäude) z.B. Gehirn: zentrales Organ (Gehirn), plus Hilfsknoten (Nervenknoten, Rückenmark) vs. Dezentrale Motorik/Sensorik bei Bienen z.B. Anpassung an ökologische Nische Variabilität (siehe Reproduktionszyklus) exklusive Ausschöpfung der Nische, bzgl Kontextbedingungen Mobilität Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

11 Große Software ist anders
Die Herstellung großer SW-Systeme ist ein inhärent eigenes Problem Proportionen von Phasen und Aufwänden bis zu 95% des Gesamtaufwandes gehen in Tests: Kosten für Definition, Bereitstellung und Administration von Testumgebung, Testfällen, Testergebnissen. Regressionstests! nicht enthalten: konstruktive QS-Maßnahmen. Aufgaben KM/ÄM wird zu einem enorm wichtigen Thema typischen Probleme Mitarbeitermotivation (Fluktuation, innere Kündigung, Politik) Kommunikationsaufwand wächst mindestens quadratisch ebenso der Aufwand für Planung und Controlling Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

12 Große Software ist anders
Daher gibt es entscheidende Unterschiede zwischen großen und kleinen Projekten bezüglich: Infrastrukturen Organisationsformen, Kommunikationswege und -mittel Methodik, Werkzeuge, Aktivitäten, Phasen Schwerpunkte, Probleme, Aufgaben Beteiligte ... => letztlich bezüglich ALLER Aspekte und: große Systeme brauchen eine Architektur Siehe zum Beispiel Windows2000. Windows ist natürlich in Hinblick auf Architektru ein schlechtes Beospiel, weil es dort um ein Betreibssystem geht, und die Architekturen von Betriebssystemen ist extrem gut verstanden: das wird in jedem Grundstudium gelehrt, das kennt jeder einzelne Infomatiker (und wichtiger: auch jeder angelernt Programmierer) aus eigener täglicher Erfahrung. Insofern ist es vielleicht auch gerade ein gutes Beispiel dafür, welche Größenordnugn von Systemen gebaut weden kann, wenn die Architektru gut verstanden ist. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

13 Windows 2k als Großprojekt
Bislang größtes kommerzielles System Ca. 27 Mio. LoC (meistenteils C++) täglicher Build-Test-Zyklus kontrolliertes Ignorieren von Fehlern wöchentliches Motivationstreffen ca Leute halber Tag ca s täglich täglich aktualisiertes Download von Sourcen über Nacht werden ca CDs gebrannt & verteilt Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

14 Was heißt groß bei Systemen?
Ausstattung von Siemens Business Services (SBS), Stand Ende 2000 35 Mainframes Unix/NT-Server mit insgesamt 257 TByte Workstations Leitungen Router mit insgesamt 500 Tbit/s Volumen UNIX/NT-Server PCs Terminals und Peripherie-Geräte zentral dezentral Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

15 ?? Große Systeme (Bsp) Große Systeme sind arbeitsteilig und bestehen aus eigenständigen Subsystemen, auch „Einheiten“ genannt wg. Begriffsüberladung. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

16 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 Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

17 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 Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

18 Was sind Einheiten Vom Traum zur Realität
Wie müssen Einheiten beschaffen sein, welche Eigenschaften müssen sie aufweisen, um unsere Ziele zu erreichen? Zwei Beobachtungen aus der Praxis helfen uns, Fehler früherer Ansätze zu vermeiden. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

19 Empirische Ergebnisse 1/2
Frühe Fehler sind die teuersten. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

20 Schlußfolgerung: durchgängig
Die Bausteine einer Architektur müssen schon frühzeitig im Zuge eines Projektes definiert werden, nicht erst zur Implementierungszeit. Daher müssen sie als Modelle vorliegen, nicht (nur) als Code. Um gleichzeitig die Übersicht zu gewährleisten, sollten sie durch Sichten organisiert sein. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

21 Exkurs: Sichten/Sichtweisen (engl.: View/Viewpoint)
Vorschläge Kruchten „4+1 View Model“ physical, logical, scenarios, process, development Amigos „UML Manual“ deployment, design, use case, implementation, process RM-ODP (ISO/IEC a...d bzw. ITU-T X ) information, enterprise, technology, engineering, computation Davis/Williams component, domain, context, interfaces, platform Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

22 Exkurs: Sicht/Sichtweise
Wie ist ihre Beziehung zueinander? Wie ist ihre Beziehung zu UML? Wie werden die Sichten dargestellt? Welche Sichten sollten fixiert werden? Für alle Anwendungen die gleichen Sichten? Lösung: IEEE Architecture Working Group, P1471 generisches Konzept Sicht/Sichtweise Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

23 Exkurs: Sichten in P1471 „a view is a representation of a whole system from the perspective of a related set of concerns“ „a viewpoint is a specification of the conventions for constructing and using a view“ -- Ende des Exkurses -- Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

24 Empirische Ergebnisse 2/2
Studien zeigen: nur in frühen Phasen ist Wiederverwendung effektiv: dort geht es um große Einheiten die Domänen- oder Systemwissen kodifizieren und relativ leicht änderbar sind Daher ist Wiederverwendung von kleinen Einheiten (z.B. Klassen) unwirtschaftlich. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

25 Empirische Ergebnisse 2/2
Kosten vs. Nutzen bei Wiederverwendung n Nutzen in LoC k Kosten Aktivität abhängig von kq query Formulieren der Suchanfrage Expertise in der Wv.-Domäne ks Search Suche in Komponenten-DB Größe der DB kc choice Auswahl der Kandidaten Recall, Qualität der Ergebnisse, Expertise des Bearbeiters ka adapt Anpassen Precision & Größe ki integrate Integrieren in Gesamt-System Komplexität der Schnittstelle Die Kosten sind nur wenig abhängig von der Menge des wiederverwendeten Codes. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

26 Schlußfolgerung: groß
Die wiederzuverwendenden Komponenten sollten möglichst groß sein. Einschränkung: mit steigender Größe steigt der durchschnittliche Anpassungsaufwand. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

27 Schlußfolgerung: autark
Daher müssen die Einheiten sehr autark sein, d.h. unabhängig und selbstgenügsam („self-containedness“). Insbesondere müssen sie sehr harte, wohl-kontrollierte schmale Schnittstellen aufweisen. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

28 Schlußfolgerung: formal
Um die Kosten zu reduzieren, müssen Arbeitsschritte automatisiert werden. Um auf Modellen automatisiert arbeiten zu können, müssen die Modelle formal sein. Um gleichzeitig Akzeptanz zu erreichen, muß diese Formalität versteckt werden. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

29 Zusammenfassung der Anforderungen
Damit Einheiten als Architektur-Einheiten wirklich einsetzbar sind, müssen sie folgendes sein: Durchgängig - in allen Phasen brauchbar Groß - von großer Granularität Autark - sehr unabhängig Formal - aber bitte verständlich! Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

30 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 Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

31 Klassen/Objekte Sehr kleine Einheiten starke Abhängigkeit zum Kontext
nur Zugriffskontrolle nach innen, nicht nach außen, nur alles-oder-nichts Kontrolle Analyse-Klassen haben keinen Bezug zu Implementations-Klassen („semantic gap“) Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

32 Java Beans (und ähnliche)
Java-Klassen mit einigen zusätzlichen Namenskoventionen. Gleiche Kritik wie bei Klassen/Objekten Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

33 Enterprise Java Beans (EJB)
Mehr als Java Beans Ablaufumgebung (Application Server) stellt gewisse Basisdienste zur Verfügung (Persistenz, Transaktionskotrolle, Sicherheit, Naming, Kommunikation, ...) Probleme kleine Einheiten sehr implementierungslastig einige ungelöste technische Probleme zur Zeit Integration mit Corba 3 als „Corba Component Model“ (CCM), und mit UML als „UML Profile for EJBs“ Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

34 UML Components In UML 1.4 sind Components Bit-Folgen
„A component represents a physical piece of implementation of a system“ => genau nicht das, was man braucht Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

35 UML Subsystems Pakete mit 2-3 Kompartimenten + richtige Granularität
+ Im Prinzip durchgägngig verwendbar - vage Definition, keine Semantik - keine Konzepte für Schnittstellen Sichten Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

36 Business Objects Business Objects sind
„...interoperable [...] high-level application components relevant to and usable by application domain developers...“ (OMG BO-RFP, cf/ ) Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

37 Business Objects Interne Schichtung Präsentation Applikation
GUI Dialog-Steuerung Applikation Dienste Anwendungs-Logik Persistenz DB-Zugriff DB Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

38 Business Objects Aufgaben der GUI-Schicht
Anzeige der graphischen Schnittstelle Eingaben auffangen und kanalisieren Dies „dünne“ Schicht ganz oben ist entscheidend für Portabilität und Multi-Kanalfähigkeit Desktop (Fat Client) WAP Internet (Kunden!) Intranet Druckstraße DMS Batch-Verarbeitung ... Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

39 Business Objects Aufgaben der Dialog-Steuerung
Steuerung der GUI-Schicht Plausibilisierung zum Teil auch Sicherheit Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

40 Business Objects Aufgaben der Dienste-Schicht
Bereitstellung von Diensten für den Benutzer die Nachbarsysteme in einheitlicher und kontrollierter Weise Synchronisation Transaktionssteuereung Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

41 Business Objects Aufgaben der Logik-Schicht
Implementierung der eigentlichen Fachlogik Schritte von Geschäftsprozessen Domänenwissen fachliche Objekte Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

42 Business Objects Aufgaben der DB-Zugriffs-Schicht
Umsetzung Relationen/Klassen bzw. Zeilen/Objekte Umsetzung technische/fachliche Transaktionen, Schwebeverwaltung (z.B. Halbbuchungen) Caching und Garbage Collection für fachliche Objekte transparenter Daten-/Dateizugriff, optimistische Sperrstrategie Versionierung, Historisierung Unabhängigkeit von DB-Produkten (siehe z.B. R/3, row-level locking gab`s damals noch nicht) Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

43 Business Objects Aufgaben der DB-Schicht klassische DB-Aufgaben, also
Persistenz Recovery-Fähigkeit Performanz Konsistenz ... Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

44 Business Objects + Richtige Granularität + Abgeschlossenheit
+ erste Werkzeuge - aufwändig, relativ starr - keine präzise Definition - Durchgängigkeit? - Sichten? - Kein Bezug zu UML Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

45 Units Einheiten sind aufgebaut aus einer (beliebigen) Menge von Sichten, idR. ist eine davon die Schnittstellen-Sicht, die Ports enthält. Ein Port kontrolliert eingehende wie ausgehende Nachrichten. Alle Kommunikationen einer Einheit geht über Ports. Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

46 Units „kleines“ Konzept Anforderungen erfüllt?
Verallgemeinerung von Business Objects Paßt auch auf andere Ansätze Anforderungen erfüllt? + Durchgängigkeit / frühe Phasen + Autark + Granularität + UML-Integration + Formal Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

47 Literatur (zur Nachbereitung)
Technische Komponentenmodelle EJB 2.0, Corba Component Model Bücher von Oliver Sims (alle bei Wiley/OMG Press) Business Objects (1994) Building Business Objects (1998, Sims & P. Eeles) Business Component Factories (2000, Sims & P. Herzum) Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

48 Literatur (zur Vorbereitung)
Bernd Oesterreich: OO Software-Entwicklung mit der UML??, Oldenbourg, 5. Auflage OMG: The Unified Modelling Language v1.4, September 2001 Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

49 Literatur (Achtung! Nicht Lesen!)
Fowler: UML distilled Oldenbourg, 5. Auflage ?? : The Unified Modelling Language?? O`Reilly Stevens, ??: ?? Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

50 Aufgabe Beschreiben Sie die Geschäftsprozesse einer Bibliothek Wie?
a) alle (die sie finden) im Überblick b) einen oder zwei im Detail Wie? Nachdenken oder Interview (Bibliothekar) Beliebiger Formalismus, Text, ... Umfang etwa 1-2 Seiten Was sind ihre Probleme/Erfahrungen gewesen? Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle

51 Unified Modelling Language
Nächstes Mal Unified Modelling Language Grundlagen: Units VL Software Architektur-Modelle ã Dr. Harald Störrle


Herunterladen ppt "Vorbereitung FAA auf Folie ? Gliederung auf Folie"

Ähnliche Präsentationen


Google-Anzeigen