Shouldn't the design document be independent of language of implementation ? But I am not able to figure out, with no classes involved in my implementation, how and between what will I show relations ?
Spesso, un progetto architettonico sarà indipendente dal linguaggio, nella misura del possibile. Se alcune decisioni sulla tecnologia sono state prese in anticipo, possono essere incluse nell'architettura di sistema. Disegni di dettaglio tendono a considerare il linguaggio di sviluppo in modo che le notazioni utilizzate siano rilevanti per la costruzione e / o la manutenzione del sistema. Se stai creando un disegno di dettaglio e sai che l'applicazione verrà scritta in C, utilizza la terminologia e i costrutti di C.
Is there any standard way to document C projects ?
Ci sono molti modi per documentare i progetti C. È possibile utilizzare alcuni costrutti di UML, tenendo presente che alcuni termini orientati agli oggetti non si applicano e pertanto non dovrebbero essere utilizzati. I diagrammi delle classi, i diagrammi delle attività, i diagrammi dei componenti e i diagrammi delle sequenze possono essere utilizzati, a varie estensioni, spesso utilizzando un sottoinsieme del linguaggio UML completo. In alternativa, diagrammi del flusso di dati , diagrammi della struttura dei dati o diagrammi JSP possono essere utilizzati. Anche le rappresentazioni testuali (compresa la creazione di pseudocodice prima di implementare gli algoritmi) sono valide.
Qualcosa da tenere a mente è lo scopo della documentazione di progettazione. Tutti i documenti di progettazione dovrebbero indicare come il sistema soddisferà i requisiti. Il resto dipende dal pubblico. Se stai progettando e implementando il sistema, la documentazione può servire da guida per sviluppatori e tester futuri. SE stai solo progettando il sistema, devi essere molto più esplicito in input e output in modo che, dati solo i modelli e le descrizioni del sistema, qualcuno possa costruire qualcosa che soddisfi le tue esigenze.