इस प्रश्न का फोकस: कुछ सॉफ़्टवेयर सॉफ़्टवेयर में एक या एक से अधिक आंतरिक त्रुटियों के बावजूद, "अंततः सफल / संतोषजनक" परिणाम की संभावना को बढ़ाने के लिए "अतिरिक्त कार्य" करते हैं, जिसमें उन त्रुटियों के होने पर लंबे समय तक निष्पादन की आवश्यकता होती है। यदि परिणाम सफल रहा, तो ये सभी उपयोगकर्ता के ज्ञान के बिना होते हैं।
जटिल सॉफ्टवेयर की परिभाषा:
- इसमें अपने जीवनकाल में 10 से अधिक डेवलपर्स द्वारा लिखे गए (से योगदान) कोड शामिल हैं, और एक ही समय सीमा में नहीं लिखे गए हैं
- 10 से अधिक बाहरी पुस्तकालयों पर निर्भर करता है, प्रत्येक के साथ कैवियट है
- एक विशिष्ट सॉफ़्टवेयर कार्य (उपयोगकर्ता द्वारा वांछित परिणाम उत्पन्न करने के लिए) को 10 या अधिक इनपुट मापदंडों की आवश्यकता होती है, जहां उनमें से अधिकांश में डिफ़ॉल्ट मान होते हैं लेकिन उपयोगकर्ता को नियंत्रण की आवश्यकता होती है तो वे कॉन्फ़िगर करने योग्य होते हैं।
- सबसे महत्वपूर्ण बात यह है कि सॉफ्टवेयर जिसमें प्रदर्शन किए जा रहे कार्य के सापेक्ष उपयुक्त जटिलता है, अर्थात अनावश्यक रूप से जटिल नहीं है ।
संपादित: क्या जटिल है? कृपया देखें कि कॉम्प्लेक्स और जटिल के बीच एक बड़ा अंतर है । (सीधा लिंक)
इस प्रश्न के भीतर अतिरेक / रोबस्टनेस की परिभाषा :
(टिप्पणियों पर आधारित रोबस्टनेस)
- यदि मापदंडों के वर्तमान सेट का उपयोग करते समय एक सॉफ़्टवेयर कार्य विफल हो गया, तो विभिन्न मापदंडों का प्रयास करें।
- जाहिर है, ज्ञान के अंदर होना चाहिए कि "अलग" पैरामीटर एक अलग कोड पथ का उपयोग करते हैं, जिसके परिणामस्वरूप संभवतः एक अलग (उम्मीद से बेहतर) परिणाम होता है।
- कभी-कभी बाहरी पुस्तकालयों की टिप्पणियों के आधार पर इन विभिन्न कोड पथों को चुना जाता है।
- अंत में, यदि निष्पादित वास्तविक कार्य उपयोगकर्ता के विनिर्देश से थोड़ा अलग है, तो उपयोगकर्ता को विसंगति का विवरण देने वाली रिपोर्ट प्राप्त होगी।
- अंत में, 10-प्लस कॉन्फ़िगर करने योग्य मापदंडों की तरह, अतिरेक और रिपोर्टिंग भी विन्यास योग्य हैं।
ऐसे सॉफ्टवेयर का उदाहरण:
- डेटाबेस माइग्रेशन
- व्यापार डेटाबेस
- स्रोत नियंत्रण डेटाबेस, आदि।
- एक Word दस्तावेज़ और एक OpenOffice दस्तावेज़, PowerPoint और OpenOffice ड्रा, आदि के बीच में परिवर्तित बैच।
- एक पूरी वेबसाइट का स्वचालित अनुवाद
- सॉफ़्टवेयर पैकेज का स्वचालित विश्लेषण, जैसे कि Doxygen, लेकिन जहां विश्लेषण को अधिक भरोसेमंद होने की आवश्यकता है (यानी न केवल एक दस्तावेज़ीकरण उपकरण)
- नेटवर्क संचार, जहां पैकेट खो सकते हैं और कई रिट्रीट की उम्मीद की जाती है
यह प्रश्न मूल रूप से प्रेरित था कि आप जानबूझकर खराब कोड से कैसे निपटते हैं?
लेकिन अब सॉफ्टवेयर ब्लोट के कारणों में से एक पर केंद्रित है। यह प्रश्न सॉफ़्टवेयर ब्लोट के किसी अन्य कारण को संबोधित नहीं करता है, जैसे कि नई सुविधाओं को जोड़ना।
संभवतः संबंधित: