Präsentation herunterladen
Veröffentlicht von:Yngvi Strickling Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.