Verfahren zur Bestimmung geeigneter Teilsysteme und deren Sequenzierung

Die Bildung geeigneter Teilsysteme integrierter Informationssysteme (IS) ist für unterschiedliche Aufgaben des Informationsmanagements von erheblicher Bedeutung. Als Beispiele derartiger Aufgaben wäre die Bestimmung von Teilprojektgruppen während der Systementwicklung und -wartung, die Prioritätensetzung für Entwicklungsvorhaben oder auch die Allokation von Prozessen auf unterschiedliche Rechner zu nennen.

Nach der Erläuterung systemtheoretischer Aspekte werden die in ausgewählten Vorgehensmodellen der Gestaltung von IS anzutreffenden Ansätze zur Gliederung umfassender Systeme in überschaubare Teilsysteme aufgezeigt. Anschliessend wird der Nutzen von Matrixdarstellungen als Darstellungs- und Analysemittel beschrieben. Dabei steht der Ansatz des «Business System Planning» (BSP) im Vordergrund, welcher auf der Gruppierung von Geschäftsprozessen und Datenklassen beruht.

Die Unterteilung von Systemen unterschiedlichster Art gehört zu den zentralen Problemen systemtheoretischer Betrachtungen. Bei der Gestaltung von IS wird in diesem Zusammenhang häufig der Begriff der «Architektur von IS» verwendet. Da für die damit verbundenen Gruppierungsprobleme nur beschränkt Lösungsansätze vorliegen, werden hierzu Algorithmen entwickelt und bezüglich verschiedener Implementierungsvarianten untersucht. Als Basis der formalen Problemdefinitionen dient ein eigenes, auf die Problemstellung angepasstes Meta-Modell. Wegen Einbezug dieser Abstraktionsebene erlauben die vorgestellten Verfahren nicht nur die Gruppierung von Geschäftsprozessen und Datenklassen zu unabhängigen Teilsystemen, sondern können Objekte beliebiger Paare von Objekttypen in nahezu autonomen Einheiten zusammenstellen. Als Mass der Abhängigkeit zweier Teilsysteme können sowohl Kontroll- oder Datenflüsse als auch Ähnlichkeitsmasse berücksichtigt werden. Dieser Freiheitsgrad erlaubt die flexible Anpassung der Lösungsverfahren auf grundverschiedene Ausgangsprobleme.

Das in der Literatur ausführlich, aber hinsichtlich der verwendeten Algorithmen nicht immer präzise dargestellte Gruppierungsproblem wird formal als das Fusionsproblem definiert. Unter Anwendung des aus der Gruppentechnologie bekannte «Cluster Identification Algorithm» gelingt die Bestimmung von Basisblöcken, welche die Grundelemente des Fusionsproblems darstellen. Die formale Beschreibung dieses rein binären Problems wird veranschaulicht und die Parametrierung der Zielfunktion illustriert. Ein eigenes Verfahren zur Lösung rein binärer Probleme (Backtracking) dient als Basis der entwickelten Algorithmen.

Die dargestellten Lösungsverfahren für das Fusionsproblem beruhen im Kern auf der minimalen Vollenumeration aller Gruppierungsmöglichkeiten von Basisblöcken. Verschiedene Implementierungsvarianten werden hinsichtlich ihres Laufzeitverhaltens eingehend untersucht. Mit Hilfe einfacher Heuristiken werden nicht nur gute, möglicherweise suboptimale Lösungsvorschläge bestimmt, sondern auch exakte Lösungsverfahren gezielt unterstützt und deren Laufzeitverhalten massiv verbessert.

Bei gerichteten Beziehungen zwischen Teilsystemen können mit Hilfe der Lösungsverfahren für das Reihenfolgeproblem die Teilsysteme derart sequenziert werden, dass die Beziehungen möglichst in eine einzige Richtung gelenkt werden. Teilsysteme sind dann soweit als möglich nur von vorgelagerten Teilsystemen abhängig. Gerade bei der Gestaltung und Realisierung von IS ist dies besonders wichtig, weil damit die Zahl der Teilsysteme, welche während der Implementierungsphase auf noch gar nicht existierende Teilsysteme zugreifen, minimiert werden kann. Während der Systempflege erlaubt die so vorgenommene Sequenzierung die Auswirkungen von Änderungen einzelner Teilsystemen soweit als möglich lokal zu halten.

Die Darstellung des Reihenfolgeproblems zeigt eine überraschende Analogie mit dem Fusionsproblem und damit die Anwendbarkeit der Algorithmen zur Lösung des Fusionsproblems auf das Reihenfolgeproblem.

Die Visual Basic Applikation «Fusion & Sequenz» (fuse.zip, benötigt vbrun300.dll) – sie löst sowohl das Fusions- wie auch das Reihenfolgeproblem – ist eine Sammlung von Algorithmen zur Restrukturierung von Matrizen. Die Hauptanwendung liegt in der Dekomposition komplexer Informationssysteme in möglichst unabhängige Teilsysteme. Im Kern gelangt ein spezielles Branch-and-Bound Verfahren zum Einsatz, welches die Lösung auch grösserer Problemstellungen erlaubt.

Mit Hilfe des Cluster Identification Algorithm werden Matrizen in die kleinsten isolierbaren Untermatrizen entlang der Hauptdiagonale zerlegt und anschliessend in der Fusion wieder derart zusammengefügt, dass die Anzahl der Interaktionen zwischen den entstehenden Subsystemen minimiert wird und gleichzeitig die Subsysteme möglichst kohärent bleiben.

Die Sequenzierung erlaubt die Bestimmung der optimalen Reihenfolge der Subsysteme, so dass während der Implementierung der einzelnen Subsysteme so wenig wie möglich auf nachgelagerte Subsysteme zurückgegriffen werden muss.

Inhaltsverzeichnis
1 Einleitung

2 Grundlagen

3 Entwicklung spezieller Verfahren
3.1 Problemdefinitionen
3.2 Heuristisches Lösungsverfahren für das Fusionsproblem
3.3 Exaktes Lösungsverfahren für das Fusionsproblem
3.4 Exaktes Lösungsverfahren für das Reihenfolgeproblem

4 Leistungsbeurteilung und Anwendungsbeispiele
4.1 Leistungsbeurteilung
4.2 Anwendungsbeispiele

5 Schlussbetrachtungen

6 Anhang

Stichworte
Systementwicklung, Systemwartung, Projektmanagement, Gruppierungsproblem, Clustering, Fusionsproblem, Reihenfolgeproblem, Sequenzierung, Heuristik, exakte Lösungsverfahren, Vollenumeration.