Verlinkung von Anforderungen im Quellcode

Im letzten Monat gab es einige Anfragen an das YAKINDU Traceability-Team speziell zur Verlinkung von Anforderungen und/oder Design-Elementen in den Quellcode, wie sie etwa im Automotive Spice gefordert wird – und stellen dieses "Feature des Monats" in diesem Artikel vor. Zudem haben wir im aktuellen Release nochmal an der Performance-Schraube speziell für die Verlinkung in den Quellcode gedreht.


Mit YAKINDU Traceability lassen sich

  • Elemente des Quellcodes als einzelne Artefakte erkennen, beispielsweise Dateien, Funktionen oder Variablen, und
  • mit Anforderungen, Design-Elementen, Test-Cases usw. verlinken.

Dabei ist konfigurierbar, ob die Informationen über die Verlinkung unabhängig vom Quellcode oder in Form spezieller Kommentare im Code gespeichert werden. Bei der Verlinkung in Form von Kommentaren erkennt YAKINDU Traceability die eindeutige ID der verlinkten Artefakte bzw. schreibt sie beim Anlegen eines Links in den Kommentar. Die folgende Abbildung illustriert, wie sich ein Link zur Anforderung RainSensor [Component] in Form eines Kommentars im Code manifestiert.

Screenshot von YAKINDU Traceability der zeigt wie ein Kommentar im Code dargestellt wird

Die Form der Kommentare ist nicht vorgegeben, sondern frei konfigurierbar. Im konkreten Fall etwa enthält jeder Link innerhalb eines Kommentars das Präfix „@SDD“. Die Konfiguration für diesen Fall sieht wie folgt aus:

Screenshot von YAKINDU Traceability der die Konfigurationsmöglichkeit der Kommentare zeigt

Je nachdem, ob z.B. Anforderungen oder Testfälle verlinkt werden, kann YAKINDU Traceability leicht den Projekt- bzw. Implementierungsfortschritt ermitteln, indem das Tool den Umsetzungsgrad oder die Testabdeckung misst. Die Lücken auf der linken Seite des nachstehenden Reports etwa zeigen die fehlende Zuordnung von Software detailed design zu existierenden Software units.

Tabelle die aufzeigt welche Artifakte mit YAKINDU Traceability abgedeckt werden (erweiterbar)

Vor dem Hintergrund dieser Messung ist es wichtig zu entscheiden, auf welchem Detailgrad die Quellcode-Artefakte verlinkt werden sollen. Soll den Anforderungen eine komplette Quellcode-Datei (z.B. einer Translation Unit in C) zugeordnet werden? Oder doch lieber Funktionen, Variablen usw. innerhalb der Datei? Je genauer die Informationen auswertbar sein sollen, desto aufwändiger ist die Pflege. Unser Beispiel beschränkt sich auf die Verlinkung von Translation Units:

Screenshot von YAKINUD Traceability, der die Verlinkung von Translation Units zeigt

Abschließend möchte ich die Ergebnisse des Performance-Tunings nicht vorenthalten: In einem realen Szenario bestehend aus ca. 1.300 C-Dateien mit ca. 1.600 relevanten Kommentaren brauchte YAKINDU Traceability ca. neun Sekunden für die Auswertung.

Infos zu YAKINDU Traceability und die Möglichkeit, ein erstes kostenloses Webinar anzufordern, gibt es übrigens auf unserer Website.

Erfahre mehr über YAKINDU Traceability

Über den Autor

Ich habe in verschiedenen Branchen Projekte (technisch) geleitet. Mir liegt dabei die stetige Verbesserung sowohl der entwickelten Software als auch des Entwicklungsprozesses am Herzen. Deshalb mag ich Language Engineering. Seit 2014 bin ich Produktmanager für YAKINDU Traceability.