2010-05-03 12 views
9

Mi piacerebbe sapere cosa si usa per abbozzare le relazioni tra diverse entità in C/C++. Questo può essere un problema molto ampio, quindi cercherò di chiarire un po 'di più la mia domanda e dare un esempio.Strumenti di disegno veloce per disegnare strutture C/C++, puntatori, ecc.

Sto cercando qualcosa che sia abbastanza semplice come utente e mi permetta di disegnare facilmente contenitori, puntatori, ecc. In modo informale. L'obiettivo è quello di documentare alcune relazioni delle strutture per passarle agli sviluppatori junior. Si suppone che uno sguardo ai disegni acceleri la comprensione del codice.

mie soluzioni in questo momento sono da utilizzare:

1) Carta & matita. 2) Autoshapes di Microsoft PowerPoint/Word. 3) Diam. Freeware

altri quelli potrebbero essere:

4) Microsoft Visio, ma la mia azienda non possiede le licenze. 5) Strumenti UML. Non voglio andare da questa parte. Questo è ciò che intendo una soluzione più formale. So che strumenti come Rational Rose sono xxx, e ho provato boUML e viola e stanno bene in alcune parti, ma preferisco la flessibilità delle opzioni 1), 2) o 3).

Infine, mi permetta di scrivere giù un esempio più concreto:

Diciamo che quello che per disegnare una mappa che contiene un altro programma come il valore mappato, e che uno contiene una struct come il valore mappato, che contiene un vettore di puntatori di un tipo e puntatore ad un altro tipo. Inoltre, esistono altre strutture che contengono puntatori agli oggetti puntati dalla mappa precedente, quindi ci sono oggetti puntati da luoghi diversi.

Questo è solo un esempio che ho, ma si può facilmente venire con uno dalla vostra esperienza.

Che cosa utilizzeresti per disegnare questo esempio o un altro simile con cui ti sei occupato?

Cordiali saluti, Tomas.

+6

Secondo la mia non umiltà, Rational Rose è un software terribile e non credo che lo userei di nuovo, anche se la mia carriera dipendesse da ciò. –

+0

Beh, l'ho usato molto tempo fa e ricordo che era piuttosto buggato. Suppongo che ora sarà migliorato. Penso che sia in qualche modo uno standard del settore, ma non lo uso. Ho provato il reverse engineering C++ con boUML e sono riuscito a ottenere immagini abbastanza buone del progetto di un progetto diverso. – nephewtom

risposta

2

Visio è ideale per creare rapidamente questi tipi di illustrazioni/diagrammi. Consiglio almeno di cercare di convincere la tua azienda ad acquistare una licenza.

Se Visio non è davvero un'opzione per voi, il passaggio successivo potrebbe essere quello di considerare Open Source alternatives to Visio.

1

Vorrei utilizzare graphviz, ma dal momento che si dice "qualcosa che è abbastanza semplice come un utente", dia è probabilmente un'alternativa migliore.

0

Ho usato ArgoUML ma dovrete decidere se è abbastanza semplice per quello che avete in mente.

2

Ho due cose che uso.

  1. La mia lavagna. Le lavagne bianche sono davvero difficili da battere per creare diagrammi in fretta.
  2. UMLPad. È piccolo, quindi non ha un sacco di funzioni non correlate da affrontare, è indirizzato ai diagrammi UML e alla GPL.
0

Per completezza: c'è anche StarUML, che è (Windows) freeware e creiamo uml-diagram piuttosto rapidamente.

1

Per problemi di progettazione, che coinvolgono pensieri di molte persone, abbiamo utilizzato "Post-it Design". L'idea è semplice:

  • Scegli una lavagna
  • rappresentano un soggetto come un post-it (nome + alcuni commenti)
  • Disegnare le relazioni sulla lavagna spostando il post-it in giro come richiesto

E quando hai finito? Foto dell'intera faccenda inviata per e-mail alle persone coinvolte :)

Può sembrare artigianale ma in realtà mi ricorda l'approccio alla progettazione grafica della GUI.

+0

@Matthieu: questo è veramente buono per le sessioni di brainstorming - altamente raccomandato. –

0
  • Visual Paradigm UML l'edizione comunità è gratuito ed è abbastanza buono per il disegno
  • Open Office Draw opere per la maggior parte di ciò che si vuole fare troppo
0

Se avete una base di codice esistente desiderate per un sviluppatore per capire (sembra che tu stia cercando di aiutare gli sviluppatori junior a velocizzare più rapidamente) perché non eseguire il tuo codice tramite doxygen

Con vari tipi di output e la possibilità di disegnare gerarchie di classi è davvero un uso l strumento. Il vantaggio aggiunto di qualcosa come l'output html è che non è necessario raggruppare tutto in una quantità limitata di spazio poiché tutte le relazioni sono collegate tramite hyperlink. Gli utenti possono semplicemente sfogliare la fonte - al tipo - senza doversi preoccupare molto dei dettagli.

1

Mi piace yuml come un modo molto semplice per creare diagrammi, che mantengano anche quell'aspetto informale. E non è necessario alcun disegno reale :)

+0

Un bel tool per roba UML. – nephewtom

0

Si specifica, che non si sta semplicemente utilizzando U.M.L., la maggior parte degli strumenti, in questi giorni sono indirizzati a specifici U.M.L., si potrebbe voler cercare uno strumento di disegno generico.

In alcuni progetti, a volte uso Open Office Draw, perché, la società non mi consente di utilizzare un altro software (la società non vuole pagarlo), è simile a Power Point o ridotto, semplificata, versione di Corel Draw:

http://www.openoffice.org/

In altri casi, ho provate entrambe le applicazioni commerciali e open source, ma, non piace.

A casa, io uso (software a pagamento):

http://www.novagraph.com/

insieme a Open Office Draw.

Questi uno, il suo anche un bene (software a pagamento):

http://www.smartdraw.com

Good Luck.

Problemi correlati