tstDiff: Differenz-Status

Der Ablauf

Für jede Differenz wird ein Eintrag in der mdB-Tabelle DDST gesucht. Wenn ein Eintrag gefunden wird bekommt die Differenz den angegebenen Status. Dieser Schritt kann eingeschränkt durchgeführt werden, indem die DiffNamen und Kategorien, die verarbeitet werden sollen, angegeben werden.

Einflussmöglichkeiten

Die Zuordnung des Differenzstatus kann vorher beeinflusst werden indem:

  1. Die Tabelle DDST kontextabhängig bestückt wird
  2. Die DiffNamen angepasst werden
  3. Die Kategorien angepasst werden
  4. Die Gewichtungen angepasst werden

Anschließend kann Einfluss genommen werden indem:

Diese Anpassungen können entweder durch ein Stylesheet, Programm oder manuell durchgeführt werden, wobei der programmatische Ansatz zu bevorzugen ist. Beim Durchführen dieses Bewertungsschrittes kann ein Stylesheet spezifiziert werden das vorher angewendet wird.

Protokoll vorher

<Type DiffName="BsarType" IsDifferent="no" Category="Definition" Weight="Info">
    <Left>ASTR</Left> 
    <Right>ASTR</Right> 
</Type>

Protokoll nachher <code XML> <Type DiffName=„BsarType“ IsDifferent=„no“ Category=„Definition“ Weight=„Info“ Status=„Accept“>

  <Left>ASTR</Left> 
  <Right>ASTR</Right> 

</Type> <code>

Die Tabelle "DDST"

Die Felder und deren Bedeutung

DiffName: Hier kann ein „*“ für alle DiffNamen oder ein bestimmter Diffname eingetragen werden. Kategorie: Hier kann ein „*“ für alle Kategorien eingetragen werden, oder auch eine bestimmte Kategorie. Gewichtung: Hier kann ein „*“ für alle Gewichtungen eingetragen werden, oder auch eine bestimmte Gewichtung. Stufe: Hier kann ein „*“ für alle Stufen eingetragen werden, oder auch eine einzelne Stufe wie z.B. ALRFRG Beschreibung: Eine Beschreibung was der Eintrag ausdrückt Status: Der Status den die Differenz bekommt wenn der Eintrag zutrifft.

Die SQL-Statements um diese Tabelle einzurichten finden Sie hier.

Suchreihenfolge nach einem passenden Eintrag

Gesucht wird immer nach einem passenden DiffName, Kategorie, Gewichtung und Umgebung.

  1. DiffName, Kategorie, Gewichtung und Umgebung
  2. DiffName, Kategorie und Gewichtung
  3. DiffName und Kategorie
  4. DiffName und Gewichtung
  5. DiffName und Umgebung
  6. DiffName
  7. Kategorie und Gewichtung
  8. Kategorie und Umgebung
  9. Kategorie
  10. Gewichtung und Umgebung
  11. Gewichtung
  12. Umgebung
  13. Der erste Eintrag der passt

Bei jeder Suche werden die genannten Felder exakt gesucht und die anderen Werte mittels Patternmatching verglichen. Bei jedem Eintrag ist der Wildcharacter „*“ erlaubt.

Vorschlag für den Inhalt dieser Tabelle

In untenstehender Tabelle sind die Regeln wie sie im Konzept formuliert wurden eingetragen.

DiffNameKategorieGewichtungStufeBeschreibungStatus
**Info*Alles mit Gewichtung „Info“Accept
**Warning*Alles mit Gewichtung „Warning“MaybeAccept
**Severe*Alles mit Gewichtung „Severe“NotAccept

Die umgesetzten Regeln in der Tabelle besagen:

  1. Alles mit Gewichtung „Info“ bekommt den Status „Accept“
  2. Alles mit Gewichtung „Warning“ bekommt den Status „MayBeAccept“
  3. Alles mit Gewichtung „Severe“ bekommt den Status „NotAccept“

Beispiel für eine Erweiterung

Man möchte Oopse in der Umgebung ALRFRG nicht akzeptieren und in den anderen Umgebungen vielleicht akzeptieren. Diese „Regeln“ würden in der Tabelle so aussehen:

DiffNameKategorieGewichtungStufeBeschreibungStatus
OopsCount**ALRFRGDas vorhandensein von Oopsen wird nicht akzeptiert.NotAccept
OopsCount***Das vorhandensein von Oopsen wird vielleicht akzeptiertMaybeAccept

Beim Füllen der Tabelle soll immer die Suchreihenfolge im Auge behalten werden. Wenn man Erweiterungen vornehmen möchte ist zu empfehlen, immer mindestens einen Wert exakt zu spezifizieren. Beim Patternmatching wird nicht versucht den passendsten Eintrag zu finden, sondern einen passenden Eintrag. Haben zwei Regeln bei DiffName einen Wildcard eingetragen, dann bestimmt implizit die Reihenfolge welche Regel genommen wird. Beispiel: Der DiffName „*“ und „Oops*“ sind beide nicht exakt und werden beim Patternmatching beide als passend gefunden für eine Differenz „OopsCount“.

faq:syntax:tstdiff:ratingds · Zuletzt geändert: 09.08.2024 13:25

Copyright © 1992-2025 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum