Fallstudien zur Softwareentwicklung

Am Beispiel einiger durch die ITZ Rostock GmbH realisierte Software-Projekte wird gezeigt, wie Individuallösungen Wertschöpfungsprozesse optimieren und effektivieren konnten. Dieser Effizienzgewinn ging oft mit einer Verbesserung der Servicequalität einher.

Auslastungsoptimierung durch besseres Preismanagement 

Durch eine Vereinheitlichung der zuvor vielfältigen und nicht zueinander passfähigen Preis- und Produktinformationssysteme eines internationalen Logistikunternehmens konnten folgende Effekte erreicht werden:

  • Vereinheitlichung der Produktbasis im Konzern
  • Einfachere Preisermittlung
  • Mehr Preistransparenz für den Kunden
  • Optionale Bereitstellung besonderer Preiskonditionen,
    wie z. B. von Staffelpreisen
  • Auslastungsoptimierung durch besseres Preismanagement
  • Aufwandsminimierung, da manuelle Abstimmungen entfallen

Aufgabenstellung

Ein internationales Logistikunternehmen setzte für unterschiedliche Sparten individuelle Preis- und Produktinformationssysteme ein. Die Geschäftsobjekte und die Methoden der Preisfindung waren in den einzelnen Sparten sehr unterschiedlich ausgeprägt. Die Zuständigkeiten und Kompetenzen für einzelne Produkte sind innerhalb des Konzerns weit gestreut.

Dieser Zustand sollte durch Einführung eines einheitlichen Produktinformationssystems verbessert werden. Das neue System musste sämtliche Produktinformationen zusammenfassen und so die zentrale Informations-, Überwachungs- und Beauskunftungsplattform für Produkte des Konzerns werden.

Projektverlauf

Während der Vorbereitung des Projektes wurde festgestellt, dass eine hinreichend genaue Projektplanung und Aufwandsabschätzung mit den vorhandenen Informationen zu den Daten und Prozessen innerhalb der Altsysteme unmöglich war.

Prozess- und Datenanalyse für mehr Klarheit bei Zielvorgaben

Daraufhin führte die ITZ Rostock GmbH eine Prozess- und Datenanalyse durch. Die Modellierung konnte trotz weit gestreuter Kompetenzen auf Kundenseite dank unserer Erfahrungen im Produkt- und Logistikbereich sehr zeitnah fertig gestellt werden. Für die Altsysteme und das Neusystem wurden Fachklassenmodelle erstellt. Die angestrebten unternehmenseinheitlichen Prozesse zur Produktverwaltung wurden als Anwendungsfall-Diagramm aufbereitet.

Die Analyseergebnisse ermöglichten es allen zuständigen Parteien des Kunden, die Anforderungen an das Neusystem zu präzisieren und zu bestätigen.

Mitgestaltung im Systemkonzept: Frühzeitige Einbindung der Anwender

In der anschließenden Entwurfsphase wurden zeitgleich die Softwarearchitektur nach ARC42, das IT-Konzept und ein Klick-Dummy realisiert. Der Klick-Dummy half IT-fernen Projektbeteiligten dabei, sich die angestrebte Umsetzung zu erschließen und sich in die Ausgestaltung der Umsetzung einzubringen. Die Zwischenstände der erstellten Dokumente wurden dem Kunden regelmäßig präsentiert, um ihm so gute Mitgestaltungs- und Kontrollmöglichkeiten zu bieten.

ETL-Komponente sorgt für flexible Datenextraktion aus heterogenen Systemkomponenten

Das Neusystem sollte über eine flexible ETL-Komponente verfügen, um Anpassungen an bestehende Schnittstellen und die Einbindung neuer Informationsquellen ohne Änderungen an der Programmierung des Systems zu ermöglichen. Dafür wurde ein frei parametrierbarer Extraktor geschaffen, der Webservice-Informationsquellen unterstützt. Außerdem fand eine frei parametrierbare Anbindung dieses Extraktors an die SOA des Kunden statt.

Die der Extraktion nachgelagerte Transformation der Quelldaten wurde ebenfalls frei parametrierbar gestaltet. Die Parametrierung von Extraktions-, Transformations- und Ladeprozess erfolgt über eine Browserapplikation.

Sämtliche Prozesse des Ladesystems laufen in der geschaffenen Lösung autark, bei Unregelmäßigkeiten werden die zuständigen Akteure per Mail benachrichtigt. Ladeoperationen können zyklisch oder vom Quellsystem getriggert ausgeführt werden. Nutzer des Systems werden auf Wunsch per Mail oder Webservice über Änderungen an den für sie sichtbaren Produkten informiert.

Browserbasierte Anwenderschnittstelle ermöglicht Zugang auch für Mandanten des Kunden

Für die Inspektion und Modifikation des Datenbestandes wie auch für die fachliche und technische Administration wurde eine Webanwendung mittels JavaServer Faces realisiert. Die Produktdaten selbst werden in einer Oracle-11-Datenbank vorgehalten.

Über einen HTTPS- und USERNAME-tokengesicherten Webservice können Mandanten des Logistikunternehmens auf ihre mandantenspezifischen Produkt- und Preisinformationen zugreifen. Als Ausführungsumgebung für Webservice und -anwendung wurde ein JBoss Enterprise Server gewählt, da sich dieser optimal in die IT-Landschaft des Kunden eingliedern ließ.

Minimierung des Pflegeaufwandes durch umfassende Dokumentation und Service-Tool

Um den Aufwand für Logistikkunden, welche den Beauskunftungs-Webservice an ihre IT anbinden möchten, zu minimieren, wurden neben der Servicebeschreibung ein Entwickler-How-To und ein übersichtlicher Serviceclient entwickelt, dessen Programmquellen den Servicenehmern übergeben werden.

Ergebnisse

Das Projekt wurde einschließlich fachlicher und betrieblicher Abnahme, Paketierung und Aktivierung sämtlicher Schnittstellen und Aufnahme des Produktivbetriebes innerhalb von sechs Monaten termin- und budgetgerecht realisiert.

Technologiewechsel ermöglicht höhere Marktdurchdringung 

Durch den Wechsel zu einer leistungsfähigeren Systemlösung konnten folgende Effekte erreicht werden:

  • Ausweitung der Kundenbasis auf das Hundertfache
  • Verbesserung der Servicequalität gegenüber den Kunden
  • Steigerung der internen Effizienz
  • Verbesserung der Daten- und Transaktionssicherheit

Aufgabenstellung

Ein bundesweit agierendes Unternehmen überlässt seinen Kunden Geräte zur Nutzung. Die Informationen über Nutzungsverträge, Kundendaten und darüber, welcher Kunde welches Gerät wie intensiv nutzt, wurden in einer MS-Access-Datenbanklösung verwaltet.

Infolge eines rasant wachsenden Kundenstammes, verbunden mit einer immer größeren Nachfrage nach Geräten, stieß die beim Kunden vorhandene MS-Access-Anwendung an ihre Leistungsgrenzen. Zudem genügte sie nicht mehr den Anforderungen nach sicheren Transaktionen, bundesweitem Datenbankzugriff, Authentifizierung, Protokollierung und Reporting.

Projektverlauf

Geschäftsprozessanalyse sorgt für optimiertes Datenmodell

Um eine auch auf lange Sicht beständige und skalierbare Lösung zu schaffen, wurde die Datenhaltung auf ein Oracle-Datenbanksystem migriert. Mittels Power Designer wurde das Datenbankmodell so überarbeitet, dass es der zweiten Normalform genügte.

Neben dem Reverse Engineering der Access-Lösung floss das Ergebnis einer Geschäftsprozessanalyse in die Datenmodellierung ein, denn nur, wenn sich das Datenmodell im Einklang mit der Unternehmenswirklichkeit befindet, können Geschäftsprozesse dort reibungslos abgebildet werden.

Hohe Verfügbarkeit durch spezielle Monitoring-Anwendung

Für den Abgleich des Datenbestandes mit diversen Umsystemen wurden Massendatenschnittstellen geschaffen, welche einen automatischen Datenabgleich durchführen.

Zur Überwachung der Schnittstellenaktivitäten entstand eine Monitoring-Anwendung, welche die Nachverfolgung jedes einzelnen Schnittstellenvorganges ermöglicht und im Störungsfall eine schnelle Fehlerdiagnose gewährleistet. Der Schnittstellenbetrieb wurde dahingehend optimiert, dass alle ressourcenintensiven Lade- und Verdichtungsprozesse außerhalb der Produktiv- und Wartungsfenster stattfinden.

Anwender erhalten intuitive Benutzeroberfläche

Zur Datenabfrage und -erfassung wurde eine Windows-GUI geschaffen. Besonderes Augenmerk wurde auf intuitive Bedienbarkeit und Schutz vor Bedienfehlern gelegt, da ein Teil des Anwenderkreises häufigen Personalwechseln unterliegt.

Ergebnisse

Mit der von der ITZ Rostock GmbH aus Datenbanksystem, Schnittstellensystem und Bedienoberfläche geschaffenen Lösung konnte unser Kunde seinen Gerätebestand in den folgenden Jahren um einen Faktor größer als 100 steigern.

Die dabei notwendigen Wartungsarbeiten beschränkten sich auf die Anpassung an veränderte Geschäftsprozesse und supportbedingte Versionswechsel des Datenbanksystems. Dem System werden mittlerweile täglich mehrere Millionen Datensätze mit Nutzungsinformationen zu den überlassenen Geräten hinzugefügt.

Die Verfügbarkeit der Anwendung ist eine der besten in der gesamten Systemlandschaft des Kunden, obwohl keine spezielle Hochverfügbarkeitshardware eingesetzt wurde. Dies dürfte unter anderem an dem von der ITZ Rostock GmbH verfolgten Prinzip des „Simple Designs“ liegen.

Dieses Prinzip aus dem „Extreme Programming“ (XP) hat zum Ziel, die Systemarchitektur (bei Erfüllung aller Kundenanforderungen) so einfach wie möglich zu gestalten. Projektleitung und Teile der Umsetzung lagen in der Hand des Auftraggebers.

Datendrehscheibe erhöht Transparenz in Prozessabläufen 

Durch das Zusammenführen von ca. 15 IT-Lösungen in einer Art zentraler Datendrehscheibe konnten folgende Effekte erreicht werden:

  • Integration aller an der Leistungserbringung beteiligten IT-Systeme
  • Erhöhung der Transparenz in systemübergreifenden Arbeitsabläufen
  • Vermeidung vom Umsatzeinbußen z. B. durch Leistungserschleichung
    mit Hilfe systemübergreifenden Datenabgleichs
  • Konsequentere Einhaltung gesetzlicher Rahmenbedingungen
  • Verringerte Wartungskosten

Aufgabenstellung

Im Zuge der Homogenisierung einer Systemlandschaft übernahm die ITZ Rostock GmbH die Migration einer Client-Server-Anwendung auf die J2EE-Plattform. Es handelte sich um eine sowohl operativ als auch strategisch genutzte Datenbankanwendung mit über einer Million Programmzeilen und mehreren Tausend Transaktionen je Sekunde.

Projektverlauf

Migration ohne Beeinträchtigung des laufenden Betriebes

Es galt ein Verfahren zur Migration zu finden, bei dem eine Beeinträchtigung des laufenden Betriebes ausgeschlossen ist. Ein Fallback zur bestehenden Client-Server-Lösung sollte jederzeit möglich sein.

Reimplementierung vertrauter Benutzeroberflächen spart Schulungskosten

Die Bedienfunktionalität wurde exakt jener der bestehenden VisualBasic Client-Server-Anwendung nachempfunden, wodurch die Schulung eines tausende Anwender umfassenden Nutzerkreises vermieden werden konnte. Für die Benutzeroberfläche (GUI) wurde eine Rich-Variante in Form einer Java-Webstart-Anwendung gewählt, um der Forderung nach Erhalt des Charakters der Bedienoberfläche gerecht zu werden.

Einbindung in unternehmensweite IT-Infrastruktur

Da zudem die Anbindung an die unternehmensweite SOA angestrebt wurde, entwarf die ITZ Rostock GmbH die Softwarearchitektur als Java-3-Schicht-Anwendung auf einer BEA-Weblogic-Plattform. Im Rahmen eines Proof-of-Concept wurde ein Teilbereich der Anwendung auf die neue Architektur migriert.

Serverseitig wurde die Implementierung in Geschäftslogik- und Datenbankzugriffsschicht unterteilt. Die Datenbankschicht wurde so ausgelegt, dass ein reibungsloser, produktiver Parallelbetrieb zwischen Client-Server-Altsystem und neuer 3-Schicht-Anwendung möglich wurde.

Ergebnisse

An der bereitgestellten, lauffähigen Machbarkeitsstudie konnten gemeinsam mit dem Kunden die Leistungsfähigkeit der vorgeschlagenen Architektur überprüft und die weitere Migration geplant werden. Das Gesamtsystem wurde nun in mehrere Migrationspakete aufgeteilt. Jedes Migrationspaket stellte aus Sicht der Systemarchitektur wie auch der Geschäftsprozesse eine Einheit dar.

Je Paket wurde das entwickelte Migrationsvorgehen umgesetzt. Bei der parallelen Entwicklung von Benutzeroberfläche (GUI) und Mittelschicht hatte der Kunde kontinuierlichen Zugriff auf ein Testsystem, das den jeweils aktuellen Entwicklungsstand widerspiegelte. Qualitätssicherung und Integrationstests konnten so begleitend zur Entwicklung durchgeführt werden.

So wurde das Gesamtsystem schrittweise auf die neue Architektur migriert. Der Parallelbetrieb von Alt- und Neusystem mit einer gemeinsamen Datenbank funktionierte reibungslos.

Vereinheitlichung und Effektivierung der Generierung von DataMatrix-Codes 

DataMatrix-Codes können vielfältige Informationen speichern und erlauben so die Vereinfachung und Automatisierung von Prozesssteuerungen. Durch eine Softwarelösung, um die Beschreibung der Bildungsvorschriften der Codes zu verwalten, konnten folgende Effekte erreicht werden:

  • Vereinheitlichung der Informationsbasis
  • Erweiterung der Generierungsmöglichkeiten der Codes,
    z. B. als DTP-Layout oder PDF-D atei
  • Codegenerierung auch durch Geschäftspartner möglich
  • Verringerung der Fehleranfälligkeit

Aufgabenstellung

Ein Unternehmen benutzt in großem Umfang DataMatrix-Codes innerhalb seiner Produktionsprozesse. Die Codes enthalten diverse Informationen und werden an den unterschiedlichsten Stellen erzeugt und auch ausgewertet. Je nach Einsatzzweck variieren die Inhalte der Codes. Auch Geschäftspartnern wird die Bildungsvorschrift der Codes zugänglich gemacht, damit diese selbst Codes erzeugen und auf Waren aufbringen können.

Die Inhaltsbeschreibung für die Codes lag ursprünglich nur in Papierform vor. Die Erzeugung der Codes wurde an diversen Orten individuell gemäß der textuellen Bildungsvorschrift implementiert.

Die ITZ Rostock GmbH wurde mit der Aufgabe betraut, eine Softwarelösung zu schaffen, um die Beschreibung der Bildungsvorschriften der diversen im Einsatz befindlichen Codes zu verwalten.

Projektverlauf

Beherrschung der Komplexität durch einheitliches Datenmodell

Basierend auf einer Analyse aller in den Code einfließenden Datentypen und der eingesetzten Codierungen entstand ein Datenmodell, welches das Mapping fachlicher Informationen in logische Bereiche innerhalb des Codes beschreibt. Zudem wird in diesem Modell die Codierung hinterlegt, über welche die Eingangsdaten möglichst platzsparend in den gedruckten Code einfließen. Die Datenrepräsentation innerhalb des Matrixcodes ist wahlweise binär oder im ASCII-Format möglich.

Baukastenprinzip sorgt für hohe Flexibilität

Zu der Datenbank wurde auf Basis einer JBoss-3-Schicht-Architektur eine Intranet-Anwendung erstellt, die der Verwaltung von Bildungsvorschriften für sämtliche beim Kunden eingesetzten Inhaltsausprägungen von Matrixcodes dient. Der Definitionsprozess einer Bildungsvorschrift geschieht nach dem Baukastenprinzip. Dabei werden während der Erstellungsphase einzelne Bausteine aneinandergereiht und nach Bedarf parametriert.

Effizienzsteigerung dank erweitertem Funktionsumfang

Die geschaffene Lösung dient zudem der Erstellung von Matrixcodes, was durch Einzeldruckaufträge, Steuerdateien oder einen Batchgenerator für Testfälle geschieht. Neben der Erzeugung reiner Matrixcodes werden vom System auch komplette Layouts gerendert und als Grafik oder PDF ausgegeben. Der Inhalt weiterer textueller Komponenten des Layouts wird ebenfalls anhand der Bildungsvorschriften des Baukastensystems gebildet.

Flexible Erweiterbarkeit schafft Zukunftssicherheit

Zur Einbettung in andere Systeme wurde eine Bibliothek erschaffen, welche den Bildungsprozess der Matrixcodes gemäß der im System definierten Inhaltsspezifikationen kapselt. Mit dieser Bibliothek konnten Testaufwand und Fehlerquote bei der Anbindung neuer Matrixcode erzeugender Umsysteme wesentlich reduziert werden.

Diese Erstellungskomponente sichert neben der spezifikationskonformen Codierung der Eingangsdaten zudem die Lesbarkeit der gedruckten Codes. Dies geschieht dadurch, dass für jede Druckerauflösung die optimale Modulweite, welche bei geringer Größe eine gute Lesbarkeit sichert, gewählt wird.

Ergebnisse

Mit dem System wurde eine zentrale Referenz für die verwendeten Matrixcodes geschaffen, die zudem die Interpretations- und Bildungsvorschriften per XML bereitstellt. Das System bietet die Möglichkeit, Matrixcodes zu lesen, die verwendete Codierung zu erkennen und gemäß der hinterlegten Bildungsvorschrift zu interpretieren.

Smartphone-App als Ersatz für teure Spezialhardware 

Durch den Einsatz einer Smartphone-App zum Lesen von DataMatrix-Codes statt der dafür üblicherweise eingesetzten Spezial-Lesegeräte konnten folgende Effekte erreicht werden:

  • Kostenersparnis durch Einsatz eines preiswerten Massenprodukts
  • Bessere Überwachung von Produktionsprozessen
  • Verbesserung der Servicequalität, da relevante Informationen
    sofort vor Ort in der Prozesskette verfügbar sind
  • Verringerung von Ausfallzeiten

Aufgabenstellung

Ein Logistikkonzern benutzt für die Kennzeichnung der Transportgüter DataMatrix-Codes. Diese Codes werden für die Lenkung der Warenströme benutzt. Da auch Geschäftspartner diese Codes auf das Transportgut aufbringen dürfen und in zunehmendem Maße Probleme mit inhaltlich fehlerhaften oder falsch codierten Matrixcodes auftraten, musste ein Werkzeug zur Qualitätssicherung und Fehlerdiagnose für diese zur Leistungserbringung relevanten Merkmale geschaffen werden.

Projektverlauf

Barcode-Analyse über Symbian-Smartphones

Da die Mitarbeiter des Konzerns bereits über Symbian-Smartphones verfügten, wurde der Entschluss gefasst, diese Geräte für die Fehler- und Inhaltsanalyse der Barcodes zu nutzen. Zudem war es unbedingt erforderlich, auch beschädigte oder fehlerhaft codierte DataMatrix-Codes zu analysieren, um die Ursachen zu ergründen, warum diese Codes auf marktüblichen Scannern nicht lesbar sind.

Architekturentwicklung für rechenintensive Bildanalyse

Da die erweiterte Funktionalität zur Bildanalyse sehr rechenintensiv ist, wurde eine Architektur entwickelt, in der das mobile Gerät das Bild des Matrixcodes erfasst, die Bilddaten zur Interpretation an einen Webservice übergibt und die Ergebnisse der Bildanalyse an das mobile Gerät zurückgeliefert werden.

Ergebnisse

Die geschaffene Lösung bietet im Fehlerfall Diagnosen zu allen Phasen der Dekodierung des DataMatrix-Bildes (Schwellwertermittlung, Regionenfindung, Kantensuche, Bitmusterlesung und Red-Solomon-Dekodierung).

Darüber hinaus kann der Inhalt jedes erfolgreich gelesenen DataMatrix-Codes auf Protokollebene als Folge von ISO-16022-Operationen analysiert werden. Neben der Qualitätssicherung in Systemen, die DataMatrix-Codes erstellen, ist der Zugriff auf diese Protokollebene ein wichtiges Werkzeug bei der Eingrenzung von Leseproblemen.

Über die Ausgabe des Codeinhaltes in ASCII- oder Hexcodefolge hinaus hat das Analyseprogramm Zugriff auf die Metadaten zum Inhalt der verwendeten Matrixcodes. Dadurch kann der Code in die einzelnen Felder zerlegt und entsprechend des Datentyps für die tabellarische Darstellung aufbereitet werden.

Zahlenfolgen, die Referenzen auf Informationen in anderen Systemen darstellen, werden in der finalen Aufbereitungsstufe dazu benutzt, um referenzierte Kunden-, Produkt- und Vertragsinformationen zusätzlich auf dem mobilen Gerät anzuzeigen.