Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1H. DreßlerSoftware-Architektur betr. diese Präsentation zur Damit Sie diese Darstellung tatsächlich Schritt für Schritt – na hoffentlich: – »genießen«

Ähnliche Präsentationen


Präsentation zum Thema: "1H. DreßlerSoftware-Architektur betr. diese Präsentation zur Damit Sie diese Darstellung tatsächlich Schritt für Schritt – na hoffentlich: – »genießen«"—  Präsentation transkript:

1

2 1H. DreßlerSoftware-Architektur betr. diese Präsentation zur Damit Sie diese Darstellung tatsächlich Schritt für Schritt – na hoffentlich: – »genießen« können, wird von Ihnen erwartet, daß Sie für den Bildwechsel oder manchmal zwischendurch die Maus drücken: So werden die einzelnen Seiten häufig nur portionsweise aufgeblendet. Einige Texte erscheinen nur zeilenweise, um Ihnen die Konzentration zu erleichtern. Zum Schluß jeder Seite erscheint automatisch der Rückkehr-Schalter … … wenn Sie jetzt mausklicken, auch hier. Danach können Sie entweder mit ihm (drücken!) zur vorigen Seite zurück (hier gibt´s natürlich keine) oder durch Klick außerhalb der Schaltfläche zur nächsten. *** (Unten links erscheint außerdem die übliche PowerPoint-Schaltfläche, wenn die Maus bewegt wird.) Manchmal aber funktioniert das Einblenden nicht so recht. [ Zurück … und Wiederholen! ] Das kann nur an PowerPoint liegen … Man müßte sich bei Microsoft beschweren. Sie können sich die Präsentation auch – mit zusätzlichen Erläuterungen – als NOTIZBLATT ausdrucken lassen. Vorschlag: einmal durchlaufen lassen und beim zweiten Mal gründlich lesen und bedenken

3 HD: Software-Architektur Stand: Juli 2001 H elmut D ressler

4 3H. DreßlerSoftware-Architektur H elmut D ressler <<<< * 1941, Dresden Dipl. Ing (Regelungs- technik TH Darmstadt 1969) Viele Jahre bei Software Partner GmbH, Darmstadt (Leiter Kommerzieller Großprojekte) Seit 1990 Freiberufler: »Systemanalytische Beratung«, seit 1996 in Kooperation mit Uwe Wagner »Problemlösen mit Entscheidungstabellen«, München, 1975 »Play Net« – das Spiel im Petri-Netz, Darmstadt, 1985 »Kleines Testhandbuch«, für E. Merck, Darmstadt, 1990 »Datenstrukturentwurf«, München, 1995 Einige Stichworte über Projekte oder Schwerpunkte der Vergangenheit: Didaktische Programmierung (Lehrprogramme) Entscheidungstabellen-Technik Schulungsleiter für viele Themen aus dem Bereich EDV »Normierte Programmierung« Software-Methodik Programm-Montage in Assembler (Makrotechnik) MTRX: Assembler-Verfahren zur Bearbeitung von beliebig großen dünnbesetzten Matrizen …& …Implementierung mit automatisiertem Test Matrix-Algorithmus zur Kostenverteilung Modularisierungsverfahren (View Manager) System- Analyse & -Entwurf (Implementierung mehrerer Großsysteme) Projektmodell Projektleitung von großen Projekten Petri-Netz-Anwendungen Datenbankentwurf Qualitätssicherung Produktivitäts-Kontrolle Software-Metriken Verantwortliche Beratung Analyse & Redesign bestehender Systeme Konzepte … Heutige Beratungsangebote u.a.: +Produkt »UVMT«: Umfassendes (Re-) Design der Software-Architektur +Managementberatung: Software-Produktentwicklung +Analyse & Beratung: Design und Redesign von Großanwendungen +Schrittweise Einführung nach dem Prinzip »A BC « : Konstruktive und analytische Qualitätssicherung (…also: »mit den geringsten Maßnahmen den größten Nutzen erzielen«) +Evolutionäre Software-Entwicklung (langfristige Strategie) +Beratung: Software-Produktionsmanagement & Einführung eines Projektmodells +Datenbankentwurf … mit neuem Data Dictionary System »D&W-DaDic« +P-&-Q-Checkup: dreiteiliges Firmenseminar zur Verbesserung von Produktivität und Qualität (Analyse, Zielbestimmung, Maßnahmen) quasi- »OO« (1981)

5 4H. DreßlerSoftware-Architektur mausklick! ein SYSTEM: so oder so … Aufwand Komplexität »Nachhaltige« Architektur der Software »Konventionelle« Architektur der Software Man hat es bei »Y2K« gesehen: Manche Software-Systeme werden unbeherrschbar. In der Theorie werden modulare Schichtensysteme verlangt. mit 5 Schichten!

6 5H. DreßlerSoftware-Architektur mausklick! Problem & Konzept, allgemein Aufwand Komplexität Nachhaltiges Vorgehen Konventionelles Vorgehen Anlaß fürs Redesign A ) Ziele: Welchen Nutzen wollen wir erreichen? B ) Wege & Maßnahmen: Was müssen wir dafür tun? C ) Welche Mittel & Methoden stehen uns zur Verfügung? D ) Nach welchen Prinzipien wird die Qualität der drei Aspekte gemessen? Das Dreieck A B C D ZIELE (Defizite) WEGE (Maßnahmen) MITTEL (Methoden) Prinzipien Qualitäten Fürs Design sind vier Aspekte zu bedenken, wie sie in unserem Konzept-Dreieck bezeichnet werden. In einem guten Konzept werden auf alle vier Fragen ordentliche Antworten formuliert:

7 6H. DreßlerSoftware-Architektur betr. D) Prinzipien & Qualitäten Zweckmäßig zu unterscheiden sind: ó Q A = Qualität aus Sicht der Anwender *Korrektheit, Funktionsumfang, Robustheit, Zuverlässigkeit, A-Dokumentation, Benutzerfreundlichkeit, Zeitverhalten, Leistung/Durchsatz, Stabilität der Entwicklung, »Vorzeigbarkeit«, Anpassungsfähigkeit ó Q E = Qualität aus Sicht der Entwickler *E-Dokumentation, Verständlichkeit, Einfachheit, Einheitlichkeit (nach Standards), Modularität (ADT, oo), Redundanzfreiheit der »Erfindungen«, Wiederverwendbarkeit. (Wieder-) Testbarkeit, Änderbarkeit, Erweiterungsfähigkeit, Portabilität D

8 7H. DreßlerSoftware-Architektur konventionell nachhaltig – so, wie es alle immer gemacht haben (ja auch: mit zweistelligen Jahreszahlen) – jeder ist Seines Textes Verfasser – Dokumentation: Nebensache – immer alles wieder neu erfunden: (das sei »kreativ«, ist aber tatsächlich bloß redundant) – Modularisierung: frommer Wunsch – Steuerlogik, Algorithmen und Datenzugriffe als vermischte Schriften: unauflösbarer Wirrwarr – nur der Autor kann es ändern – Fernwirkung nicht zu kontrollieren – Wiedertestbarkeit: Fehlanzeige – gewaltige Kostensteigerung erst später + zugegeben:»nachhaltig« (sustainable) ist ein Modewort, aber es weist darauf hin, daß die Effekte von Investitionen langfristig bedacht werden müssen. + jedes »Stück Logik« wird im gesamten System nur einmal implementiert; jeder kann es benutzen. + Einarbeitungs-Investitionen amortisieren sich in Kürze. k. + im Vergleich: Die Menge des Sourcecodes gegenüber k. ist drastisch vermindert. + die Teile des Systems sind dokumentiert, durchschaubar, einheitlich, testbar und kontrolliert zu ändern. + Kostenersparnis: kurz - mittel- langfristig + das Know How bleibt verfügbar.

9 8H. DreßlerSoftware-Architektur View Manager & »Sicht-Knechte« Vollkommene Abschottung der Datenbank durch Broker innen=DB-nahaußen=Anwender-nah evtl. mehrere Schichten

10 9H. DreßlerSoftware-Architektur … nach Software-Architektur-Prinzipien Stichwörter für Kenner & Experten, auf daß Sie uns nichts als zustimmen: +Evolutionäre Software - sie ist beliebig(!) weiterzuentwickeln, weil sie keine unverrückbaren Barrieren schafft +(also) 5-Schichten und strenge Modularisierung - damit Programm-Montage stattfinden kann +(also) redundanzfreie, aber wiederverwendbare Bausteine - so daß Sourcetexte und Irrtümer minimiert werden +(also) Information Hiding - damit niemand die obligatorischen Schnittstellen umgehen/mißbrauchen kann +Datenstruktur-Entwurf nach allen Regeln der »Kunst« +Strenge Trennung von Präsentation, Anwenderlogik und DB-Zugriffslogik +Qualitätsmaßstäbe aus Sicht der Anwender - Korrektheit, Funktionsumfang, Robustheit, Zuverlässigkeit, Anwender- Dokumentation, Benutzerfreundlichkeit, Zeitverhalten, Leistung/Durchsatz, Stabilität der Entwicklung, »Vorzeigbarkeit«, Anpassungsfähigkeit +zusätzliche Qualitätsmaßstäbe aus Sicht der Entwickler - Entwickler-Dokumentation, Verständlichkeit, Einfachheit, Einheitlichkeit (nach Standards), Modularität (ADT, oo), (Wieder-) Testbarkeit, Änderbarkeit, Erweiterungsfähigkeit, Portabilität +Entwurf & Implementierung der Programmstrukturen aus einem Guß (keine Umstrukturierung!) +Testbarkeit optimal: Schrittweise integrierbare Bausteine: topdown & bottomup natürlich Sprachen- und Betriebssystem- unabhängig

11 10H. DreßlerSoftware-Architektur Einschub: oo-Entwurf, UML, UseCases Sind alle SW-A-Prinzipien gewährleistet? Gibt es eine vorher definierte Datenstruktur? »Persistenz« ist beinahe ein Sonderfall. Frühere Redeweise: »…Operationen auf die Datenstruktur« Wie wird ein UML-Entwurf in eine (bitte sehr: nichttriviale) Programm- und Systemstruktur umgesetzt? »oo-Dynamik« (Methoden) auf Kosten der DB-Statik (Views) Vernachlässigung von Schichten oder gar Massendaten- Verarbeitung »Gruppenwechsel-Batch« ist sowieso meist unbekannt… … oder völlig unterschätzt!

12 11H. DreßlerSoftware-Architektur 5 Schichten und strenge Modularisierung… (2) E/A - »logische Masken« / Client Anwender- Dialoge (3) Funktionen: E/A-Steuerung, (Batch?), Dienste, Ablauflogik, Algorithmen Verarbeitungen (4) Broker View Manager »Sicht-Knechte« Objekt- Funktionen (1) Individuelle graphische Oberfläche (GUI) evtl. auch im I…Net (5) DB-Zugriffe / Server / Batch } 1. Programm ist aktiv 2. GUI-neutrale Aufbereitung der DIALOG-Schnittstelle 3. Präsentation und Eingabe 4. Logische Datenzugriffe 5. Physische Datenzugriffe …in der Theorie & etwas idealisiert … die wäre auch wichtig } … eigentlich die wichtigste Trennlinie DataContainer

13 12H. DreßlerSoftware-Architektur in der PRAXIS aber Algorithmen Dialoge Ablauf- Steuerung Daten- Aufbereitung DB- Zugriffe Batch- Verarbeitung Algorithmen Innerhalb der … findet die … … statt! egal, ob … … oo- orientierter Entwurf … … oder frei (Spaghetti-) Schnauze Je größer das System desto schlimmer.

14 13H. DreßlerSoftware-Architektur Also: neues SW-Architekturkonzept (1) für: AM = Algorithmen-Modul VM = View Manager (Broker) DM = Dienstmodul (Batch.GW) VB = Standard- Verbindungs-Bereich für alle Module (vereinfacht:) AB = Individueller Anwender-Bereich je Modul (beliebiger Struktur) Sender-Einträge Sender Empfänger Selektor (»Methode« – unterteilt) Betrachtungs-Datum Sprachcode Autorisierung zum Dienstmodul A (Anfang) zum Dienstmodul H (Haupt *) zum Dienstmodul E (Ende) TraceLevel Sendezeitpunkt Empfänger-Einträge Empfänger-Zeitpunkt Returncode (nach Standardtabelle) Fehler-Information zum Fehlermodul (hochzureichen) AM: beliebiger Modul, auch Objekt, der irgendwelche Leistungen vollbringt, als Sammlung beliebiger Methoden zu einem »Thema«, aber ohne Zugriff auf eine persistente Datenstruktur; er kann VMs benutzen. VM = View Manager, Broker, Maklermodul: verwaltet einen definierten Teil der Datenstruktur, empfängt einzelne Views (von oben) für die Ausgabe und liefert sie einzeln (nach oben) an die aufrufende Instanz … & ruft für die Batch-Verarbeitung (mindestens) einen DM auf, dessen Name und Selektor von der rufenden Instanz zur Objektzeit bestimmt wird – bei Bedarf, also fast immer, mit GW-Analysator. DM: mit maximal 98 Gruppenstufen (reicht garantiert) hat jeder Dienstmodul dieselbe Gruppenwechsel-Ablauflogik (GW), und der Programmierer hat einzig und allein – welches die Kunst ausmacht – Unterprogramme für Anfangs- und Enderoutinen auf den Hierarchiestufen und die Einzelverarbeitung zu schreiben. MODUL

15 14H. DreßlerSoftware-Architektur Beispiel eSQL SELECT …FROM …WHERE … ( immer wieder dieselben oder nur ganz ähnliche Formulierungen überall ) Und nun hier mitten drin jeweils viele Zeilen individueller, eingebetteter Verarbeitung der gerade aktivierten View-Menge (Set) bis zum END SELECT Ja, Himmel, Zwirn & Wolkenbruch, da kann doch nicht jeder mit seinen SELECTs (FINDs) in der Datenbank herum- fuhrwerken !!! Das ist anti- objekt- orientiert.

16 15H. DreßlerSoftware-Architektur View Manager ! Einschub zur Erläuterung: eine einfache Struktur Teil der Datenbank View Manager 2) View Manager vermittelt mögliche Dienstmodule 1) Anwenderprogramm will auf Datenbank zugreifen blau: Datenfluß akuter Dienstmodul 3) Einer der möglichen Dienstmodule wird ausgewählt und verarbeitet eine Datenmenge (batch) View Manager ! Anwender- Programm Anwender- Logik Broker- Logik

17 16H. DreßlerSoftware-Architektur Neues SW-Architekturkonzept (2) AM.17AM.91VM.03DM.69DM.68 VM.08 DM.68DM.67DM.66DM.65DM.69 … ist aufgerufen … ruft auf: … greift auf View zu, z.B. WRITE … ruft nun auf: Die warten auf Beschäftigung … SELECT und dynamische Bindung (…greift sich einen) Zwischen SELECT und END SELECT Viele Zugriffe und Aufrufe …druckt Listen … mausklick … DieDienstmodulestammen aus der Schicht-3,aberwerden(zwangsläufig) in der Schicht-5(SERVER!)eingesetzt.

18 17H. DreßlerSoftware-Architektur Neues SW-Architekturkonzept (3) anderes Beispiel AM.92 VM.05 DM.67 … ruft nun auf: … SELECT und dynamische Bindung Zwischen SELECT und END SELECT Viele Zugriffe und Aufrufe …druckt View-für-View Listen nach dem GRUPPENWECHSEL- Schema … mausklick … …und bucht o.ä. VM.07 … ruft auf: … greift auf einzelne Views zu, z.B. WRITE Diese Technik ist nicht selbstverständlich.

19 18H. DreßlerSoftware-Architektur. Dynamische Bindung … … der Dienstmodule, u.a. für GW-Batchverarbeitung im Server MODUL Diese Technik ist nicht selbstverständlich.

20 19H. DreßlerSoftware-Architektur Was ist das? …wenn sie einfach einzusetzen ist…

21 20H. DreßlerSoftware-Architektur im Netz: Übergabe der VB + AB VM.08 DM.68 SERVER Clients mit Proxies VM.08-Stub VM.03 VM.03-Stub Object Request Broker CORBA läßt grüßen

22 21H. DreßlerSoftware-Architektur betr. C) Mittel und Methoden Die umfaßt: Broschüre: UVMT – Theorie und Praxis (Manual) UVMT-Einführungsseminar Definition der Standardschnittstelle mit Erläuterung UVMT-Montage-Prozeduren = simpler Aufruf, starke Leistung Standard- und Muster-Module (Listen und Sourcetextdatei) in einer Host- Sprache (Natural, Cobol, C, Java, …) Ablauffähiges Musterbau-System in der Host-Sprache Einführungsberatung (Entwurf und Betreuung beim Pilotprojekt) Review und Erfahrungs-Auswertung nach dem Pilotprojekt Copyright © by H. Dressler C unsere 8 Leistungen

23 22H. DreßlerSoftware-Architektur Lassen Sie sich ein Angebot unterbreiten! Angaben zu Ihrer Firma: –Name und Adresse –Ansprechpartner –Branche –Erfahrungen mit Standards, CASE, Methodologien, Ideologie, Werkzeugunterstützung usw. – Angaben zum System: –Hardware –Betriebssystem –Programmiersprachen (Anwendungen) –Programmiersprachen (DB-Zugriffe) –Angaben zu – TP-Monitor – Client/Server – … –Programmierumgebung –Besonderheiten –Wünsche Ein Angebot umfaßt unsere 8 Leistungen: Handbuch Seminar Standard-Schnittstellen Handbuch Seminar Standard-Schnittstellen Montageprozeduren Mustermodule (frames) Montageprozeduren Mustermodule (frames) Musterbau-System Einführungsberatung Musterbau-System Einführungsberatung Review Review … und/oder haben Sie Fragen ?

24 23H. DreßlerSoftware-Architektur wenden Sie sich an: Software Engineering Competence Ihr Beraterteam für die wesentlichen Aufgaben moderner Software-Entwicklung Helmut Dressler Lauteschlägerstr Darmstadt Tel Fax D ressler & W agner Uwe Wagner Alsbacher Str Seeheim-Jugenheim Tel Fax


Herunterladen ppt "1H. DreßlerSoftware-Architektur betr. diese Präsentation zur Damit Sie diese Darstellung tatsächlich Schritt für Schritt – na hoffentlich: – »genießen«"

Ähnliche Präsentationen


Google-Anzeigen