सॉफ्टवेयर रखरखाव और विकास
सॉफ्टवेयर रखरखाव और विकास वितरण के बाद सॉफ्टवेयर के संशोधन और दीर्घकालिक गतिशीलता से संबंधित हैं जिसके द्वारा प्रणालियों को उपयोगी बने रहने के लिए लगातार बदलना पड़ता है।
Definition
सॉफ्टवेयर रखरखाव दोषों को ठीक करने, प्रदर्शन में सुधार करने, या बदले हुए वातावरण के अनुकूल बनाने के लिए वितरण के बाद एक सॉफ्टवेयर उत्पाद का संशोधन है, और सॉफ्टवेयर विकास व्यापक, चल रही प्रक्रिया है जिसके द्वारा सॉफ्टवेयर बदलती आवश्यकताओं और वातावरणों के जवाब में अपने जीवनकाल में बदलता है।
Scope
यह क्षेत्र रखरखाव की श्रेणियों (सुधारात्मक, अनुकूली, पूर्णतावादी, निवारक); सॉफ्टवेयर विकास के अनुभवजन्य नियम; प्रोग्राम समझ और प्रभाव विश्लेषण; विरासत प्रणालियों का पुनर्रचना, रिवर्स इंजीनियरिंग और प्रवासन; तकनीकी ऋण का संचय और प्रबंधन; और ISO/IEC 14764 जैसे रखरखाव को नियंत्रित करने वाली प्रक्रियाओं और मानकों को शामिल करता है।
Sub-topics
Core questions
- परिवर्तन की कौन सी श्रेणियां रखरखाव का निर्माण करती हैं, और वे कैसे भिन्न हैं?
- कौन से अनुभवजन्य नियम यह नियंत्रित करते हैं कि सॉफ्टवेयर को समय के साथ कैसे विकसित होना चाहिए?
- विरासत सॉफ्टवेयर को कैसे समझा जाता है, पुनर्गठित किया जाता है और माइग्रेट किया जाता है?
- तकनीकी ऋण कैसे जमा होता है और इसे कैसे प्रबंधित किया जाता है?
Key theories
- सॉफ्टवेयर रखरखाव की श्रेणियां
- रखरखाव को सुधारात्मक (दोषों को ठीक करना), अनुकूली (पर्यावरण परिवर्तन का जवाब देना), पूर्णतावादी (कार्य या प्रदर्शन में सुधार करना), और निवारक (रखरखाव क्षमता में सुधार करना) के रूप में वर्गीकृत किया जाता है, जिसमें अनुकूली और पूर्णतावादी कार्य व्यवहार में हावी होते हैं।
- लेहमन के सॉफ्टवेयर विकास के नियम
- लेहमन ने देखा कि सक्रिय उपयोग में प्रणालियों को लगातार बदलना चाहिए या उत्तरोत्तर कम संतोषजनक हो जाना चाहिए, और जैसे-जैसे वे विकसित होते हैं उनकी जटिलता बढ़ती जाती है जब तक कि इसे कम करने के लिए काम नहीं किया जाता है।
Clinical relevance
रखरखाव आमतौर पर एक प्रणाली की कुल जीवनकाल लागत का अधिकांश हिस्सा उपभोग करता है, इसलिए विकास की गतिशीलता को समझना, जटिलता वृद्धि को नियंत्रित करना, और तकनीकी ऋण का प्रबंधन सॉफ्टवेयर की दीर्घकालिक अर्थव्यवस्था और व्यवहार्यता के लिए निर्णायक हैं।
Evidence & guidelines
ISO/IEC 14764 सॉफ्टवेयर रखरखाव प्रक्रिया को परिभाषित करता है, और SWEBOK सॉफ्टवेयर रखरखाव ज्ञान क्षेत्र रखरखाव श्रेणियों, गतिविधियों और तकनीकों पर आम सहमति मार्गदर्शन प्रदान करता है।
History
1970 के दशक में यह पहचान बढ़ी कि रखरखाव सॉफ्टवेयर लागत पर हावी है; लेहमन और बेलाडी ने बड़ी प्रणालियों के अनुभवजन्य अध्ययन से सॉफ्टवेयर विकास के नियमों को तैयार किया, और पुनर्रचना और विरासत-आधुनिकीकरण तकनीकें विकसित हुईं क्योंकि लंबे समय तक चलने वाली प्रणालियाँ पुरानी हो गईं और तकनीकी ऋण एक मान्यता प्राप्त चिंता बन गया।
Debates
- विरासत प्रणालियों का रखरखाव करें, पुनर्रचना करें या बदलें
- एक पुरानी प्रणाली को बनाए रखना जारी रखना है, पुनर्गठन करना है, या पूरी तरह से बदलना है, यह तय करना एक आवर्ती रणनीतिक बहस है, जिसमें प्रतिस्थापन के जोखिम और लागत को निरंतर रखरखाव की बढ़ती लागत और नाजुकता के खिलाफ संतुलित किया जाता है।
Key figures
- Meir M. Lehman
- Les Belady
- Ian Sommerville
Related topics
Seminal works
- lehman1980
- iso14764
- sommerville2015
Frequently asked questions
- क्या रखरखाव केवल बग्स को ठीक करना है?
- नहीं। बग फिक्सिंग (सुधारात्मक रखरखाव) केवल एक श्रेणी है; अधिकांश रखरखाव प्रयास अनुकूली और पूर्णतावादी होते हैं - सॉफ्टवेयर को नए वातावरण में समायोजित करना और क्षमताओं को जोड़ना या सुधारना - जो विशिष्ट प्रणालियों में सुधारात्मक कार्य से अधिक होते हैं।
- सॉफ्टवेयर की जटिलता समय के साथ क्यों बढ़ती है?
- जैसा कि लेहमन ने देखा, विकसित होती जरूरतों को पूरा करने के लिए निरंतर परिवर्तन संरचना और विशेष मामलों को जोड़ते हैं; जब तक जटिलता को पुनर्गठित करने और कम करने पर जानबूझकर प्रयास नहीं किया जाता है, तब तक प्रणाली को बदलना उत्तरोत्तर कठिन हो जाता है।