सॉफ्टवेयर विकास में "डाउनस्ट्रीम / अपस्ट्रीम डिजाइन" का क्या अर्थ है?
सॉफ्टवेयर विकास में "डाउनस्ट्रीम / अपस्ट्रीम डिजाइन" का क्या अर्थ है?
जवाबों:
अपस्ट्रीम घटक सिस्टम के अन्य भाग हैं जो आपका घटक अपना काम करने के लिए निर्भर करता है। यदि एक अपस्ट्रीम घटक का डिज़ाइन बदलता है, तो आपके घटक के कार्य करने की क्षमता प्रभावित हो सकती है। यदि अपस्ट्रीम घटक में बग है, तो यह बग आपके घटक में प्रकट हो सकता है।
डाउनस्ट्रीम घटक सिस्टम के ऐसे भाग हैं जो आपके घटक को प्रभावित कर सकते हैं। आपके घटक में परिवर्तन उन घटकों को तरंगित कर सकता है जो आपके घटक से डाउनस्ट्रीम हैं।
एक अनुप्रयोग पर विचार करें जिसमें एक डेटाबेस स्तरीय और एक अनुप्रयोग स्तरीय शामिल है। डेटाबेस टियर को एप्लिकेशन टियर के अपस्ट्रीम माना जाएगा।
नदी के ऊपर (ऊपर सॉफ्टवेयर की उत्पत्ति) डाउनस्ट्रीम = समुद्र के नीचे (उपयोग के मामलों में)
ओपन सोर्स डेवलपर्स जो "डाउनस्ट्रीम" हैं तैयार उत्पादों पर एप्लिकेशन और टूल बनाते हैं। जो लोग अपस्ट्रीम हैं वे वास्तव में रिलीज होने वाले उत्पादों पर काम करते हैं।
यदि आप सॉफ़्टवेयर विकसित करते हैं: आप अपस्ट्रीम विकास की स्थिरता पर निर्भर करते हैं। और जो आपके सॉफ्टवेयर पर काम करते हैं वे डाउनस्ट्रीम डेवलपर्स हैं।
मुझे लगता है कि यह अंग्रेजी की तुलना में अधिक सॉफ्टवेयर इंजीनियरिंग शब्दजाल है, लेकिन जिस तरह से मैं इसे "डाउनस्ट्रीम डिजाइन" समझता हूं, जहां एप्लिकेशन डेवलपर्स उन उपकरणों को लेते हैं जो पहले से ही विकसित किए गए हैं और उनका उपयोग उनके आवेदन को पूरा करने के लिए करते हैं। पहले से ही तैयार किए गए सॉफ़्टवेयर पुस्तकालयों का उपयोग करना जहां पुस्तकालय क्षमताओं के बारे में निर्णय पहले से ही किए गए हैं, बहाव है।
"अपस्ट्रीम डिज़ाइन" के साथ आवेदन डेवलपर से सलाह ली जाती है और पुस्तकालयों के विकास में शामिल किया जाता है इससे पहले कि आवेदन कार्य वास्तव में शुरू हो गया हो। यदि आप ऑडियो सॉफ़्टवेयर पर ध्यान केंद्रित करने वाली सॉफ़्टवेयर कंपनी बनने जा रहे हैं, उदाहरण के लिए, आपको अपने द्वारा विकसित किए जाने वाले सॉफ़्टवेयर की श्रेणी को कवर करने के लिए पुस्तकालयों को विकसित करने की आवश्यकता हो सकती है। यह अच्छा होगा कि लाइब्रेरी डेवलपर्स एप्लिकेशन डेवलपर्स के साथ बैठ सकें ताकि ऐप देवता जो चाहें उन्हें इनपुट प्रदान कर सकें।
अपस्ट्रीम अधिक अनुकूलित है, जो इसे और अधिक महंगा बनाता है, लेकिन संभावित रूप से एक बेहतर अंत उत्पाद का उत्पादन करता है।