पिछले लेने के लिए, इस उत्तर का संशोधन 1 देखें । हालाँकि, प्रश्न के लिए टिप्पणियाँ और संपादन आगे स्पष्ट करते हैं कि प्रश्न क्या मांग रहा है और मुझे अधिक स्पष्ट होने की अनुमति देता है।
हां, साक्ष्य आधारित सॉफ्टवेयर इंजीनियरिंग (ईबीएसई) एक चीज है। EBSE डेटाबेस की दिशा में कुछ प्रयास प्रतीत होते हैं, जैसे कि डरहम यूनिवर्सिटी और SEED में एक, जिसे कैल पॉली में एक प्रोफेसर द्वारा शुरू किया गया था । इन सभी प्रयासों के साथ-साथ उन कई पत्रों पर चर्चा हुई जो IEEE Xplore सर्वर या ACMST लाइब्रेरी के माध्यम से मिल सकते हैं(सदस्यता या दोनों में कई कागजात के लिए आवश्यक खरीद), साक्ष्य-आधारित दवा पर आधारित हैं। वे प्रकाशित अनुभवजन्य (अवलोकन और प्रयोग) डेटा की साहित्य समीक्षा प्रदान करते हैं। वास्तव में, किसी भी प्रकाशन पर खोज स्ट्रिंग में "साहित्य की समीक्षा" सहित अधिकांश विषयों पर जानकारी मिलती है - एसीएम पर 14000 से अधिक हिट और आईईईई डेटाबेस पर 1000 से अधिक (जब केवल कंप्यूटिंग विषयों तक सीमित है)।
इन ईबीएसई डेटाबेस और साहित्य समीक्षाओं में चर्चा किए गए सामान्य प्रकार के विषयों को देखते हुए, मुझे एक सामान्य धागा दिखाई देता है - वे प्रौद्योगिकी-स्वतंत्र होते हैं। जोर सॉफ्टवेयर इंजीनियरिंग का संचालन करने के लिए उपयोग किए जाने वाले विशिष्ट उपकरणों के बजाय प्रक्रिया और कार्यप्रणाली के आसपास केंद्रित है।
इसलिए, यह अवधारणा सॉफ्टवेयर इंजीनियरिंग में मौजूद है। एकेडेमिया साक्ष्य-आधारित अवधारणा से अवगत है और इसे सॉफ्टवेयर इंजीनियरिंग में सफलतापूर्वक लागू कर सकता है।
विशेष रूप से, सवाल यह है कि ईबीएसई तकनीकों को एक प्रतिमान के चयन के लिए लागू करना मुश्किल लगता है, इसमें शामिल चर की सरासर संख्या के कारण, मान्यताओं के साथ-साथ प्रयोग या अवलोकन को दोहराने की क्षमता को कम करने के लिए मजबूर किया जाता है। यह प्रश्न में सही कहा गया है - "कौन सा प्रतिमान" सही उत्तर के रूप में सामने आता है "इस बात पर निर्भर कर सकता है कि एक विशेष अध्ययन क्या मेट्रिक्स पर ध्यान देता है, अध्ययन किन स्थितियों में निरंतर या बदलता रहता है, और अन्य कारकों पर भी संदेह रहित है" । हालांकि इसका मतलब यह नहीं है कि किसी दिए गए स्थिति में कौन से प्रतिमान "सर्वश्रेष्ठ" हैं, यह इन दस्तावेजों की किसी भी तरह की साहित्य समीक्षा को अविश्वसनीय रूप से पूरा करना और अभी भी उनके बारे में जानकारी निकालना मुश्किल बनाता है।
एक प्रतिमान चुनने के लिए निश्चित रूप से "क्रैंक टर्न" समाधान नहीं है।
एक प्रोग्रामिंग प्रतिमान को देखते हुए, आप विभिन्न शैक्षणिक और उद्योग डेटाबेस में अध्ययन कर सकते हैं कि कैसे प्रतिमान सॉफ्टवेयर विकास के विभिन्न पहलुओं को प्रभावित करता है - गुणवत्ता, दोष, दक्षता, और इतने पर - विभिन्न विशिष्ट परिस्थितियों में, ज्ञान और अनुभव से लेकर। समस्या डोमेन पर टीम। किसी भी कठोर पेपर को उन परिस्थितियों को स्पष्ट रूप से पहचानना चाहिए जिनके तहत डेटा इकट्ठा किया गया था और धारणाएं। समस्या उन कारकों को अलग करने की कोशिश करती है जो उन स्थितियों में से प्रत्येक में अच्छा बनाते हैं।
अकादमिक रूप से, कुछ कथन हैं जो शोध के लिए आसान हैं। उदाहरण के लिए, कार्यात्मक प्रतिमान अच्छी तरह से उन अनुप्रयोगों के अनुकूल है, जिन्हें चर्च-रोसेर प्रमेय से संगामिति की आवश्यकता होती है । इस वजह से, यह संभावना है कि एक कार्यात्मक भाषा में लिखे गए सॉफ़्टवेयर सिस्टम में समसामयिक से संबंधित कम दोष होंगे, जो एक प्रक्रियात्मक या ऑब्जेक्ट-ओरिएंटेड भाषा में लिखी गई प्रणाली से संबंधित है।
हालांकि, व्यावहारिक दृष्टिकोण से, एक सॉफ्टवेयर टीम हमेशा नौकरी के लिए "सबसे अच्छा" उपकरण या तकनीक का उपयोग नहीं कर सकती है क्योंकि अनुसंधान इसे इंगित करता है। यद्यपि हम उच्चतम गुणवत्ता वाले सॉफ्टवेयर सिस्टम के उत्पादन के लिए प्रयास करते हैं, हम बाधाओं के भीतर काम करते हैं। अक्सर, मैं किसी भी कार्यप्रणाली की प्रभावशीलता पर चर्चा करते समय इन बाधाओं को कम से कम (या समीकरण से हटा दिया जाता है) देखता हूं।
एक चिकित्सक के रूप में, जब मैं उपयोग करने के लिए तकनीकों को चुनने में शामिल होता हूं, तो मैं सर्वोत्तम संभव उपकरणों की पहचान करने की कोशिश करता हूं। लेकिन फिर मैं अपने आप को विवश करता हूं कि मेरे पास जो टीम है, वह अच्छी तरह से जानता है। अपने पिछले उदाहरण पर वापस जाऊं, अगर मेरे पास C ++ में समवर्ती अनुप्रयोगों के निर्माण में अच्छी तरह से काम करने वाली टीम है और हास्केल में कोई अनुभव नहीं है, तो हास्केल में सिस्टम के निर्माण का प्रस्ताव करने का कोई मतलब नहीं है क्योंकि मैं संभावना नहीं बना पाऊंगा शेड्यूल और बजट की कमी, और टूलचिन में अनुभव की कमी के कारण मेरी गुणवत्ता में कमी होगी।
पुनरावृत्ति करने के लिए, साक्ष्य-आधारित सॉफ़्टवेयर इंजीनियरिंग आम तौर पर एक अच्छी बात है जो मौजूद है और साहित्य समीक्षा मौजूद है और आसानी से उपलब्ध हैं। हालाँकि, सॉफ्टवेयर इंजीनियरिंग के ऐसे पहलू हैं जहाँ साक्ष्य-आधारित दृष्टिकोण लागू करने से बहुत कम मूल्य मिलता है। बड़े पैमाने पर विकास के प्रयास के लिए एक प्रोग्रामिंग प्रतिमान का चयन इनमें से एक है।
यदि आप इस बात का पता लगाना चाहते हैं कि कार्यात्मक प्रोग्रामिंग में ऑब्जेक्ट-ओरिएंटेशन कैसे पुन: प्रयोज्य या दोषों को संबोधित करता है - तो आप आसानी से उन पर प्रकाशन पाएंगे। हालांकि, मुझे ऐसा प्रकाशन नहीं मिला (और न ही मैं किसी भी प्रकार के विश्वास में डालूंगा) एक प्रकाशन जो वास्तविक दुनिया सॉफ्टवेयर इंजीनियरिंग परियोजनाओं की व्यापक रेंज में प्रतिमान चयन को प्रभावी ढंग से संबोधित करने में सक्षम था।