O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Softwaremigration in der Praxis

Book Description

  • Erfahrung von Harry Sneed aus den letzten 20 Jahren Software Maintenance fließt ein- hoher Praxisbezug: Mitgrationsfallstudien und Empfehlungen zur optimalen Vorgehensweise sowie Hinweise, erkannte Fehler und Schwachstellen zu vermeiden

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Vorwort
  5. Inhaltsverzeichnis
  6. Kapitel 1: Einleitung zum Thema Softwaremigration
    1. 1.1 Die Motivation für Softwaremigration
    2. 1.2 Zum Zustand der IT in der betrieblichen Praxis
    3. 1.3 Alternativen zur Bewältigung von Altlasten
      1. 1.3.1 Neuentwicklung
      2. 1.3.2 Ablösung durch Standardanwendungssoftware
      3. 1.3.3 Migration der Altsysteme
    4. 1.4 Migrationsstrategien
      1. 1.4.1 Reimplementierungsstrategie
      2. 1.4.2 Konversionsstrategie
      3. 1.4.3 Kapselungsstrategie (Wrapping)
      4. 1.4.4 Auswahl einer geeigneten Strategie
    5. 1.5 Umstellungs- und Übergabestrategien
      1. 1.5.1 Punktumstellung und Punktübergabe (Big Bang)
      2. 1.5.2 Langfristumstellung
      3. 1.5.3 Inkrementelle Paketumstellung
      4. 1.5.4 Inkrementelle Paketumstellung mit Komponentenersatz
      5. 1.5.5 Inkrementelle Paketumstellung mit Paralleleinsatz
    6. 1.6 Zur Wirtschaftlichkeit einer Softwaremigration
      1. 1.6.1 Betriebswirtschaftliche Sicht
      2. 1.6.2 Projektmanagement-Sicht
      3. 1.6.3 Technische Sicht
    7. 1.7 Zum Aufbau des Buches
  7. Kapitel 2: Grundlagen und -begriffe der Softwaremigration
    1. 2.1 Abgrenzung des Themas Migration
      1. 2.1.1 Neuentwicklung, Weiterentwicklung und Evolution
      2. 2.1.2 Integration
      3. 2.1.3 Wartung und Maintenance
      4. 2.1.4 Reengineering
      5. 2.1.5 Reverse Engineering
      6. 2.1.6 Migration
    2. 2.2 Migrationsprojekte
      1. 2.2.1 Falsche Gründe für Migrationsprojekte
      2. 2.2.2 Wahre Gründe für Migrationsprojekte
    3. 2.3 Migrationsansätze
      1. 2.3.1 Reimplementierung
      2. 2.3.2 Konvertierung
      3. 2.3.3 Kapselung
      4. 2.3.4 Ein Beispiel zur Unterscheidung der Migrationsansätze
    4. 2.4 Migrationsarten
      1. 2.4.1 Datenmigration
      2. 2.4.2 Programm-Migration
      3. 2.4.3 Benutzungsschnittstellen-Migration
      4. 2.4.4 Systemschnittstellen-Migration
      5. 2.4.5 Systemmigration
    5. 2.5 Anwenderoptionen
      1. 2.5.1 Interne Migration mit eigenen Ressourcen
      2. 2.5.2 Interne Migration mit fremden Ressourcen
      3. 2.5.3 Externe Migration mit internem Test
      4. 2.5.4 Externe Migration einschließlich Test
      5. 2.5.5 Kriterien für die Entscheidung
  8. Kapitel 3: Migrationsprozesse aus Forschung und Praxis
    1. 3.1 Chicken-Little-Migrationsansatz
      1. 3.1.1 Zielsetzung und Idee des Chicken-Little-Ansatzes
      2. 3.1.2 Chicken-Little-Migrationsobjekte
      3. 3.1.3 Chicken-Little-Vorgehensmodell
      4. 3.1.4 Bewertung des Chicken-Little-Ansatzes
    2. 3.2 Butterfly-Migrationsansatz
      1. 3.2.1 Zielsetzung und Idee des Butterfly-Ansatzes
      2. 3.2.2 Butterfly-Vorgehensmodell
      3. 3.2.3 Bewertung des Butterfly-Ansatzes
    3. 3.3 Der Renaissance-Migrationsprozess
      1. 3.3.1 Phasen im Renaissance-Migrationsansatz
      2. 3.3.2 Das Renaissance-Integrationsmodell
      3. 3.3.3 Bewertung des Renaissance-Ansatzes
    4. 3.4 Das COREM-Migrationsverfahren
      1. 3.4.1 Der Top-down-Ansatz
      2. 3.4.2 Der Bottom-up-Ansatz
      3. 3.4.3 Verschmelzung der beiden Ansätze
      4. 3.4.4 Bewertung des COREM-Verfahrens
    5. 3.5 Die Migrationsfabrik
      1. 3.5.1 Zielsetzung und Idee der Migrationsfabrik
      2. 3.5.2 Vorgehensmodell der Migrationsfabrik
      3. 3.5.3 Bewertung der Migrationsfabrik
    6. 3.6 SMART-Softwaremigration
      1. 3.6.1 Zielsetzung und Idee von SMART
      2. 3.6.2 SMART-Vorgehensmodell
      3. 3.6.3 Bewertung des SMART-Ansatzes
    7. 3.7 Objektorientierte Softwaremigration
      1. 3.7.1 Zielsetzung des objektorientierten Ansatzes
      2. 3.7.2 Objektorientiertes Vorgehensmodell
      3. 3.7.3 Bewertung des objektorientierten Ansatzes
    8. 3.8 Testgetriebene Migrationsprozesse
    9. 3.9 Werkzeuggetriebene Migrationsprozesse
  9. Kapitel 4: Der Reference Migration Process (ReMiP)
    1. 4.1 Prozessmodelle als Sammlung von Erfahrungswerten
      1. 4.1.1 Erfahrungswerte aus der Softwaremigration
      2. 4.1.2 Erfahrungswerte aus der Softwareentwicklung
      3. 4.1.3 Synthese der Erfahrungswerte aus Entwicklung und Migration
      4. 4.1.4 ReMiP als Prozess-Framework
    2. 4.2 Struktur des ReMiP-Prozessmodells
      1. 4.2.1 ReMiP-Phasen
      2. 4.2.2 ReMiP-Meilensteine
      3. 4.2.3 Kern- und Basisbereiche des ReMiP
      4. 4.2.4 Prozessmodell des ReMiP
    3. 4.3 Kernbereich Anforderungsanalyse
      1. 4.3.1 Analyse der Anforderungen
      2. 4.3.2 Dokumentation der Anforderungen
    4. 4.4 Kernbereich Legacy-Analyse und -Aufbereitung
      1. 4.4.1 Analyse des Legacy-Systems
      2. 4.4.2 Globale Bewertung des Legacy-Systems
      3. 4.4.3 Reverse Engineering des Legacy-Systems
      4. 4.4.4 Vorbereitung des Legacy-Systems
    5. 4.5 Kernbereich Zielsystementwurf
      1. 4.5.1 Definition der Zielsystemkandidaten
      2. 4.5.2 Verfeinerung der Zielsystemarchitektur
      3. 4.5.3 Definition der Übergangsarchitektur
      4. 4.5.4 Entwurf der Programme
      5. 4.5.5 Entwurf der Benutzungsschnittstellen
      6. 4.5.6 Entwurf der Datenbanken
      7. 4.5.7 Spezifikation der Transformationen
    6. 4.6 Kernbereich Strategieauswahl
      1. 4.6.1 Erarbeitung der Migrationsstrategien für Zielsystemkandidaten
      2. 4.6.2 Bewertung der Migrationsstrategien für Zielsystemkandidaten
      3. 4.6.3 Auswahl der Migrationsstrategie
      4. 4.6.4 Verwaltung der Migrationsstrategie
    7. 4.7 Kernbereich Transformation
      1. 4.7.1 Isolation des Migrationspakets
      2. 4.7.2 Transformation des Migrationspakets
      3. 4.7.3 Durchführung der Deltamigration
      4. 4.7.4 Implementierung neuer Komponenten
    8. 4.8 Kernbereich Test
      1. 4.8.1 Definition der globalen Teststrategie
      2. 4.8.2 Testspezifikation für das Migrationspaket
      3. 4.8.3 Testdurchführung für das Migrationspaket
      4. 4.8.4 Auswertung der Testergebnisse
    9. 4.9 Kernbereich Übergabe
      1. 4.9.1 Einrichtung der Zielumgebung
      2. 4.9.2 Planung der Übergabe
      3. 4.9.3 Entwicklung des Supportmaterials
      4. 4.9.4 Durchführung der Übergabe
      5. 4.9.5 Ablösung des Legacy-Systems
    10. 4.10 Basisbereich Konfigurations- und Änderungsmanagement
    11. 4.11 Basisbereich Projektmanagement
    12. 4.12 Basisbereich Mitarbeiterqualifizierung
    13. 4.13 Basisbereich Migrationsumgebung
  10. Kapitel 5: Methoden und Techniken der Softwaremigration
    1. 5.1 Softwaremesstechnik
    2. 5.2 Systembewertung
    3. 5.3 Migrationsaufwandsschätzung
      1. 5.3.1 Schätzung nach COCOMO II
      2. 5.3.2 Schätzung mit Object Points
      3. 5.3.3 Schätzung mit Data Points
    4. 5.4 Migrationsplanung
    5. 5.5 Migrationssteuerung
    6. 5.6 Entwurfsmethoden
      1. 5.6.1 Entwurf der Istarchitektur
      2. 5.6.2 Entwurf der Sollarchitektur
    7. 5.7 Code-Transformationstechniken
    8. 5.8 Code-Reimplementierungstechnik
    9. 5.9 Code-Kapselungstechniken
      1. 5.9.1 Prozesskapselung
      2. 5.9.2 Transaktionskapselung
      3. 5.9.3 Programmkapselung
      4. 5.9.4 Modulkapselung
      5. 5.9.5 Prozedurkapselung
    10. 5.10 Datenkonvertierungstechnik
    11. 5.11 Datenkapselungstechnik
    12. 5.12 Regressionstesttechniken
      1. 5.12.1 Voller Regressionstest
      2. 5.12.2 Selektiver Regressionstest
    13. 5.13 Systemnachdokumentation
    14. 5.14 Systemverwaltung
  11. Kapitel 6: Softwaremigrationswerkzeuge
    1. 6.1 Codeanalysewerkzeuge
      1. 6.1.1 Codeprüfung
      2. 6.1.2 Codemessung
      3. 6.1.3 Verfügbare Analysewerkzeuge
    2. 6.2 Schätzwerkzeuge
      1. 6.2.1 COCOMO-II
      2. 6.2.2 SoftCalc
    3. 6.3 Projektmanagementwerkzeuge
    4. 6.4 Entwurfswerkzeuge
    5. 6.5 Programmtransformationswerkzeuge
      1. 6.5.1 Die prozeduralen Werkzeuge
      2. 6.5.2 Die objektorientierten Werkzeuge
    6. 6.6 Programmkapselungswerkzeuge
      1. 6.6.1 Screen Scraping Tools
      2. 6.6.2 Transaction Wrapping Tools
      3. 6.6.3 Function Wrapping Tools
    7. 6.7 Datenkonvertierungswerkzeuge
    8. 6.8 Datenkapselungswerkzeuge
      1. 6.8.1 Kapselung der Legacy-Datenbanksysteme
      2. 6.8.2 Kapselung relationaler Datenbanken
    9. 6.9 Regressionstestwerkzeuge
      1. 6.9.1 Kommerzielle Testwerkzeuge
      2. 6.9.2 Regressionstest einzelner Module
      3. 6.9.3 Regressionstest der migrierten Systeme
    10. 6.10 Nachdokumentationswerkzeuge
    11. 6.11 Systemverwaltungswerkzeuge
  12. Kapitel 7: Migrationsfallstudien
    1. 7.1 RCOST: Migration von COBOL-Client/Server-Systemen in eine Webumgebung
      1. 7.1.1 Projekthintergrund
      2. 7.1.2 Migrationsvorbereitung
      3. 7.1.3 Migrationsdurchführung
      4. 7.1.4 Lehren aus dem RCOST-Projekt
    2. 7.2 Migration von Mainframe-COBOL-Programmen in eine UNIX-J2EE-Umgebung
      1. 7.2.1 Projekthintergrund
      2. 7.2.2 Schichtenarchitektur
      3. 7.2.3 Erfahrungen mit der Kapselung alter Programme und deren Daten
    3. 7.3 Eine inkrementelle Systemablösung
    4. 7.4 Eine schrittweise COBOL-Migration in drei Akten
      1. 7.4.1 Der erste Akt – Beseitigung der Altlasten
      2. 7.4.2 Der zweite Akt – Zurück zu Standard-COBOL
      3. 7.4.3 Der dritte Akt – Der Übergang zum IBM-Mainframe
    5. 7.5 Migration einer Mainframe-Anwendung auf UNIX
      1. 7.5.1 Machbarkeitsstudie
      2. 7.5.2 Grundprämissen für das Projekt
      3. 7.5.3 Gegenstände der Migration
      4. 7.5.4 Regressionstest des migrierten Billing-Systems
      5. 7.5.5 Erfahrungen aus der Migration des Billing-Systems
    6. 7.6 Massenmigration von einem Bull-Mainframe auf verteilte UNIX-Rechner
      1. 7.6.1 Projektorganisation
      2. 7.6.2 Einrichtung von Gateways zwischen den Rechnern
      3. 7.6.3 Aufbau einer Migrationsfabrik
      4. 7.6.4 Projektresümee
    7. 7.7 Das ARNO-Projekt: Beispiel einer Migration von einem proprietären Mainframe-Rechner in eine offene UNIX-Umgebung
      1. 7.7.1 Die Migration beginnt mit einer Studie
      2. 7.7.2 Die Projektorganisation
      3. 7.7.3 Die Vorbereitung der Migration
      4. 7.7.4 Der Wechsel der Programmiersprache
      5. 7.7.5 Der Konvertierungsprozess
      6. 7.7.6 Der Testprozess
      7. 7.7.7 »Migration« der Mitarbeiter
      8. 7.7.8 Übergabe an die Linienorganisation
      9. 7.7.9 Fazit einer erfolgreichen Migration
    8. 7.8 Automatisierte Migration von COBOL in Java
      1. 7.8.1 Die Ausgangssituation
      2. 7.8.2 Alternative Lösungen
      3. 7.8.3 Die Spezifikation der Reimplementierung
      4. 7.8.4 Der Code-Konvertierungsprozess
      5. 7.8.5 Das Konvertierungsergebnis
      6. 7.8.6 Das Ergebnis als Zwischenstufe
      7. 7.8.7 Eine testgetriebene Migration
  13. Kapitel 8: Die Zukunft der Migrationstechnologie
    1. 8.1 Die aktuelle Migrationswelle – serviceorientierte Architekturen (SOA)
    2. 8.2 Alternative Wege zur SOA
      1. 8.2.1 Top-down-Migrationsansatz
      2. 8.2.2 Bottom-up-Migrationsansatz
      3. 8.2.3 Gemischter Migrationsansatz
      4. 8.2.4 Voraussetzung für eine Migration zur SOA
    3. 8.3 Die Bereitstellung von Web Services
      1. 8.3.1 Web Services einkaufen
      2. 8.3.2 Web Services mieten (Software on Demand)
      3. 8.3.3 Web Services ausleihen
      4. 8.3.4 Web Services entwickeln
      5. 8.3.5 Web Services aus vorhandenen Systemen wiedergewinnen
    4. 8.4 Ansätze zur Wiedergewinnung von Web Services
      1. 8.4.1 Entdecken potenzieller Web Services
      2. 8.4.2 Bewertung potenzieller Web Services
      3. 8.4.3 Extrahierung des Codes für den Web Service
      4. 8.4.4 Anpassung des Web-Service-Codes
    5. 8.5 Test der Web Services
    6. 8.6 Migration als Outsourcing-Geschäft
    7. 8.7 Widerstände gegen Migration
    8. 8.8 Das Rad dreht sich weiter
  14. Literatur
  15. Index