पृष्ठभूमि: मेरे सहयोगी और मैं एक अकादमिक पत्रिका के लिए एक लेख लिख रहे हैं। हमारे शोध के क्रम में, हमने जावा में एक सिमुलेशन कार्यक्रम लिखा। हम अनुकरण कार्यक्रम को दूसरों के उपयोग के लिए स्वतंत्र रूप से उपलब्ध कराना चाहते हैं। हमने एक GitHub रिपॉजिटरी पर कोड होस्ट करने का फैसला किया है। दूसरों के लिए उपयोग करना आसान बनाने के लिए, हम अपने कार्यक्रम के लिए अच्छे दस्तावेज लिखना चाहते हैं, जिनमें शामिल हैं:
- प्रत्येक वर्ग और विधि के लिए Javadocs
- कोड का उपयोग कैसे करें
- कोड की उच्च-स्तरीय संरचना का वर्णन करना
मेरा उच्च-स्तरीय प्रश्न है: क्या आप उन शब्दों और आरेखों का एक अच्छा उदाहरण प्रदान कर सकते हैं जिनका उपयोग किसी कार्यक्रम की उच्च-स्तरीय संरचना का वर्णन करने के लिए किया जा सकता है? इसमें उप-प्रश्न शामिल हैं:
- हम कैसे दिखाते हैं कि कौन से वर्ग किस पैकेज में निहित हैं?
- हम कैसे दिखाते हैं कि अन्य पैकेजों पर क्या पैकेज निर्भर करता है?
- हम कैसे दिखाते हैं कि प्रोग्राम में ऑब्जेक्ट्स / क्लासेस एक साथ कैसे काम करते हैं?
- हमने अपने कोड के डिज़ाइन में डोमेन-संचालित डिज़ाइन सिद्धांतों का उपयोग करने की कोशिश की है । हम डोमेन में वस्तुओं के बीच पत्राचार और इन वस्तुओं को एन्कोडिंग करने वाले विशेष स्रोत कोड फ़ाइलों को कैसे दिखाते हैं? (मेरी "सर्वव्यापी भाषा" नीचे दिए गए प्रोजेक्ट का विवरण देखें।)
मैंने अब तक क्या किया है
सर्वव्यापी भाषा
हमने एक फाइल में कोड का "सर्वव्यापी भाषा" विवरण ubiquitous-language.md
नीचे दिया है।
इस परियोजना का उद्देश्य यह अध्ययन करना है कि अलग-अलग लीड समय मॉडल, रिपोर्ट में देरी और मांग मॉडल के तहत एक सरल आपूर्ति श्रृंखला में एक पुनरावृत्ति नीति कितनी अच्छी तरह से प्रदर्शन करती है।
प्रत्येक अवधि में, निम्नलिखित घटनाएँ होती हैं:
- यदि एक शिपमेंट को वर्तमान अवधि में सुविधा पर पहुंचने के लिए निर्धारित किया जाता है , तो सुविधा का इन्वेंट्री स्तर एक्स इकाइयों द्वारा बढ़ाया जाता है।
- यदि शेड्यूल इंगित करता है कि वर्तमान अवधि रिपोर्टिंग अवधि है, तो सुविधा आपूर्तिकर्ता को एक रिपोर्ट सबमिट करती है । आपूर्तिकर्ता प्राप्त हो सकता है रिपोर्ट तत्क्षण या, के रूप में द्वारा निर्दिष्ट, कई हफ्तों तक का विलंब अनुसूची ।
- यदि आपूर्तिकर्ता को एक रिपोर्ट प्राप्त हुई है , तो पुनरावृत्ति नीति के आधार पर , यह एक्स इकाइयों की पुनःपूर्ति मात्रा की गणना करेगा। उत्पाद की एक्स इकाइयों की एक शिपमेंट एल अवधि के एक प्रमुख समय के बाद आने वाली है।
- ग्राहक सुविधा पर पहुंचते हैं और उत्पाद की एक्स इकाइयों की मांग करते हैं। किसी भी unmet की मांग खो जाती है।
स्रोत कोड संरचना
हम एक फ़ाइल में कोड का अधूरा "उच्च-स्तरीय" विवरण structure.md
, नीचे सामग्री डालते हैं।
पैकेज स्तर की संरचना
उच्चतम स्तर पर, स्रोत कोड को तीन पैकेजों में व्यवस्थित किया जाता है
com.gly.sfs
main
विधि के साथ मुख्य वर्ग इस पैकेज में रहता है।com.gly.sfs.model
डोमेन मॉडल कक्षाएं इस पैकेज में रहती हैं।com.gly.sfs.util
इस पैकेज में हेल्पर कक्षाएं रहती हैं।