Hierunter wird die Fähigkeit der Software verstanden, dass ein Benutzer sich, während er/sie einen Geschäftsvorgang durchführt, die Abfolge der dabei durchlaufenen Programmteile detailliert aufzeichnen lassen kann.
Diese Funktionalität darf sich nur aktiv von dem dazu berechtigten Anwender selbst aktivieren lassen. Der Detaillierungsgrad der Aufzeichnung sollte entweder einstellbar sein oder so hoch wie möglich sein, um dann mit entsprechenden Werkzeugen auf eine jeweils gewünschte Granularität reduziert werden zu können.
Eine solche Aufzeichnung ermöglicht die korrekte IST-Dokumentation der
real abgebildeten Geschäftsabläufe und die
Aufzeichnung von fehlerhaftem Systemverhalten oder die
präzisere Vorbereitung auf angestrebte Veränderungen.
Die Übersicht über das dynamische Zusammenspiel von Komponenten des Systems
wird i.d.R. bei der Lokalisierung und Lösung von globalen Problemen
(z.B. Performanz) wichtig.
Eine andere Form der Aufzeichnung des Programmablaufs ermöglicht über einen Zeitraum die summarische, anonymisierte Aufzeichnung aller von den Benutzern verwendeten Geschäftsfunktionen. So kann man eine Grundlage für das kostensparende Abschalten von nicht mehr genutzten Funktionalitäten gewinnen (s. Funktionalitäten wieder entfernbar). und knappe Entwicklungsressourcen auf noch genutzten Kode konzentrieren.
Die Qualität dieser Funktionalität hängt einerseits vom Detaillierungsgrad
der möglichen Aufzeichnungen ab und andererseits von deren Systematik.
D.h., wie gut lassen sich diese verdichten bzw. einzelne Aspekte daraus
automatisch analysieren.
Konkret ist hier auch zu bewerten, wie gut die Abstraktion von dieser
Aufzeichnung auf die Ebene der Geschäftsfunktionen gelingt.
Die folgenden Referenzen stellen kein Qualitätsurteil dar.
Sie sollen nur einen ersten Einstieg in Aspekte der Materie bieten.
Im Prinzip ist hier abzuwägen, in wie weit die Standardeigenschaften der
verwendeten Programmbasis (z.B. Java) bereits ausreichen,
um geeignete Aufzeichnungen durchzuführen.
Anderenfalls muss der
Anbieter
ein geeignetes Logging-Paket wie z.B.
Log4xxx einsetzen,
um selbst aus dem Quellkode heraus entsprechende Informationen generierbar
zu machen.
Eine andere Möglichkeit besteht im (u.U. auch nachträglichen) hineinweben von aufzeichnendem
Kode über AOP Werkzeuge
(Aspect Oriented Software Development
oder AspectJ),
welche auch die Benennungsrichtlinien nutzen können.
Die konkreten Werkzeuge zur Verdichtung der Aufzeichnungen anhand der
im Quellkode befolgten Richtlinien müssen natürlich
vom Anbieter selbst geschrieben werden.
Sie lassen sich jedoch recht einfach gestalten,
weil er die Richtlinien ja selbst mit dem
Ziel der Analysierbarkeit festlegen kann,
und sie lassen sich dann i.d.R. auch weitgehend
für andere Projekte wiederverwenden.