कौन से सॉफ्टवेयर डेवलपमेंट मेथडोलॉजी को नींव के रूप में देखा जा सकता है


10

मैं एक छोटा शोध पत्र लिख रहा हूं जिसमें सॉफ्टवेयर विकास पद्धति शामिल है। मैं सभी उपलब्ध कार्यप्रणाली में देख रहा था और मैं सोच रहा था, सभी कार्यप्रणाली से, क्या कोई ऐसा है जो दूसरों के लिए नींव प्रदान करता है?

एक उदाहरण के लिए, निम्नलिखित कार्यप्रणाली देख रहे हैं:
एजाइल, प्रोटोटाइपिंग, क्लीनरूम, इटरेटिव, रेड, आरयूपी, सर्पिल, वाटरफॉल, एक्सपी, लीन, स्क्रैम, वी-मॉडल, टीडीडी।

क्या हम यह कह सकते हैं:
प्रोटोटाइपिंग, इटरेटिव, स्पाइरल और वाटरफॉल दूसरों के लिए "नींव" हैं?

या "नींव" जैसी कोई चीज नहीं है और क्या प्रत्येक पद्धति का अपना अनूठा इतिहास है?

मैं अपने शोध पत्र में सभी कार्यप्रणाली का वर्णन करना पसंद करूंगा, लेकिन मेरे पास ऐसा करने का समय नहीं है और इसीलिए मैं यह जानना चाहूंगा कि किन पद्धतियों को प्रतिनिधियों के रूप में देखा जा सकता है।

जवाबों:


5

आपकी सूची में नाम सभी तरीके नहीं हैं और वे विभिन्न स्तरों पर हैं:

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

भेद जो कि एक आधार है जो एक कठिन काम है। आप स्पष्ट रूप से एक ऐतिहासिक रेखा खींच सकते हैं, लेकिन एक कार्यप्रणाली शायद ही कभी दूसरे पर आधारित होती है। वे बल्कि ओवरलैप करते हैं, एक दूसरे से उधार लेते हैं, कभी-कभी एक-दूसरे को जवाब देते हैं ... मैं कोई स्पष्ट रूप से परिभाषित वर्गीकरण नहीं देख सकता, हालांकि आप शायद कुछ बड़े परिवारों को रेखांकित कर सकते हैं।

इसे देखने का एक और तरीका पीढ़ी के दृष्टिकोण से है। एंटरप्राइज़ सॉफ़्टवेयर के संदर्भ में, मैं कहूंगा कि हमने 2 पीढ़ियों के तरीकों को जाना है। पहले वाले, जिनमें वाटरफॉल और वी-मॉडल थे, सॉफ्टवेयर में लागू अन्य इंजीनियरिंग विषयों से ज्यादातर पहले से मौजूद प्रक्रियाएं थीं। दूसरी पीढ़ी (आप इसे एजाइल कह सकते हैं, लेकिन एजाइल शब्द गढ़ा जाने से बहुत पहले शुरू हो गया था) पहली पीढ़ी की प्रक्रियाओं के भारीपन की प्रतिक्रिया के रूप में शुरू किया गया था, जब लोगों को यह एहसास होने लगा कि सॉफ्टवेयर एक बिल्कुल अलग जानवर था और यह मानदंड जो अच्छा बनाते हैं सॉफ्टवेयर और इन मानदंडों को सुनिश्चित करने वाले कदम वास्तव में विशिष्ट थे और अभी भी पता लगाया जाना था।

अंत में आपको इस बात पर ध्यान देना चाहिए कि सॉफ्टवेयर में, शायद अन्य विषयों की तुलना में कहीं अधिक, कार्यप्रणाली ऐसी रेसिपी नहीं है जिसे आप सिर्फ काम करने के लिए लागू कर सकते हैं। सॉफ्टवेयर विकास में तकनीकी पहलुओं के रूप में कई मानवीय पहलू हैं और एक टीम या एक प्रबंधक जो चांदी की गोली पद्धति के साथ आ रहा है और आंखों पर पट्टी बांधने के लिए चीजों की एक चेकलिस्ट कुछ आश्चर्य की उम्मीद कर सकता है। बस साल दर साल अराजकता रिपोर्ट जैसे सॉफ्टवेयर प्रोजेक्ट की सफलता दर पर अध्ययन को देखते हुए, आप बता सकते हैं कि सॉफ्टवेयर कार्यप्रणाली का इतिहास ठोस, वैज्ञानिक रूप से स्थापित, दोहराए जाने योग्य प्रक्रियाओं के शासन की तुलना में असफल प्रयासों की एक श्रृंखला के साथ अधिक है।


मैं इस अकादमिक पेपर की सिफारिश करता हूं, जिसमें मेरे द्वारा बताई
guillaume31

3

वहा तीन है:

  1. कोई नहीं (उर्फ चरवाहे कोडिंग)
  2. झरना
  3. तेजी से अनुप्रयोग विकास (आरएडी या सर्पिल)

बाकी इन के वेरिएंट और संयोजन हैं

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

कृपया अपने परिणामों के लिए एक लिंक प्रकाशित करें, जब यह एक दिलचस्प पेपर की तरह लगता है!


@Bas: जेम्स मार्टिन 'शब्द का तेजी से अनुप्रयोग विकास' 1991 में गढ़ने का श्रेय जाता है en.wikipedia.org/wiki/...
स्टीवन ए लोव

इस उत्तर के लिए बहुत बहुत धन्यवाद! मैं देखूंगा कि क्या मैं बाद में परिणाम प्रकाशित कर सकता हूं क्योंकि यह एक असाइनमेंट का हिस्सा है जो मैं एक कंपनी के लिए कर रहा हूं। तो मैं कोशिश करूंगा और देखूंगा कि क्या मैं इसे कंपनी के असाइनमेंट से स्वतंत्र बना सकता हूं :)
बस

0

हो सकता है कि आप प्राचीन विधियों (न कि 'कार्यप्रणाली) का उल्लेख करना चाहें:

  1. बैच प्रसंस्करण: कार्ड का एक डेक जमा करें और अगले दिन आउटपुट प्राप्त करें। कमियां: प्रस्तुतियाँ के बीच बहुत अधिक समय; डिबगिंग के लिए, एक कोर डंप का अध्ययन करें।

  2. cli तरीके - vi या emacs का उपयोग करें, फिर संकलन करें; सभी कमांड लाइन से ठीक उसी तरह जैसे कि इस दिन भी एक शेल शेल में किया जाता है। कमियां: डिबग करना मुश्किल (जीडीबी? क्या आप 'मुझे'?), 40 वर्षीय शेल कमांड को अस्पष्ट करते हैं।

सिर्फ एक विचार।


1
यह वास्तव में मैं क्या देख रहा था नहीं था। मैं वास्तव में सॉफ्टवेयर विकास के तरीकों के बारे में जानना चाहूंगा, जिनका उपयोग सॉफ्टवेयर विकास परियोजनाओं में किया जा रहा है।

0

आप तीन मूल दृष्टिकोणों का उल्लेख कर सकते हैं: प्रोटोटाइपिंग, सर्पिल और झरना। मैं लीन, टीडीडी या क्लीनरूम को एक कार्यप्रणाली के रूप में नहीं मानूंगा, बल्कि प्रक्रिया जो कार्यप्रणाली का एक हिस्सा हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.