2012-11-12 69 views
5

मैं एक उपकरण मुझे निर्भरता का एक नक्शा बाहर आकर्षित आवेदन, सर्वर, आदि हम सर्वर का एक बहुत और डेटाबेस का एक बहुत है, और ट्रैकिंग क्या क्या पर निर्भर करता है का कोई तरीका नहीं के लिए देंगे की तलाश में हूँ। ध्यान दें कि मैं किसी प्रोजेक्ट के भीतर कोड या क्लास निर्भरताओं के बारे में बात नहीं कर रहा हूं, बल्कि सर्वर, डेटाबेस आदि पर निर्भरताएं।नि: शुल्क निर्भरता मानचित्रण उपकरण?

जब मैं एक नमूना नक्शा बनाने के लिए बैठ गए, मैं कुछ इस तरह के साथ समाप्त हो गया:

bad map

अब, समस्या मैं कागज पर या एमएस में पेंट ऐसा करने के साथ है वह यह है कि लेआउट समायोज्य नहीं है। उदाहरण के लिए, यदि मैंने उपर्युक्त उदाहरण में नोड लिया और इसे स्थानांतरित कर दिया, तो मैं चाहता हूं कि अन्य लाइनें और नोड्स उस स्थान की नई स्थिति में समायोजित करें जिसे मैंने अभी स्थानांतरित किया है।

मैं कुछ "मन मानचित्रण" अनुप्रयोगों की जाँच की, FreeMind की तरह है, और यह भी प्रतिबंधक हो पाया। उदाहरण के लिए, उस एप्लिकेशन में, आप केवल सामान खींचकर इसे कनेक्ट नहीं कर सकते हैं, आपको नोड्स और उनके रिश्ते (बच्चे, माता-पिता, भाई) निर्दिष्ट करना होगा। इसके अलावा, किसी भी चीज़ पर टिप्पणी करने की कोई क्षमता नहीं थी। उदाहरण के लिए उपर्युक्त छवि में, मैं मानचित्र में प्रत्येक चीज़ के लिए टिप्पणियां शामिल करने में सक्षम होना चाहता हूं, लेकिन उस ऑब्जेक्ट पर क्लिक होने तक उन्हें छुपाएं। इस तरह, मैं मानचित्र को उलझाने के बिना रिश्ते और इतिहास के बारे में बहुत कुछ लिख सकता हूं।

सबसे बुनियादी स्तर पर, सभी मैं चाहता हूँ एक सुपर सरल आवेदन सिर्फ मुझे वर्गों आकर्षित, में पाठ (और भी छिपी हुई टिप्पणी) सम्मिलित करते हैं कि, और उन्हें तीर के साथ कनेक्ट करते हैं, और फिर मुझे वर्गों ले जाने की अनुमति है चारों ओर और आसपास के वर्ग और तीर स्वचालित रूप से समायोजित करें।

+1

विषय से बाहर करने के लिए आसान है? एफएक्यू का कहना है कि प्रोग्रामर द्वारा इस्तेमाल किए गए सॉफ्टवेयर के बारे में प्रश्न स्वीकार्य हैं। यह सॉफ्टवेयर के बारे में है, कि मैं एक प्रोग्रामर के रूप में, सामान व्यवस्थित करने की आवश्यकता में हूं, ताकि जब मैं कोड लिख रहा हूं, तो मैं आसानी से संसाधनों के अपने विकल्पों के बारे में बड़ी तस्वीर देख सकता हूं। – CptSupermrkt

+0

मैं ओपी की टिप्पणी से सहमत हूं, यह मेरे लिए पर्याप्त विषय पर लगता है। मैं एक निट्स लेने और दावा है कि चित्र के विषय प्रोग्रामर से sys व्यवस्थापक के डोमेन के भीतर अधिक है, लेकिन सभी के जिस संगठन में भूमिका निभाने के लिए स्पष्ट रूप से चित्रित कर रहे हैं में काम करता है हो सकता है लगता है। मैं शर्त लगाता हूं कि मैं एकमात्र प्रोग्रामर नहीं हूं जिसे विकास और तैनाती प्रणाली विन्यास डिजाइन करना पड़ा है। –

+0

क्या आपने चित्रों को आकर्षित करने के लिए एक सरल मुक्त टूल के लिए draw.io को आजमाया है? – beny23

उत्तर

5

इस प्रकार के सामान्य आरेख बनाने के लिए एक अच्छा टूल GraphViz है। आप एक .dot फ़ाइल के रूप में इनपुट निर्दिष्ट करते हैं, (अपने उदाहरण के लिए) के लिए इसी तरह के निर्देशों वाला:

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

(इस तरह के सही लेबल आप vertexes पर प्रयोग करेंगे, बजाय कम नामों के रूप में कई स्वरूपण निर्देशों रहे हैं मैं ऊपर का उपयोग किया है।)

फिर एक छवि के रूप में ग्राफ बाहर बिछाने के लिए एक कमांड लाइन उपकरण चलाएँ। कई लेआउट एल्गोरिदम हैं, इसलिए अक्सर आप अपने ग्राफ के लिए सबसे अच्छा काम करने वाले व्यक्ति को खोजने के लिए परीक्षण और त्रुटि का उपयोग करेंगे।

Graphviz कई रेखांकन पर एक यथोचित अच्छा लेआउट काम कर सकते हैं। लेकिन इसके बारे में बड़ी बात टेक्स्ट-आधारित इनपुट है; यह आदि एक कार्यक्रम से इनपुट autogenerate, या संस्करण नियंत्रण में रखने,