2012-11-12 8 views
5

Sto cercando uno strumento che mi permetta di disegnare una mappa delle dipendenze per applicazioni, server, ecc. Abbiamo molti server e molti database, e non c'è modo di rintracciare cosa dipende da cosa. Si noti che non sto parlando di dipendenze di codice o classe all'interno di un progetto, ma dipendono piuttosto da server, database e così via.Strumento di mappatura delle dipendenze gratuito con regolazioni automatiche del layout?

Quando mi sono seduto per creare una mappa di esempio, ho finito con qualcosa di simile:

bad map

Ora, il problema che ho con fare questo su carta o in MS Paint è che il il layout non è regolabile. Ad esempio, se ho preso un nodo nell'esempio sopra e l'ho spostato, voglio che le altre linee e nodi si adattino alla nuova posizione di quella che ho appena spostato.

Ho controllato alcune applicazioni di "mind mapping", come FreeMind, e l'ho trovato troppo restrittivo. Ad esempio, in quell'applicazione, non puoi semplicemente disegnare cose e connetterle, devi specificare i nodi e le loro relazioni (figlio, genitore, fratello). Inoltre, non c'era la possibilità di commentare nulla. Ad esempio nell'immagine sopra, mi piacerebbe essere in grado di includere commenti per ogni cosa nella mappa, ma tenerli nascosti fino a quando quell'oggetto non viene cliccato. In questo modo, posso scrivere molto testo riguardo la relazione e la sua storia, senza confondere la mappa.

Al livello di base, tutto ciò che voglio è un'applicazione semplicissima che mi consentirà di disegnare quadrati, inserire testo (e commenti nascosti) e collegarli con le frecce, quindi consentirmi di spostare i quadrati intorno e fare in modo che i quadrati e le frecce circostanti si adattino automaticamente.

+1

Off topic? Le domande frequenti indicano che le domande relative al software utilizzato dai programmatori sono accettabili. Si tratta di software, che io come programmatore, ho bisogno di organizzare meglio le cose, in modo che quando sto scrivendo il codice, posso facilmente guardare al quadro più ampio delle mie scelte di risorse. – CptSupermrkt

+0

Sono d'accordo con il commento di OP, questo mi sembra sufficientemente in argomento. Suppongo che uno possa scegliere le lendini e affermare che il soggetto dei diagrammi è più all'interno del dominio degli amministratori di sistema che dei programmatori, ma non tutti lavorano in un'organizzazione in cui i ruoli sono chiaramente delineati. Scommetto che non sono l'unico programmatore a dover progettare lo sviluppo e le configurazioni del sistema di distribuzione. –

+0

Hai provato draw.io per un semplice strumento gratuito per disegnare diagrammi? – beny23

risposta

5

Un buon strumento per la creazione di schemi generali di questo tipo è GraphViz. Si specifica l'input come un file .dot, che contiene le istruzioni simili a (per il tuo esempio):

digraph G { 
    web_app -> server1 
    web_app -> sql_database 
    web_app -> repository 
    server1 -> esx_server1 
    ... 
} 

(Ci sono molte direttive di formattazione, come ad esempio le etichette corrette si usa sui vertici, piuttosto che i nomi brevi Ho usato sopra.)

Quindi eseguire uno strumento da riga di comando per disporre il grafico come un'immagine. Esistono molti algoritmi di layout, così spesso utilizzerai prove ed errori per trovare quello che funziona meglio per il tuo grafico.

GraphViz può fare un lavoro di layout ragionevolmente buono su molti grafici. Ma la cosa grandiosa è l'input basato sul testo; è facile da generare automaticamente l'input da un programma o mantenerlo nel controllo di versione, ecc.

Problemi correlati