Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© 1 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Software Reengineering Werkzeuge und Prozesse Andreas Winter.

Ähnliche Präsentationen


Präsentation zum Thema: "© 1 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Software Reengineering Werkzeuge und Prozesse Andreas Winter."—  Präsentation transkript:

1 © 1 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Software Reengineering Werkzeuge und Prozesse Andreas Winter

2 © 2 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Überblick Software Reengineering º (unser) Reengineering Begriff º Reengineering Maßnahmen und Prozesse Reengineering Werkzeuge º GUPRO (Generische Umgebung zum Programmverstehen) Interoperabilität von Reengineering Werkzeugen º GXL (Graph eXchange Language) Zusammenfassung

3 © 3 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Software Reengineering … [Chikofsky/Cross, 1990] º …"is the examination and alteration of a sub- ject system to reconstitute it in a new form … This may include modifications with respect to new requirements …" [Smith et al (SEI)] º … "is the systematic transformation of an existing system into a new form to realize quality improvements in operation, system capability, functionality, performance, or maintainability and supportability at a lower cost, schedule, or risk to the customer" Verlängerung des Software- Lebens Ziel:

4 © 4 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Software Reengineering Software- system ReengineeringReengineering Ziel- setzung Reengineering Kategorien WartungWartung ErhaltungErhaltung ErweiterungErweiterung MigrationMigration IntegrationIntegration SanierungSanierung Re-DokumentationRe-Dokumentation AblösungAblösung Reengineering Kategorien WartungWartung ErhaltungErhaltung ErweiterungErweiterung MigrationMigration IntegrationIntegration SanierungSanierung Re-DokumentationRe-Dokumentation AblösungAblösung

5 © 5 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Reengineering Maßnahmen korrektive Wartung: unverzügliche Beseitigung von Fehlern, (Release-getriebe) korrektive Systemerhaltung: Behebung von Fehlern in der nächsten ausgelieferten Version Erweiterung/Adaption: Anpassung an geänderte Anforderungen Migration: Überführung von Softwaresystemen in andere Zielumgebungen Integration: Kombination verschiedener Softwaresysteme Sanierung: Verbesserung der Softwarequalität (ohne Änderung der Funktionalität) Re-Dokumentation: nachträgliche Erstellung von Dokumentationen Ablösung: Vorbereitung der Außerdienststellung eines Softwaresystems vgl. [Sneed+2004]

6 © 6 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Reengineering Prozesse Behauptungen º Unterschiedliche Reengineering Maßnahmen erfordern unterschiedliche Vorgehensweisen º Vorgehensweisen für einzelne Reengineering Maßnahmen lassen sich als Varianten eines Referenz-Prozess- Modells auffassen º konkrete Reengineering Projekte folgen problem- bezogenen Anpassungen dieser Varianten

7 © 7 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Werkzeuge GUPRO Generische Umgebung zum Programmverstehen

8 © 8 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung GUPRO Idee Anpassbares Werkzeug zur Progammanalyse º unterstützt verschiedene Analysetechniken º anpassbar an die meisten Analyseprobleme Verwendung von Graphentechnologie º Graph-basierte, konzeptionelle Modellierung des Analyse-Problems º Überführung des Softwaresystems in ein Graphen-Repository º Analyse des Repositoryinhalts durch Graphanfragen und Graphenalgorithmik Verwendung extern entwickelter Komponenten º Austausch von Reengineering-Daten mit GXL (Graph eXchange Language)

9 © 9 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung GUPRO Architektur Conceptual Model (Schema) Source Code Repository ex-tract viewVisualizationabstract

10 © 10 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Graphen in GUPRO TGraphen: º typisierte, attributierte, angeordnete, gerichtete Graphen

11 © 11 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung EER - Graph Schemas

12 © 12 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Multi Language Conceptual Model

13 © 13 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung GEOS Conceptual Model

14 © 14 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung C Conceptual Model 14

15 © 15 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung FROM declaration WITH predicate REPORT result description END Syntax: Analyse durch Graph-Anfragen GReQL (Graph Query Language): º Graph-Anfragesprache mit º regulären Pfadausdrücken º Hüllenbildung º erweiterbare Funktions- und Relationsbibliothek º eingeschränkte Prädikatenlogik erster Stufe

16 © 16 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Beispiel Caller/Callee-Paare [[ (main, max), (main, min) ]] FROM f, g: V{Function} WITH f --> {isCaller} <-- {isCallee} g REPORT f.name, g.name END

17 © 17 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Welche Programme werden durch JCL direkt gestartet? FROM jcl: V{JclProcedure} REPORT jcl.name, FROM called: V{Program} REPORT called.name END END WITH jcl <-- {isStepIn} <-- {isCalledIn} called direkt oder indirekt gestartet? ( {CallsProgram})* Beispiel

18 © 18 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Query Example Show "highest" superclass to each class FROM class, super: V{Class} WITH class --> {isSubclassOf}* super AND outDegree{isSubclassOf} (super) = 0 REPORT class.name, super.name END 18 Class name is 0..*

19 © 19 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung GUPRO Workbench

20 © 20 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Table View

21 © 21 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung GUPRO Code View

22 © 22 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung GUPRO-Projekte GUPRO º Analyse mehrsprachiger Softwaresysteme auf Architekturebene (Cobol, PL/1, CSP, JCL, IMS-DB, SQL) º gefördert durch BMFT ReSec º feingranulare Analyse zur Software- zertifizierung (C, Ada) GEOS º Analyse eines mehrsprachigen Software- systems zum Aktienhandel (Java, C, C++, RDBMS) LISA º feingranulare Analyse zur Sicherheits- überprüfung von LINUX ReJob º Repository-Struktur für JCL

23 © 23 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Interoperabilität von Reengineering Werkzeugen GXL Graph eXchange Language (www.gupro.de/GXL)

24 © 24 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Reengineering Tools Source Code Repository ex-tract viewVisualizationabstract Gesucht: Standard Austauschformat für Reengineering Werkzeuge Standard Austauschformat für Reengineering Werkzeuge

25 © 25 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Zielsetzung ausgetauschte Daten º Instanzen (Graphen) º Schemas (Graphklassen) Mathematischesl Model º typisierte, attributierte, gerichtete, angeordnete Graphen º erweitert um º Hypergraphen und hierarchische Graphen Notation º eXtensible Markup Language (XML) º Unified Modeling Language (UML)

26 © 26 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung GXL Partners

27 © 27 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung gerichtete Graphen

28 © 28 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung... typisierte, gerichtete Graphen

29 © 29 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung main b 8 typisierte, attributierte, gerichtete Graphen

30 © 30 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung main b 8 main b 8 typisierte, attributierte, gerichtete, angeordnete Graphen

33 © 33 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung GXL Werkzeuge Graph Transformation Systems º AGG (TU Berlin) º Fujaba (Univ. Paderborn) º Genset (Univ. Oregon) º Progres (RWTH Aachen) Software Engineering Tools º Chi-Bel (Univ. Toronto) º DiaGen (Univ. Erlangen) º Edinbourgh Concurrency Workbench (Univ. Edinbourgh) º MetaEdit (Jyväskylä) º Upgrade (RWTH Aachen) Graph Visualizer º Graph Tool (Univ. Durham) º GraphViz (AT&T) º Shrimp (Univ. Victoria) º TouchGraph (Alex Shapiro) º yFiles (Univ. Tübingen) º JGraph (Zürich) Graph Databases º Gras (RWTH Aachen)

34 © 34 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Beispiel Visualisierung von Bauhaus-Architekturen mit UML

35 © 35 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Beispiel Visualisierung von Bauhaus-Architekturen mit UML

36 © 36 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Zusammenfassung Reengineering º Reengineering Maßnahmen º GI Fachgruppe Reengineering (in Gründung) º Workshop Software Reengineering º Reengineering Werkzeug º GUPRO – Generische Umgebung zum Programmverstehen º Interoperabilität von Reenginneering Werkzeugen º GXL – Graph eXchange Language º Fachgruppe Reengineering


Herunterladen ppt "© 1 Institut für Softwaretechnik Universität Koblenz-Landau 15. Oktober 2004 AG Wartung Software Reengineering Werkzeuge und Prozesse Andreas Winter."

Ähnliche Präsentationen


Google-Anzeigen