(openPR) Die Kernkompetenz der SNAP Consulting ist es maßgeschneiderte Software-Lösungen im SAP-Umfeld für unsere Kunden zu entwickeln. Um den Erfolg sicherzustellen, ist in erster Linie eine detaillierte Anforderungsanalyse nötig. Neben unserer Branchenkenntnis und der damit einhergehenden Kompetenz mit den Key-Usern und Fachabteilungen auch über deren spezifische Prozesse diskutieren zu können, helfen uns dabei Software-Tools und Design-Patterns ein gemeinsames Verständnis für die Anforderungen zu entwickeln. Eine bei SNAP bereits vielfach bewährte Methode ist es, bereits während der Anforderungsanalyse auf den UML („Unified Modeling Language“) Standard zu setzen und damit die Prozesse und oberflächlich auch die Programmlogik in grafischer Form gemeinsam mit dem Kunden zu erarbeiten. Somit haben unsere Berater – vor allem aber unsere Kunden – unmittelbar danach ein grafisches Bild vor Augen welches von beiden „Parteien“ gleichermaßen „verstanden“ wird. Ein Vorteil gegenüber (rein) textuell erfassten Grobkonzepten / Pflichtenheften, die immer einen Interpretationsspielraum lassen und Unklarheiten erzeugen.
Für viele klassische Entwicklungsaufgaben wird UML bei SNAP seit langem erfolgreich eingesetzt. Wurde es ursprünglich von unserem JAVA-Team forciert, so hat mittlerweile auch unser ABAP-Entwicklungsteam die Vorzüge von UML erkannt und verwendet die Methodik auch in Ihren SAP-Entwicklungsabläufen. Jetzt haben auch die Schnittstellen-Experten von SNAP den Schritt hin zu UML gewagt – mit Erfolg! Gemeinsam mit SNAP’s UML Experten wurde ein „Template“ entwickelt welches die Schnittstellen-spezifischen Objekte und deren Ausprägungen in sog. „Stereotypen“ modelliert und sich damit die UML-Tools und – Methodiken auch für Schnittstellen-Projekte verwenden lassen.
Beispielsweise kann so ein Objekttyp „Interface“ (entspricht in etwa einem einzelnen Nachrichtentyp innerhalb einer Schnittstelle) modelliert werden welche typische Eigenschaften (z.B. asynchron/synchron, Mengengerüste, Komplexität, Standardisierungsgrad etc.) aufweist. Es gibt auch ein Objekt „Kommunikationskanal“ um die technische Systemanbindung beschreiben zu können. Auch ein Objekt „Mapping“ welches die Konvertierung eines beliebigen Quellformats in ein benötigtes Zielformat darstellt ist mit von der Partie – zusammen mit aussagekräftigen Eigenschaftswerten wie „Komplexität“ und „Multiplizität“ (1:1 bis n:m). All diese, und noch viele weitere Objekte können dann in UML-Diagrammen verwendet werden um so eine Schnittstellen-Anforderung zu visualisieren.
Neben dem klassischen „Aktivitätsdiagramm“, verwendet das SNAP Template noch zwei weitere Diagrammtypen – das Use-Case Diagramm (zur groben Beschreibung von Teil-Prozessen innerhalb der Schnittstellen und deren Zuordnung zum verantwortlichen System) sowie das „Strukturdiagramm“ (im Schnittstellen-Kontext besser als „Systemdiagramm“ zu bezeichnen). Letzteres gibt Aufschluss über die beteiligten Systeme, sowie über die zwischen den Systemen ausgetauschten Nachrichtenformate. Je nach Art der gesuchten Information kann jederzeit zwischen den einzelnen Diagrammtypen gewechselt werden, wobei via „Drill-Down“ von einer generischen Schnittstellen-Sicht in ein z.B. sehr detailliertes Aktivitätsdiagramm gesprungen werden kann. Auch zusätzlicher, erklärender Text bzw. unterstützende Information kann jedem beliebigen Diagrammobjekt beigefügt werden. So lässt sich beispielsweise zu einem „Interface“ Objekt ganz einfach die relevante XML Schema-Definitionen und eine entsprechende XML-Beispieldatei „verlinken“ – diese Objekte sind dann also direkt in die Dokumentation der Schnittstelle eingebettet.
Und worin liegt der Vorteil? Die so erstellte Dokumentation „wächst mit“! Denn auch nach einer Anforderungsanalyse können die gleichen Diagramme weiter verwendet werden. Sie dienen dem Entwickler während der Implementierung als „Blueprint“, dem Kunden nach Projektabschluss als Schnittstellendokumentation. Der Detaillierungsgrad wird dabei immer höher und bildet letztendlich die Implementierung der Schnittstelle als UML-Modell ab. Der Kunde wünscht aber trotzdem noch eine textuelle Beschreibung der Schnittstelle als Word oder PDF-Dokument? Kein Problem! Unser Template erstellt diese Dokumente auf „Knopfdruck“ – alle Daten die im Zuge der Projektphasen in das UML-Modell hinzugefügt wurden, werden via standardisiertem SNAP-Report dem Kunden z.B. als PDF zur Verfügung gestellt. Es ändert sich eine Schnittstelle oder ein Teil-Prozess? Kein Problem die Änderungen werden von uns zentral im UML-Modell nachgepflegt und die Doku noch einmal „generiert“ – so bleibt sie immer aktuell.
Durch die zentrale und strukturierte Datenhaltung der „Dokumentation“ im UML-Modell lassen sich auch Change-Requests rasch und „gesichert“ abschätzen. Es ändert sich ein einzelnes Nachrichtenformat? Das UML-Modell gibt Aufschluss darüber, wie oft (und in welcher Komplexität) diese Nachricht im gesamten Schnittstellen-Umfeld beim Kunden verwendet wird . Daher ist eine Analyse der notwendigen Änderungen und die Schätzung des damit verbundenen Implementierungsaufwands sehr genau möglich. Ein Konzept, das bis hin zur vollständigen „Function-Point-Analyse“ – einem computerunterstützen Schätzverfahren zur Bestimmung des Aufwands – bei SNAP jetzt auch für Schnittstellen-Anforderungen zur Verfügung steht.
Durch die visuelle Beschreibung der Schnittstellen-Prozesse kann auch im Test-Umfeld von der UML-Methodik profitiert werden. Beispielsweise bei der Definition von Testabläufen bzw. Testfällen. Das UML-Modell zeigt sehr rasch auf, ob bestimmte Zweige der Schnittstellenlogik beim Testen vergessen wurden.
Zusammenfassend lassen sich folgende grundlegende Vorteile dieser SNAP-Methodik via UML in Schnittstellen-Projekten herausarbeiten:
1) Berater und Kunde haben durch die visuelle Darstellung der Schnittstellen-Prozesse die gleiche „Sprache“ und das gleiche „Verständnis“ der Anforderungen.
2) Die Komplexität einer Anforderung kann sehr rasch erfasst werden.
3) Wichtige Sachverhalte für das Schnittstellen-Konzept sind als Eigenschaften der einzelnen Objekttypen hinterlegt und können daher nicht „vergessen“ werden.
4) Gesamte Information ist im UML-Modell zentral abgelegt – Änderungen eines Objekts wirken sich so sofort auf alle Diagramme aus, in denen dieses Objekt verwendet wird (z.B. Name ändert sich, Eigenschaft wird gesetzt).
5) Information kann über die einzelnen Projektphasen „wachsen“ und immer wieder erweitert werden – anfangs als Unterstützung im Anforderungsprozess kann das gleiche UML-Modell nach Projektabschluss als überaus detaillierte Dokumentation herangezogen werden.
6) Schnittstellen-Dokumentation auf „Knopfdruck“ auf Basis der aktuellsten Daten generierbar.
7) Weiterführende Anwendungen wie Function Point Analysen, Unterstützung für das Test-Umfeld etc. lassen sich durch die zentrale Datenhaltung im UML-Modell integrieren.
Eines zeigt sich schon jetzt: UML bietet auch für das SNAP Interfacing Team einen enormen Mehrwert – und davon profitieren natürlich auch unsere Kunden! Wir halten Sie bezüglich dieses für uns (und hoffentlich auch für Sie) sehr spannenden Themas auf dem Laufenden!








