Design documento per progetto in C

2

Ho avuto una certa esperienza nella documentazione del progetto per il progetto sviluppato in linguaggi OOP. Ho creato classi e ho utilizzato diagrammi di classe per mostrare la struttura generale di progettazione dell'implementazione quando ho utilizzato i linguaggi OOP.

Problema: sto per iniziare un progetto in linguaggio C. Come faccio ora a scrivere il documento di progettazione?

Q. Il documento di progettazione non dovrebbe essere indipendente dal linguaggio di implementazione? Ma non sono in grado di capire, senza classi coinvolte nella mia implementazione, come e tra cosa mostrerò le relazioni?

Q. Esiste un modo standard per documentare i progetti C?

Sono totalmente confuso su cosa dovrei mostrare esattamente nel documento di progettazione? Funzioni? Come li relazionerò?

Apprezzerà il collegamento a qualsiasi progetto C open source che potrebbe avere una tale documentazione per riferimento?

P.S. : Il progetto è uno sviluppo minimo del kernel in linguaggio C.

    
posta Amit Tomar 13.09.2013 - 19:33
fonte

2 risposte

3

Scrivi il documento di progetto normalmente, con classi e oggetti.

C ha ancora tipi di dati definiti dall'utente: sono appena dichiarati con la parola chiave struct anziché class .

C ha ancora l'incapsulamento e il nascondiglio dei dati: non hai la parola chiave private per far sì che il compilatore la applichi per te. Funzioni di gruppo che operano sugli stessi tipi di dati in un modulo e non espongono semplicemente i dati privati al di fuori del modulo.

C può ancora avere l'astrazione e persino l'ereditarietà se lo vuoi veramente (anche se è molto lavoro se non sei sicuro che sia davvero essenziale).

Al momento dell'implementazione, dovrai decidere come implementare ciascuna di queste classi e oggetti.

Una classe potrebbe essere implementata come struct più una nuvola di funzioni correlate per i metodi. Oltre a perdere dello zucchero sintattico, funziona allo stesso modo a meno che non sia necessario il polimorfismo.

    
risposta data 13.09.2013 - 20:31
fonte
2

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.

    
risposta data 13.09.2013 - 19:53
fonte

Leggi altre domande sui tag