2010-05-29 3 views
9

Ho bisogno di creare un diagramma di classe UML per un progetto. Ho usato Sparx Enterprise Architect in passato per generare codice sorgente da un diagramma, quindi lo sto usando.Conversione di Sparx Enterprise Architect (da origine a UML)

Il progetto è completo quindi tutto il codice è fatto e non voglio veramente scrivere tutte le classi/funzioni manualmente, quindi stavo cercando di generare il diagramma dal codice sorgente ma non riesco a trovare un modo per farlo Ho cercato online e sul loro sito web ma niente.

Qualsiasi aiuto apprezzato.

+0

Quale valore pensi di aggiungere facendo questo? Attenersi a un diagramma dei pacchetti che mostra le responsabilità nei moduli e utilizzare qualcosa come doxygen per documentare il progetto come costruito. –

+0

L'ho fatto solo perché dovevo (e nessuno mi ha detto prima). Tuttavia, documento sempre i progetti con doxygen. – user228938

+0

Non sono sicuro che abbia molto senso; Doxygen può generare diagrammi di classi di stile UML. – Clifford

risposta

6

Si chiama "reverse engineering" per importare il codice nel modello. Dopo che è nel modello, puoi creare diagrammi.

+1

Il concetto di reverse engineering è bello ma la realtà è diversa !! Se guardi in dettaglio il modello, ti renderai conto che meno del 50% del progetto è stato realmente mappato al modello. Ho provato java reverse ma altri rovesci potrebbero essere migliori. –

+0

Ne vale la pena, perché se generi codice dal tuo modello e poi ricrea un modello dal tuo codice hai perso il 70% del modello del diagramma di classe iniziale !! Il problema è che non esiste tracciabilità tra il modello e la generazione del codice. Solo EclipseUML Omondo consente questa funzione perché ha un'opzione di unione. –

+1

@ roko-sifredi - Alcuni anni fa ho scoperto che Sparx Enterprise Architect funzionava bene per l'ingegneria round-trip, usando C#. – ChrisW

10

Per la versione 8 di EA Corporate Edition. Apre o crea un progetto. Crea un diagramma di classe vuoto. Selezione menu: Progetto -> Codice sorgente Ingegneria -> File di importazione La finestra di dialogo Directory si apre per consentire la selezione dei file.

Ho "reverse engineered" molti progetti C++, grandi e piccoli. Passerai molto tempo a ripulire. Dipenderà dalla qualità del progetto, dalla sua struttura e dal suo codice.

Quindi è possibile generare un rapporto di documentazione su di esso (Progetto-> Documentazione) che ho trovato molto utile, il report HTML, per navigare il codice.

1

per questo è necessario prima utilizzare le opzioni di Reverse Engineering ma, come alcuni altri utenti hanno sottolineato, questa non è una forza da EA. Ho provato in passato (penso che la versione 7.3) per farlo con C, Python e Java Projects ei risultati non erano sempre soddisfacenti.

Non so in quale linguaggio di programmazione sia scritto il codice, ma come per C, se si usano le istruzioni del preprocessore, si avranno molti problemi e incompatibilità nel risultato.