Heidelberg Eye Explorer Die technologische Neuausrichtung

Werbung
Heidelberg Eye Explorer
Die technologische Neuausrichtung
Erfahrungsbericht aus einem Reengineering-Projekt
Martin Moro
Lehrstuhl für Wirtschaftsinformatik III
[email protected]
0941/943-3215
6. Workshop Software Reengineering
Bad Honnef, 3.-5. Mai 2004
Universität Regensburg
Vorausblick
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Agenda
ƒ
Einleitung und Problembereich
ƒ
Der Weg zur neuen Softwarearchitektur
ƒ
Die neue Softwarearchitektur
2
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
1.
Einleitung und
Problembereich
3
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Einleitung und Problembereich
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Die Software Heidelberg Eye Explorer
4
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Einleitung und Problembereich
Das Einsatzszenario in Augenarztpraxen
ƒ
Augenarztpraxen unterhalten i.d.R. nur ein
Aufnahmegerät sowie einen dazu gehörigen
PC-Arbeitsplatz mit der Software Eye Explorer.
Heidelberg Retina Angiograph 2
(beispielhaft für Produktpalette)
Heidelberg Eye Explorer
5
Heidelberg Eye Explorer
Die technologische Neuausrichtung
MS Access
Datenbank
[email protected]
0941/943-3215
Einleitung und Problembereich
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Das Einsatzszenario in Kliniken
ƒ
Kliniken unterhalten i.d.R. eine Reihe unterschiedlicher
Aufnahmegeräte sowie eine netzwerkweite Installation
der Software Eye Explorer.
MS Access
Datenbank
6
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Einleitung und Problembereich
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Der daraus entstehende Problembereich
ƒ
Die historisch gewachsene Software Heidelberg Eye Explorer ist technologisch
nicht für den Einsatz in einem Kliniknetzwerk vorbereitet.
ƒ
Die MS Access Datenbank ist mit dem entstehenden Datenvolumen überfordert.
ƒ
Wichtige Informationen liegen außerhalb der Datenbank in separaten Dateien
und sind somit nicht durchsuchbar und für den Arzt nicht erschließbar.
ƒ
Gleichzeitige Zugriffe auf die Daten konkurrieren zueinander.
ƒ
Die Software sieht kein Berechtigungskonzept für einen Mehrbenutzerbetrieb vor.
ƒ
Änderungen an den Daten werden nicht unmittelbar an die anderen
Arbeitsstationen gemeldet.
= Motivation für ein Reengineering.
7
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Einleitung und Problembereich
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Führt zu Kooperation mit entsprechender Rollenverteilung
Lieferant für Ideen zukünftiger Anforderungen
und Referenzinstallation im Rahmen einer Klinik.
Umsetzung der neuen Architektur in die
bestehende Software Heidelberg Eye Explorer.
Universität Regensburg
Lehrstuhl für Wirtschaftsinformatik III
Zulieferung von softwaretechnischen Know How für das
Architekturkonzept und der Entwicklung der kritischen Komponenten.
8
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
2.
Der Weg zur neuen
Softwarearchitektur
9
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Die Vorgehensweise des Reengineering
Vor der Inangriffnahme des Software-Reengineering wurde folgende grundsätzliche
Vorgehensweise überlegt:
Problembereiche
Problembereiche
identifizieren
identifizieren
Motivation,
anzustrebende
Verbesserungen
aus Benutzersicht
definieren
(bereits gezeigt)
Analyse
Analyse
Anforderungen
Anforderungen
der bisherigen SW, an neue Softwarearchitektur ableiten
Verstehen der
und formulieren
Architektur,
Probleme in der
Software und
betroffene Module
erkennen
Konstruktion
Konstruktion
der neuen Softwarearchitektur, Vergleich
von Designalternativen,
Kriterienmatrix, Mischen
von Ideen
Laufzeit 2 Jahre
10
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Problembereiche
Problembereiche
identifizieren
identifizieren
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Analyse
Analyse
Anforderungen
Anforderungen
Konstruktion
Konstruktion
ƒ Durchsicht der bisherigen Software
ƒ Verstehen der Architektur
ƒ Probleme in der Software erkennen
ƒ Probleme auf Softwaremodule zurückführen
11
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Schritt 1: Analyse
a) Durchsicht der bisherigen Software, Verstehen der Architektur, Probleme erkennen
HRF
HRF
HRT 22
HRT
HRT
HRT
Aufnahmemodule
Aufnahmemodule
HRA
HRA
HRF
HRF
12
HRT 22
HRT
ƒ
ƒ
ƒ
HRT
HRT
Grundfunktionalität
HRA
HRA
gerätespezifische
Module
in Form von
Bibliotheken
Auswertungsmodule
Auswertungsmodule
MS Access
Datenbank
Basis
Basis Eye
Eye Explorer
Explorer
hochgradige Verflechtungen innerhalb der Module und in Richtung der Basis
Code zum Zugriff auf die Datenbank über die ganze Software verstreut
Jedes Modul benutzt eigene Datenstrukturen und speichert Ergebnisse zwischen
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Schritt 1: Analyse
b) Probleme auf Softwaremodule zurückführen
Die erkannten Probleme lassen auf folgende betroffene Module schließen:
ƒ
ƒ
ƒ
ƒ
ƒ
1 Basis Eye Explorer
5 Aufnahmemodule
5 Auswertungsmodule
3 Importmodule
6 Low-Level-Bibliotheken für HW-Zugriff
68.000 LOC
100.000 LOC
280.000 LOC
20.000 LOC
95.000 LOC
betroffen
von Reengineering
Learned:
Learned:
Im
Im Projekt
Projekt basierte
basierte die
die Analyse
Analyse auf
auf Quellcode
Quellcode und
und geringer
geringer techn.
techn. Dokumentation.
Dokumentation.
Bei
Bei der
der Analyse
Analyse durch
durch Externe
Externe wäre
wäre ein
ein Softwaremodell
Softwaremodell äußerst
äußerst hilfreich.
hilfreich.
Kompensiert
Kompensiert wurde
wurde dies
dies durch
durch eine
eine Vielzahl
Vielzahl an
an Gesprächen
Gesprächen und
und Reviews.
Reviews.
13
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Problembereiche
Problembereiche
identifizieren
identifizieren
Analyse
Analyse
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Anforderungen
Anforderungen
Konstruktion
Konstruktion
ƒ Nicht-funktionale Anforderungen an die SW
ƒ Anforderungen an das Reengineering
ƒ Iterative Annäherung an eine vollständige
Auflistung der Anforderungen
14
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Schritt 2: Anforderungen
a) Nicht-funktionale Anforderungen an die Software
Neben den funktionalen Anforderungen waren im Rahmen der Entscheidung für eine
Softwarearchitektur die nicht-funktionalen Anforderungen ausschlaggebend:
ƒ
Sowohl für Einzelplätze als auch für Netzwerke in Kliniken geeignet, wobei die
Einzelplätze deutlich überwiegen (ca. 80% der Installationen).
ƒ
Weltweit verbreitete bisherige Software Heidelberg Eye Explorer möglichst einfach
auf die neue Technologie (durch den Anwender) migrierbar.
ƒ
Datenbank flexibel austauschbar, so dass die Vorgaben der Kliniken (Oracle, DB2,
MS SQL Server) berücksichtigt werden können (Einzelplatz mit Datenbank MySQL).
ƒ
Auf wachsende Benutzer- und Leistungsanforderungen skalierbar.
ƒ
Offen für die Ankopplung angrenzender Softwaresysteme (möglichst keine
properitäre Technik bzw. Datenformate).
15
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Schritt 2: Anforderungen
b) Anforderungen an das Reengineering
Darüber hinaus sind aber auch Anforderungen speziell des Reengineerings zu
beachten:
ƒ
Die bereits entwickelten Module sollen soweit wie möglich in ihrer fachlichen
Logik beibehalten werden (Schutz des geleisteten Entwicklungsaufwandes).
ƒ
Als Entwicklungssprache soll weiterhin C++ benutzt werden (Entwicklungsteam auf
C++ ausgerichtet).
Learned:
Learned:
Anforderungen
Anforderungen konnten
konnten nicht
nicht von
von Anfang
Anfang an
an vollständig
vollständig klar
klar formuliert
formuliert werden.
werden.
Erst
Erst die
die iterative
iterative Überarbeitung
Überarbeitung in
in einer
einer Reihe
Reihe von
von Gesprächen
Gesprächen führte
führte zu
zu einer
einer
ausreichend
ausreichend vollständigen
vollständigen Auflistung
Auflistung (für
(für die
die Entscheidungsfindung
Entscheidungsfindung wichtig).
wichtig).
16
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Problembereiche
Problembereiche
identifizieren
identifizieren
Analyse
Analyse
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Anforderungen
Anforderungen
Konstruktion
Konstruktion
ƒ Suche von potentiellen
Lösungsansätzen
ƒ Vergleich v. Alternativen
ƒ Kriterienmatrix
ƒ Mischen von Ideen
17
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Schritt 3: Konstruktion
a) Suche von potentiellen Lösungsansätzen
Begonnen wurde mit einer informellen Sammlung von Lösungsideen (Auszug):
ƒ
18
Direkte Integration der
Zwischenschicht in
bestehende Software
Eigenentwickelter
Applikationsserver
in Java
Zugekaufter bzw. frei
verfügbarer J2EEApplikationsserver
Zugriff auf Datenbank
über ODBC
Kommunikation über
TCP bzw. Java
Native Interface
Verbindung über
clientseitige Zugriffsmodule
Tatsächlich als Story-Cards notiert, um eine Diskussion am Tisch zu ermöglichen.
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Schritt 3: Konstruktion
b) Vergleich von Designalternativen
ƒ
Der Vergleich der verschiedenen Lösungsansätze stellte sich als äußerst
schwieriger und langwieriger Prozess heraus.
ƒ
Schwierigkeiten ergaben sich insbesondere bei der Prognose, welchen Grad der
Erfüllung an nicht-funktionalen Anforderungen die Designalternativen erreichen.
Wie sollte z.B. die geforderte Flexibilität, Performance sichergestellt werden ?
Und wie sollte dies den Lösungsansätzen angesehen werden ?
ƒ
Gelöst wurde dies durch
- Rücksprache und Beratung mit Experten,
- der Recherche in Erfahrungsberichten zu den Technologien und
- der teilweisen Überprüfung anhand von einfachen Prototypen.
Learned:
Learned:
Nützlich
Nützlich sind
sind Szenarios
Szenarios zur
zur Quantifizierung
Quantifizierung nicht-funktionaler
nicht-funktionaler Anforderungen.
Anforderungen.
19
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Schritt 3: Konstruktion
c) Kriterienmatrix
ƒ
Ergebnis dieser Arbeiten war eine Kriterienmatrix der Lösungsansätze mit ihren
Eigenschaften (Vorteile und Nachteile im Bezug auf das Reengineering-Projekt).
ƒ
Auszug aus der iterativ erstellten Kriterienmatrix:
Lösungsansatz
Vorteile
Direkte Integration der
leicht zu integrieren, geringer
Entwicklungsaufwand, gute
Zwischenschicht in
bestehende Anwendung Performance für Einzelplätze
20
Nachteile
keine Offenheit gegenüber
angrenzenden Softwaresystemen
Eigenentwickelter
Applikationsserver
in Java
Plattformunabhängigkeit
Schwierige Technologie JNI
durch die Sprache Java (auch und nicht gewünschte
für Unix-Server),
Entwicklungssprache Java
Zugekaufter bzw. frei
verfügbarer J2EEApplikationsserver
Standardtechnologie, die auch Für den großen Teil der
von anderen Systemen
Einzelplatzinstallationen
genutzt werden könnte
schlicht zu komplex
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Der Weg zur neuen Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Schritt 3: Konstruktion
d) Die Mischung an Ideen als optimale Lösung
ƒ
Der Vergleich der Designalternativen führte bald zu der Erkenntnis, dass nur eine
Mischung aus den angedachten Ideen zum Erfolg führen kann.
Für
Für dieses
dieses Projekt
Projekt optimale
optimale Lösung:
Lösung:
Form
Form einer
einer nachrichtenbasierten
nachrichtenbasierten Middleware
Middleware
Lösungsansatz 1
Flexibel
Flexibel auf
auf die
die Bedürfnisse
Bedürfnisse der
der Arbeitsumgebung
Arbeitsumgebung
anpassbare
anpassbare Lösung:
Lösung:
Lösungsansatz 3
Lösungsansatz 2
21
Heidelberg Eye Explorer
Die technologische Neuausrichtung
ƒƒ für
für Einzelplätze
Einzelplätze direkt
direkt in
in die
die Software
Software linkbar
linkbar
ƒƒ für
Netzwerke
XML-Kommunikation
über
für Netzwerke XML-Kommunikation über TCP
TCP
ƒƒ durch
durch die
die Sprache
Sprache C++
C++ kann
kann bereits
bereits entwickelter
entwickelter
Code
Code wiederverwendet
wiederverwendet werden
werden
XML
XML ist
ist offen
offen für
für angrenzende
angrenzende Systeme,
Systeme, die
die direkte
direkte
Integration
sichert
den
Einzelplätzen
die
geforderte
Integration sichert den Einzelplätzen die geforderte
Performance.
Performance.
[email protected]
0941/943-3215
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
3.
Die neue
Softwarearchitektur
22
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Die neue Softwarearchitektur
Schematischer Aufbau der neuen Softwarearchitektur
Auswertungsmodule
Auswertungsmodule
Basis
Basis Eye
Eye Explorer
Explorer
Neue
Neue objektorientierte
objektorientierte Plattform
Plattform
ƒ
ƒ
23
HRF
HRF
HRT 22
HRT
HRT
HRT
Aufnahmemodule
Aufnahmemodule
HRA
HRA
HRF
HRF
HRT 22
HRT
HRT
HRT
Grundfunktionalität
HRA
HRA
gerätespezifische
Module
in Form von
Bibliotheken
X
Zugriffe dieser Art
sind nun nicht mehr
erlaubt.
X
SQL
Datenbank
Eingezogen wurde eine neue objektorientierte Plattform, die sowohl die fachlichen
Klassen als auch die Verfahren zur Kommunikation mit der Datenbank kapselt.
Vorhandene Logik in den gerätespezifischen Modulen wird beibehalten.
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Die neue Softwarearchitektur
Die neue Softwarearchitektur im Detail (Auszug)
Client
Client
Business
Business Logic
Logic
Basis
Basis Eye
Eye Expl.
Expl.
Business
Business Logic
Logic
HRA
HRA
Business
Business Logic
Logic
HRF
HRF
Active
Active Object
Object
Framework
Framework
Business
Business Logic
Logic
HRT
HRT
Business
Business Logic
Logic
HRT
HRT 22
Methodenobjekte
konstruieren
Shared
Shared
DataLink
DataLink
Server
Server
XML
XML
Database
Database
Database
Database
MySQL
MySQL
24
Messages
Messages
ApplServer
ApplServer
Database
Database
Oracle
Oracle
Heidelberg Eye Explorer
Die technologische Neuausrichtung
XML
serialisieren und über
TCP versenden oder
direkt ausführen
[email protected]
0941/943-3215
Die neue Softwarearchitektur
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Zukünftige Arbeitsschritte
ƒ
Fertiggestellt ist heute
a) die neue objektorientierte Plattform und
b) der Applikationsserver in seiner Grundfunktionalität.
c) Test der neuen Plattform in ihrer Funktionalität.
Arbeitsaufwand bis heute: ca. 14 Mann-Monate.
ƒ
Noch durchzuführen ist
a) die Integration der Plattform in die bestehende Software Eye Explorer und
b) in die gerätespezifischen Module sowie
c) Tests und Performancemessungen.
Geschätzter noch zu erbringender Aufwand: ca. 12 Mann-Monate.
25
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Lessons Learned
Standardisierungsmöglichkeiten im Prozess
Vorgehensmodelle wie der Rational Unified Process
helfen bei
„Problembereiche identifizieren“,
„Analyse“ und „Anforderungen“
aber wenig bei der „Konstruktion“.
Konstruktion
Konstruktion
Darin verborgene Tätigkeiten:
ƒ Suche von potentiellen
Lösungsansätzen
ƒ Vergleich von Alternativen
ƒ Kriterienmatrix
ƒ Mischen von Ideen
26
Projekt: Schwierigkeit bei der Suche nach der opt. Lösung.
Ein standardisierter Bewertungsprozess hilft bei der
Bewertung von Lösungsansätzen auf die Erfüllung
nicht-funktionaler Anforderungen (-> Dissertation).
Auszug aus den abgedeckten Punkten:
ƒ Anwendung von visuellen Bewertungsverfahren
und Metriken (z.B. Kopplung)
ƒ Problembereiche aufspüren
ƒ systematisch Lösungsalternativen vergleichen
ƒ Erfahrungen für spätere Projekte speichern.
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Fragen
Lehrstuhl für Wirtschaftsinformatik III
Martin Moro
Vielen Dank für die Aufmerksamkeit !
ƒ
Haben Sie noch Fragen, Anmerkungen, Tipps oder Wünsche ?
Martin Moro
[email protected]
Tel: 0941 / 943-3215
27
Heidelberg Eye Explorer
Die technologische Neuausrichtung
[email protected]
0941/943-3215
Herunterladen