Grazie mouviciel! Ho adottato la tua soluzione e l'ho estesa per i miei scopi.
Il testo che segue va nel mio Doxyfile:
ALIASES += req{1}="\ref SRTX_\1 \"SRTX-\1\" "
ALIASES += satisfy{1}="\xrefitem satisfy \"Satisfies requirement\" \"Requirement Implementation\" \1"
ALIASES += verify{1}="\xrefitem verify \"Verifies requirement\" \"Requirement Verification\" \1"
Dove SRTX è il nome del mio progetto e viene utilizzato come prefisso alle esigenze.
Quindi creo un file denominato Requirements.dox che fornisce un collegamento tra l'ID requisito e un URL per il requisito nel mio strumento di gestione dei requisiti (un tracker dei problemi nel mio caso).
/**
@page Requirements
@section Build1
@anchor SRTX_1113
<a href="https://foo.bar.com/mantis/view.php?id=1113">SRTX-1113</a>
@anchor SRTX_1114
<a href="https://foo.bar.com/mantis/view.php?id=1114">SRTX-1114</a>
*/
Si potrebbe anche mettere il testo del requisito nel tag di ancoraggio se non avete bisogno di collegare una sorgente esterna.
Nel mio codice che ho:
/**
* This is the basic executive that schedules processes.
* @satisfy{@req{1114}}
*/
class Scheduler: public Process
{
...
}
E nel mio test ho messo:
/**
* Provide a number of tests for process scheduling.
* @verify{@req{1114}}
*/
class Scheduler_ut : public CppUnit::TestFixture
{
...
}
Questo mi dà pagine correlate per Requisiti, requisiti di attuazione, e di verifica. Fornisce inoltre i requisiti Soddisfatti e Verifica le sezioni dei requisiti nella descrizione della classe (o funzione - ovunque venga inserito il tag).
Questo non sembra funzionare con lo stile di documentazione XML (C#). –