Cosa devo includere nel documento di progettazione OOP?

0

Sono uno studente laureato in ingegneria aerospaziale. Gran parte della mia tesi di Master è stata dedicata allo sviluppo di un'architettura software OOP in MATLAB per facilitare il controllo di veicoli basati su Arduino (dirigibili, macchine, quadroni, ecc.).

Tutto il mio codice è molto documentato, ma la mia tesi stessa deve essere più che un riferimento di ogni classe e metodo - ha bisogno di descrivere ad un alto livello come ogni pezzo lavora insieme, e perché la mia architettura è così com'è.

Ho solo un minimo di ingegneria del computer e mi considero un programmatore abbastanza competente, ma non ho esperienza nella scrittura di questo tipo di documento. Quali tipi di cose devono essere inclusi nel documento? (Diagrammi, spiegazioni di paragrafo su come funziona ogni classe, ecc.)? Non voglio semplicemente ripetere i miei commenti al codice (sebbene all'inizio di ogni file ci siano paragrafi di commenti su come quella classe si rapporta ad altre classi). Mi chiedo anche se sia necessario diventare piuttosto tecnici (implemento alcuni concetti MATLAB piuttosto avanzati [cioè avanzati per ingegneri non informatici] come ascoltatori e callback); il mio pubblico proviene anche da un background di ingegneria aerospaziale.

Gli esempi sarebbero apprezzati se esistessero.

EDIT : la parte che interessa davvero al mio pubblico non è l'architettura del software (le cose che questa domanda comporta); questo documento è per le persone che useranno il mio lavoro in futuro, che sono non ingegneri informatici! Quindi immagino che la domanda principale sia: cosa deve essere nel documento in modo tale che le persone che non sono in grado di accelerare il progetto (e possiamo assumerci la competenza della lingua) possano capire l'architettura, mantenere e utilizzare il software?

    
posta Dang Khoa 26.12.2011 - 23:30
fonte

1 risposta

1

Attualmente ho lo stesso problema di te, anche se il mio software si riferisce all'architettura aziendale (ingegneria aziendale master).

Ho intenzione di scriverlo in modo tale che la logica di alto livello possa essere compresa da qualcuno con una conoscenza base orientata all'Object. Farò riferimenti alla documentazione ufficiale, disegni di progettazione per rendere più facile per gli sviluppatori lavorare ulteriormente sul mio codice. I documenti di ricerca saranno anche referenziati ma non in un modo che avresti bisogno di leggerlo per capire tutto. I documenti servono solo a mostrare su cosa baso tutto.

Un suggerimento che voglio darti è renderlo il più visivo possibile. Ad esempio aggiungo uno schema con la mia classe databaseHelper in fondo come una barra lunga, mostrando che è incapsulato dal mio contentprovider disegnandolo sopra anche come una barra o intorno ad esso (è un'applicazione Android). Questo content provider avrà collegamenti alle ulteriori astrazioni che sono state fatte, altre classi, ... in modo tale che le persone saranno in grado di comprendere l'intera immagine e fare astrazione di tutto il resto.

Inizia con il livello più alto di astrazione e poi vai su e giù. In molti casi, se le persone vedono il quadro generale, saranno in grado di fare un'astrazione di tutte le cose sottostanti e questo era lo scopo del tuo lavoro. Vuoi che le persone siano in grado di lavorare con esso.

Quindi, in generale:

-Visualize! -Tieni tecnico delle cose di cui parla davvero, il nucleo della tua tesi di master. Sii chiaro su tutto il resto in modo che le persone possano lavorare con esso.

    
risposta data 27.12.2011 - 01:25
fonte

Leggi altre domande sui tag