Devo creare una struttura di documentazione per un'applicazione legacy e non sono sicuro di come organizzarlo. Obiettivi della documentazione :
- Elenco dei casi d'uso
- Flusso del programma per ciascuno dei casi d'uso. ( Diagramma di flusso di tutti i passaggi logici che il codice esegue per un particolare caso d'uso ).
- Per quanto possibile le spiegazioni di perché viene seguita una determinata logica di business / codice.
- Il formato della documentazione, se possibile, non dovrebbe richiedere l'installazione di un nuovo strumento e, nel migliore dei casi, può essere letto in formato Word o PDF (in modo che i tipi di attività possano verificarlo facilmente).
- Alcune domande che dovrebbero essere risolte utilizzando la documentazione: "Quale logica aziendale esegue il codice per un determinato caso d'uso?"; "Il codice è ridondante altrove nell'applicazione?"; "Se cambio questo codice, quali casi d'uso sono interessati?";
Caratteristiche dell'applicazione : (è generalmente un po 'caotico, con la presentazione e la logica di business leggermente mescolate in quasi tutti i livelli)
- Presentazione in Web Form .NET mediante WebControls (GridViews, ObjectDataSource, Reports) e JavaScript (jQuery, jQuery-ui) nelle pagine * .aspx
- Codice lato server in C # in * .aspx.cs per gestire gli eventi post-back.
- C # Code-Pages e un progetto separato integrato nella WebApplication che fornisce Business Logic come parte dell'applicazione Web
- SQL Server per la persistenza dei dati (DB dati master, DB di gestione temporanea dati)
- Visualizzazioni che includono alcuni dati di altri server
- Assemblaggi CLR C # per la business logic implementata su SQL Server e alcune stored procedure / trigger SQL minori
- Una struttura di file sullo stesso server del DB SQL che gestisce l'archiviazione, l'importazione dei dati dai file.
- Interfaccia file per SAP (che non comprendo ancora completamente).
Finora ... ho iniziato a documentare in Word. Ho un file Word separato per il front-end e la struttura del database / file. Comincio ogni file con Use-Case (i processi avviati dall'utente sono in front-end e pianificati nel file Database), seguiti dalla struttura del codice. Ogni caso d'uso ha un collegamento ipertestuale a un diagramma di flusso / spiegazione del codice che viene eseguito per primo, che ha un collegamento ipertestuale al diagramma di flusso / spiegazione del codice che verrà eseguito successivamente, ecc ... Lo faccio in modo che ogni parte del codice sia documentato solo una volta e che altre parti della documentazione del codice possono collegarsi ad esso se vengono eseguite nell'applicazione.
Problemi :
- Non riesco a navigare all'indietro dai collegamenti ipertestuali ( cioè non posso rispondere alla domanda: "Se cambio questo codice, quali casi d'uso sono interessati." Posso passare da Use-Case a Code, non il contrario. )
- La parola documento si sente già goffo e disordinato dopo che ho appena iniziato a scrivere cose in esso.
Domanda : come posso documentare questa applicazione multilivello senza fare un gran casino?