Kein Folientitel

Download Report

Transcript Kein Folientitel

Vorbereitung
· FAA auf Folie ?
· Gliederung auf Folie
· Spektrum-Bericht über Windows2k
(##) als Handout kopieren
· alle ?? entfernt?!
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
1
2
Vorbereitung
· Beamer, Laptop, Maus
· 2 Exemplare der Diss
· Anwesenheitsliste
· Handout
• Artikel aus Spektrum d. Wiss: Windows2k
· Fragen?
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
2
2
Vorlesung
Software Architektur-Modelle
Grundlagen 1: Einheiten („Units“)
Dr. Harald Störrle
Ludwig-Maximilians-Universität München
Wintersemester 2001
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
3
2
Organisatorisches
• Feedback
[email protected]
• Gastvortrag
18.12., Norbert Grass, IBM S/390 („Host“)
• Folienlayout
• WWW-Angebot - Probleme gelöst (?)
www.pst.informatik.uni-muenchen.de/lehre/WS0102/architektur
• Aufgaben vom letzen Mal
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
4
2
Semestervorschau
Überblick (neu)
Grundlagen
3
ADLs
5
Host vs. EJB
Prozesse
3
30.10.2001
Grundlagen: Units
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
VL Software Architektur-Modelle
Dr. Harald Störrle
5
2
Organisatorisches
• Feedback
[email protected]
• Gastvortrag
18.12., Norbert Grass, IBM S/390 („Host“)
• Folienlayout, WWW-Angebot
www.pst.informatik.uni-muenchen.de/lehre/WS0102/architektur
• Buch - bitte nach der Vorlesung abholen
• Aufgaben vom letzen Mal
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
6
2
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!
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
7
2
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
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
8
2
Was heißt eigentlich „groß“?
sehr groß
groß
Größe in
LoC
Anzahl
Entwickler
Dauer der
Erst-Entwicklung
106-108
105-106
102-104
101-102
5-15 Jahre
2-5 Jahre
System
Zeilen Code
Windows 2000
große militärische SW
typische Unternehmens-SW
typisches BS
30.10.2001
Grundlagen: Units
29
27
19
12
Mio.
Mio.
Mio.
Mio.
VL Software Architektur-Modelle
Dr. Harald Störrle
9
2
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
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
11
2
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.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
12
2
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. 4200 Leute
– halber Tag
• ca. 90.000 Emails täglich
• täglich aktualisiertes Download von Sourcen
• über Nacht werden ca. 2000 CDs gebrannt &
verteilt
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
13
2
Was heißt groß bei Systemen?
dezentral
zentral
· Ausstattung von Siemens Business
Services (SBS), Stand Ende 2000
–
35
–
1.140
–
3.120
–
3.100
–
2.100
–
2.750
– 72.500
– 170.000
30.10.2001
Grundlagen: Units
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
VL Software Architektur-Modelle
Dr. Harald Störrle
14
2
Was sind Einheiten?
Einmal Träumen, bitte
Einheiten sind...
...langlebig
...wiederverwendbar
...integrierbar
...robust
...verteilbar
...getrennt entwickelbar (bzw. beschaffbar)
...Gegenstand von Verhandlungen & Verträgen
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
16
2
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
Mörtel
Ensemble
30.10.2001
Grundlagen: Units
Components
Glue (Connectors, Ports)
Configuration
VL Software Architektur-Modelle
Dr. Harald Störrle
17
2
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.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
18
2
Empirische Ergebnisse 1/2
· Frühe Fehler sind die teuersten.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
19
2
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.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
20
2
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 10746-a...d bzw. ITU-T X.901...904)
information, enterprise, technology, engineering, computation
• Davis/Williams
component, domain, context, interfaces, platform
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
21
2
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
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
22
2
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 --
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
23
2
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.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
24
2
Empirische Ergebnisse 2/2
Kosten vs. Nutzen bei Wiederverwendung
n Nutzen
k Kosten
kq query
ks Search
kc choice
in LoC
Aktivität
Formulieren der Suchanfrage
Suche in Komponenten-DB
Auswahl der Kandidaten
ka adapt
Anpassen
ki integrate Integrieren in Gesamt-System
abhängig von
Expertise in der Wv.-Domäne
Größe der DB
Recall, Qualität der Ergebnisse,
Expertise des Bearbeiters
Precision & Größe
Komplexität der Schnittstelle
Die Kosten sind nur wenig abhängig von der
Menge des wiederverwendeten Codes.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
25
2
Schlußfolgerung: groß
· Die wiederzuverwendenden
Komponenten sollten möglichst groß
sein.
· Einschränkung: mit steigender Größe
steigt der durchschnittliche
Anpassungsaufwand.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
26
2
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.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
27
2
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.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
28
2
Zusammenfassung der
Anforderungen
· Damit Einheiten als ArchitekturEinheiten wirklich einsetzbar sind,
müssen sie folgendes sein:
•
•
•
•
Durchgängig
Groß
Autark
Formal
30.10.2001
Grundlagen: Units
-
in allen Phasen brauchbar
von großer Granularität
sehr unabhängig
aber bitte verständlich!
VL Software Architektur-Modelle
Dr. Harald Störrle
29
2
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
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
30
2
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“)
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
31
2
Java Beans (und ähnliche)
· Java-Klassen mit einigen zusätzlichen
Namenskoventionen.
· Gleiche Kritik wie bei Klassen/Objekten
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
32
2
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“
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
33
2
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
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
34
2
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
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
35
2
Business Objects
Business Objects sind
„...interoperable [...] high-level
application components relevant to
and usable by application domain
developers...“
(OMG BO-RFP, cf/96-01-04)
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
36
2
Business Objects
· Interne Schichtung
• Präsentation
– GUI
– Dialog-Steuerung
• Applikation
– Dienste
– Anwendungs-Logik
• Persistenz
– DB-Zugriff
– DB
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
37
2
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
...
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
38
2
Business Objects
Aufgaben der Dialog-Steuerung
· Steuerung der GUI-Schicht
· Plausibilisierung
· zum Teil auch Sicherheit
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
39
2
Business Objects
Aufgaben der Dienste-Schicht
· Bereitstellung von Diensten für
• den Benutzer
• die Nachbarsysteme
in einheitlicher und kontrollierter Weise
· Synchronisation
· Transaktionssteuereung
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
40
2
Business Objects
Aufgaben der Logik-Schicht
· Implementierung der eigentlichen Fachlogik
· Schritte von Geschäftsprozessen
· Domänenwissen
· fachliche Objekte
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
41
2
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)
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
42
2
Business Objects
Aufgaben der DB-Schicht
· klassische DB-Aufgaben, also
· Persistenz
· Recovery-Fähigkeit
· Performanz
· Konsistenz
· ...
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
43
2
Business Objects
+ Richtige Granularität
+ Abgeschlossenheit
+ erste Werkzeuge
-
aufwändig, relativ starr
keine präzise Definition
Durchgängigkeit?
Sichten?
Kein Bezug zu UML
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
44
2
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.
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
45
2
Units
· „kleines“ Konzept
• 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
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
46
2
Literatur
(zur Nachbereitung)
· Technische Komponentenmodelle
– EJB 2.0, http://java.sun.com/products/ejb/whitepaper.html
– Corba Component Model
· Bücher von Oliver Sims
– Business Objects
– Building Business Objects
– Business Component Factories
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
(alle bei Wiley/OMG Press)
(1994)
(1998, Sims & P. Eeles)
(2000, Sims & P. Herzum)
47
2
Literatur
(zur Vorbereitung)
Bernd Oesterreich:
OO Software-Entwicklung mit der UML??,
Oldenbourg, 5. Auflage
OMG:
The Unified Modelling Language
v1.4, September 2001
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
48
2
Aufgabe
· Beschreiben Sie die Geschäftsprozesse einer
Bibliothek
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?
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
50
2
Nächstes Mal
Unified Modelling Language
30.10.2001
Grundlagen: Units
VL Software Architektur-Modelle
Dr. Harald Störrle
51
2