Molti strumenti sono disponibili per questo, a seconda delle dimensioni del sistema. Il nonno di tutti è Structure101, un prodotto commerciale.
http://structure101.com
Ho usato questo su alcuni grandi progetti - è complessa, ma senza dubbio il più completo di tutti gli strumenti che conosco. Può rappresentare graficamente un'architettura enorme e ti consente di districare alcune cose complesse. Ha un prodotto sorella chiamato reStructure101 in cui puoi fare scenari ipotetici.
Un bel concorrente è Stan4j. Non è neanche lontanamente completo, ma offre alcune funzionalità migliori, in particolare mostrando il contesto di dipendenza a livello di classe.
http://www.stan4j.com
(Possiedo entrambi i prodotti, ma non hanno alcuna affiliazione commerciale con entrambi)
Un altro modo di vedere le dipendenze complesse, in particolare a livello di progetto, è una matrice Dipendenza Struttura (DSM).Anche se S101 può fare un DSM, Lattix ha più il supporto - è in grado di gestire primavera e Hibernate dipendenze: lattix
http://lattix.com/
(non ho usato - lo rendono troppo difficile da valutare, il che è strano perché io lavoro su alcuni molto grandi sistemi)
Se il software è piuttosto piccolo, e si è più interessati al semplice livello di classe, quindi qualcosa come Architexa può aiutare a capire la struttura meglio:
http://www.architexa.com/
Infine, se si desidera eseguire il rollover, è possibile farlo facilmente con ASM. Esso comprende anche uno strumento di matrice di dipendenza che tiene traccia a livello di pacchetto:
http://asm.ow2.org/doc/tutorial-asm-2.0.html (vedi in basso nella pagina per la matrice delle dipendenze nify)
Ecco la fonte per esso - è molto semplice, ma intelligente. Funziona con bytecode. http://cvs.forge.objectweb.org/cgi-bin/viewcvs.cgi/asm/asm/examples/dependencies/src/org/objectweb/asm/depend/
Un sacco di grandi risposte! Grazie per l'aiuto! – Ryan
Questo è in qualche modo non correlato, ma lo strumento UML Umbrello genererà diagrammi UML del codice. Sarebbe stato utile per me in quel momento. – Ryan
Appena individuato questo a causa del tuo recente commento, ma per riferimento futuro si potrebbe verificare Structure101. –