Aufgabe: Laufzeitverhalten analysieren
Diese Aufgabe beschreibt, wie Sie das Verhalten einer Komponente während der Ausführung analysieren, um festzustellen, wo Verbesserungen vorgenommen werden könnten.
Disziplinen: Implementierung
Zweck
  • Das Verhalten einer Komponente während der Ausführung verstehen.
  • Abnormes Verhalten identifizieren und entsprechende Korrekturmaßnahmen bestimmen.
Beziehungen
RollenPrimärer Ausführender: Zusätzliche Ausführende:
EingabenVerbindlich: Optional:
Ausgaben
Prozessverwendung
Schritte
Erforderliches Ausführungsszenario bestimmen
Zweck:  Ausführungspfad identifizieren, der das gewünschte Laufzeitverhalten stimuliert.

Wenn die Beobachtung und Analyse des Laufzeitverhaltens den gewünschten Einblick in das Verhalten der Software liefern soll, müssen Sie sich Gedanken darüber machen, welche Ausführungspfade durch die Anwendung wichtig sind und untersucht werden müssen, und welche Ausführungspfade die besten Chancen bieten, das Laufzeitverhalten der Software zu verstehen.

Im Allgemeinen sind die hilfreichsten Szenarios die, die alle oder einen Teil der Ausführungspfade aufzeigen, die der Benutzer in der Regel verwendet. Deshalb ist es sinnvoll, Szenarios durch Befragung oder Beratung mit einem Fachmann, wie z. B. einem repräsentativen Benutzer der zu entwickelnden Software, zu identifizieren, wann immer es möglich ist.

Anwendungsfälle bieten eine wertvolle Menge von Artefakten, auf deren Basis hilfreiche Szenarios identifiziert und untersucht werden können. Wenn Sie Entwickler sind, werden Ihnen Anwendungsfallrealisierungen wohl am vertrautesten sein. Deshalb sollten Sie auch mit diesen beginnen, sofern diese verfügbar sind. Sollten keine Anwendungsfallrealisierungen verfügbar sein, ermitteln Sie alle verfügbaren Anwendungsfallszenarios, die eine textbasierte Erläuterung des Pfads enthalten, den der Benutzer durch die verschiedenen Ereignisabläufe im Anwendungsfall wählen kann. Letztlich können auch die Ereignisabläufe des Anwendungsfalls als Informationsquelle für die Identifizierung geeigneter Szenarios herangezogen werden. Dieser letzte Ansatz erzielt bessere Erfolge, wenn ein Vertreter für den Anwendungsfallakteur oder ein anderer Fachmann als Berater hinzugezogen wird.

Tester sind eine weitere hilfreiche Ressource, die bei der Ermittlung hilfreicher Szenarios für die Laufzeitanalyse konsultiert werden sollten. Tester haben durch ihre Testaktivitäten häufig einen besseren Einblick in die Domäne und Erfahrungen gewonnen, was sie zu Pseudofachleuten in der Domäne macht. In vielen Fällen sind die Ergebnisse der Tests der Stimulus für die Beobachtung des Laufzeitverhaltens der Software.

Wenn diese Aufgabe durch einen berichteten Mangel angestoßen wird, liegt der Schwerpunkt darauf, den Mangel in einer kontrollierten Umgebung zu reproduzieren. Basierend auf den Informationen, die beim Auftreten des Problems protokolliert wurden, müssen Testfälle identifiziert werden, die den Mangel zuverlässig reproduzieren können. Möglicherweise müssen Sie einige Tests umschreiben oder neue Tests schreiben, aber Sie müssen bedenken, dass die Reproduktion des Mangels ein wichtiger Schritt ist, der für sehr schwierige Fälle unter Umständen länger dauert als die eigentliche Behebung des Mangels selbst.

Implementierungskomponente für Laufzeitbeobachtung vorbereiten
Zweck: Sicherstellen, dass die Komponente einen Zustand hat, in dem die Laufzeitausführung möglich ist.

Damit die Laufzeitausführung der Komponente genaue Ergebnisse liefern kann, muss die Komponente sorgfältig und so vorbereitet werden, dass keine abnormalen Ergebnisse als Nebenprodukt von Fehlern in der Implementierung, Kompilierung oder Link-Prozess auftreten.

Häufig müssen Stub-Komponenten verwendet werden, so dass die Laufzeitbeobachtung rechtzeitig bzw. auch in solchen Situationen durchgeführt werden kann, wenn die Komponente von anderen Komponenten abhängig ist, die noch nicht implementiert sind.

Sie müssen außerdem ein Framework oder unterstützende Tools vorbereiten, die für die Ausführung der Komponente erforderlich sind. In manchen Fällen kann diese bedeuten, dass Sie einen Treiber oder Simulationscode zur Unterstützung der Komponentenausführung erstellen müssen. In anderen Fällen müssen Sie die Komponente so instrumentieren, dass externe Unterstützungstools das Verhalten der Komponente beobachten und möglicherweise steuern können.

Umgebung für Ausführung vorbereiten
Zweck: Sicherstellen, dass die erforderliche Konfiguration der Zielumgebung zufriedenstellend durchgeführt wurde.

Es ist wichtig, dass alle Anforderungen und Vorgaben für die Zielumgebung, in der die Laufzeitanalyse durchgeführt wird, berücksichtigt werden. In manchen Fällen müssen eine oder mehrere der Ziel-Deployment-Umgebungen, in denen die Komponente letztendlich ausgeführt werden muss, simuliert werden. In anderen Fällen kann es ausreichen, die Beobachtung des Laufzeitverhaltens auf der Maschine des Entwicklers vorzunehmen.

In jedem Fall muss die Zielumgebung für die Laufzeitbeobachtung zufriedenstellend konfiguriert werden, damit der betriebene Aufwand nicht vergeudet ist, weil "Fremdkörper" eingeführt wurden, die die nachfolgende Analyse unbrauchbar machen.

Ein weiterer Aspekt ist die Verwendung von Tools, die Umgebungsvorgaben und Ausnahmebedingungen generieren, die ansonsten nur schwer zu reproduzieren sind. Solche Tools sind außerordentlich wertvoll, wenn es um die Eingrenzung von Fehlern oder Unregelmäßigkeiten geht, die unter diesen Bedingungen im Laufzeitverhalten auftreten.

Komponente ausführen und Verhaltensbeobachtungen erfassen
Zweck: Laufzeitverhalten der Komponente beobachten und erfassen.

Nachdem Sie die Komponente und die Umgebung, in der die Komponente beobachtet wird, vorbereitet haben, können Sie mit der Ausführung der Komponente im ausgewählten Szenario beginnen. Ob dieser Schritt weitgehend unbeaufsichtigt ausgeführt werden kann oder fortlaufende Aufmerksamkeit im Verlauf des Szenarios benötigt, ist von den eingesetzten Techniken und Tools abhängig.

Verhaltensbeobachtungen prüfen und erste Untersuchungsergebnisse eingrenzen
Zweck: Fehler und Unregelmäßigkeiten im Laufzeitverhalten der Komponente identifizieren

Halten Sie während jedes Schritts im oder am Ende des Szenarios, das Sie beobachten, Ausschau nach Fehlern und Unregelmäßigkeiten im erwarteten Verhalten. Notieren Sie alle Beobachtungen, die Sie machen, oder Eindrücke, die Ihrer Meinung nach mit dem unregelmäßigen Verhalten in Verbindung stehen.

Untersuchungsergebnisse analysieren, um eigentliche Fehlerursache zu verstehen
Zweck: Eigentliche Ursache für Fehler und Unregelmäßigkeiten verstehen.

Versuchen Sie, anhand Ihrer Untersuchungsergebnisse die zugrunde liegenden Fehler bzw. die eigentliche Ursache für die einzelnen Fehler zu ermitteln.

Folgeaktionen identifizieren und kommunizieren
Zweck: Weitere Untersuchungs- oder Korrekturmaßnahmen vorschlagen.

Nachdem der Überprüfung aller Untersuchungsergebnisse werden Sie wahrscheinlich eine Liste mit Gedanken und Ahnungen, die weiter untersucht werden müssen, und möglicherweise von Ihnen vorgeschlagenen Korrekturmaßnahmen haben. Wenn Sie diese Punkte nicht selbst sofort in Angriff nehmen, müssen Sie Ihre Vorschläge in einem angemessenen Format aufzeichnen und sie an die Mitarbeiter Ihres Teams kommunizieren, die Ihre Vorschläge genehmigen oder bearbeiten können.

Ergebnisse auswerten
Zweck: Die ordnungsgemäße und vollständige Ausführung der Aufgabe und die Annehmbarkeit der resultierenden Arbeitsergebnisse bestätigen

Wenn Sie Ihre Arbeit beendet haben, kann es vorteilhaft sein zu prüfen, ob diese Arbeit hinreichend nutzbringend war. Sie sollten bewerten, ob die Qualität Ihrer Arbeit angemessen ist und ob der Umfang der Arbeit ausreicht, um eine Hilfestellung für die Teammitglieder zu bieten, die sie als Arbeitsvorgabe verwenden sollen. Verwenden Sie nach Möglichkeit die RUP-Prüflisten, um zu überprüfen, ob Qualität und Vollständigkeit "gut genug" sind.

Wurden die Personen, die Ihre Arbeit als Eingabe für die Durchführung ihrer eigenen nachgeordneten Aufgaben an der Prüfung Ihrer vorläufigen Arbeit beteiligt? Wählen Sie dafür einen Zeitpunkt, der eine Einbeziehung von Änderungswünschen oder die Berücksichtigung von Problemstellungen zulässt. Bewerten Sie Ihre Arbeit auch anhand der Arbeitsergebnisse, die für Sie die wichtigsten Vorgaben waren, um sicherzugehen, dass Sie diese präzise und ausreichend dargestellt und berücksichtigt haben. Vielleicht lassen Sie Ihre Arbeit ja dahingehend vom Autor dieser Arbeitsergebnisse prüfen.

Vergessen Sie nicht, dass RUP ein iterativer Bereitstellungsprozess ist und dass sich in vielen Fällen Arbeitsergebnisse über einen längeren Zeitraum entwickeln. Es ist daher in der Regel nicht nötig und manchmal sogar kontraproduktiv, ein Arbeitsergebnis, das für die unmittelbar folgenden Arbeiten nur teilweise oder gar nicht benötigt wird, bereits vollständig und abschließend zu definieren. Es ist sehr wahrscheinlich, dass sich die umgebende Situation für das Arbeitsergebnis noch ändern wird und dass sich die bei Erzeugung des Arbeitsergebnisses gültigen Annahmen als fehlerhaft erweisen, so dass eine abschließende Gestaltung des Arbeitsergebnisses einen unnötigen Arbeitsaufwand und Nacharbeiten bedeuten würde.

Sie sollten auch nicht zu viel Zeit auf die Darstellung verwenden, sondern sich eher auf den Inhalt konzentrieren. In Projektumgebungen, bei denen die Präsentation wichtig ist und als Projektliefergegenstand einen ökonomischen Wert hat, könnten Sie einen Mitarbeiter aus der Verwaltung oder eine Nachwuchskraft einsetzen, um die Präsentation eines Arbeitsergebnisses zu verbessern.



Weitere Informationen