सॉफ्टवेयर इंजीनियरिंग में सॉफ्टवेयर कॉन्फ़िगरेशन प्रबंधन

सॉफ्टवेयर कॉन्फ़िगरेशन प्रबंधन क्या है?

सॉफ्टवेयर इंजीनियरिंग में, सॉफ्टवेयर कॉन्फ़िगरेशन प्रबंधन (SCM) सॉफ़्टवेयर डेवलपमेंट लाइफ़ साइकिल के दौरान दस्तावेज़ों, कोड और अन्य इकाइयों में परिवर्तनों को व्यवस्थित रूप से प्रबंधित, व्यवस्थित और नियंत्रित करने की एक प्रक्रिया है। प्राथमिक लक्ष्य न्यूनतम गलतियों के साथ उत्पादकता बढ़ाना है। SCM कॉन्फ़िगरेशन प्रबंधन के क्रॉस-डिसिप्लिनरी क्षेत्र का हिस्सा है और यह सटीक रूप से निर्धारित कर सकता है कि किसने कौन सा संशोधन किया है।

हमें कॉन्फ़िगरेशन प्रबंधन की आवश्यकता क्यों है?

तकनीकी सॉफ्टवेयर कॉन्फ़िगरेशन प्रबंधन प्रणाली को लागू करने के प्राथमिक कारण हैं:

  • ऐसे कई लोग हैं जो सॉफ्टवेयर पर काम कर रहे हैं और इसे लगातार अपडेट किया जा रहा है।
  • यह ऐसा मामला हो सकता है जहां एक सॉफ्टवेयर कॉन्फ़िगरेशन प्रोजेक्ट में कई संस्करण, शाखाएं, लेखक शामिल हों, और टीम भौगोलिक रूप से वितरित हो और समवर्ती रूप से काम करे
  • उपयोगकर्ता की आवश्यकता, नीति, बजट, अनुसूची में परिवर्तन को समायोजित करने की आवश्यकता है।
  • सॉफ्टवेयर विभिन्न मशीनों पर चलने में सक्षम होना चाहिए और Operaटिंग सिस्टम्स
  • हितधारकों के बीच समन्वय विकसित करने में मदद करता है
  • एससीएम प्रक्रिया किसी प्रणाली में परिवर्तन करने में शामिल लागतों को नियंत्रित करने के लिए भी लाभदायक है

कॉन्फ़िगरेशन प्रबंधन की आवश्यकता है

सॉफ़्टवेयर कॉन्फ़िगरेशन आइटम में कोई भी बदलाव अंतिम उत्पाद को प्रभावित करेगा। इसलिए, कॉन्फ़िगरेशन आइटम में बदलावों को नियंत्रित और प्रबंधित करने की आवश्यकता है।

एससीएम प्रक्रिया में कार्य

  • कॉन्फ़िगरेशन पहचान
  • आधार रेखा
  • नियंत्रण बदलें
  • कॉन्फ़िगरेशन स्थिति लेखा
  • कॉन्फ़िगरेशन ऑडिट और Revसमाचार

कॉन्फ़िगरेशन पहचान

कॉन्फ़िगरेशन पहचान सॉफ़्टवेयर सिस्टम के दायरे को निर्धारित करने की एक विधि है। इस चरण की सहायता से, आप किसी चीज़ को प्रबंधित या नियंत्रित कर सकते हैं, भले ही आपको पता न हो कि वह क्या है। यह एक विवरण है जिसमें CSCI प्रकार (कंप्यूटर सॉफ़्टवेयर कॉन्फ़िगरेशन आइटम), एक प्रोजेक्ट पहचानकर्ता और संस्करण जानकारी शामिल है।

इस प्रक्रिया के दौरान की गतिविधियाँ:

  • स्रोत कोड मॉड्यूल जैसे कॉन्फ़िगरेशन आइटम की पहचान, परीक्षण का मामला, और आवश्यकता विनिर्देश।
  • ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण का उपयोग करके SCM रिपोजिटरी में प्रत्येक CSCI की पहचान
  • प्रक्रिया मूल वस्तुओं से शुरू होती है जिन्हें समग्र वस्तुओं में समूहीकृत किया जाता है। परीक्षण में क्या, क्यों, कब और किसके द्वारा परिवर्तन किए गए हैं, इसका विवरण
  • प्रत्येक वस्तु की अपनी विशेषताएं होती हैं जो उसके नाम को पहचानती हैं जो अन्य सभी वस्तुओं के लिए स्पष्ट है
  • आवश्यक संसाधनों की सूची जैसे दस्तावेज़, फ़ाइल, उपकरण, आदि।

उदाहरण:

फ़ाइल का नाम login.php रखने के बजाय login_v1.2.php रखना चाहिए, जहाँ v1.2 फ़ाइल की संस्करण संख्या को दर्शाता है

फ़ोल्डर का नाम "कोड" रखने के बजाय इसे "कोड_डी" नाम दिया जाना चाहिए, जहां डी का अर्थ है कोड का दैनिक बैकअप लिया जाना चाहिए।

आधारभूत

बेसलाइन एक सॉफ्टवेयर कॉन्फ़िगरेशन आइटम का औपचारिक रूप से स्वीकृत संस्करण है। इसे SCM प्रक्रिया के संचालन के दौरान एक विशिष्ट समय पर नामित और तय किया जाता है। इसे केवल औपचारिक परिवर्तन नियंत्रण प्रक्रियाओं के माध्यम से ही बदला जा सकता है।

इस प्रक्रिया के दौरान की गतिविधियाँ:

  • किसी एप्लिकेशन के विभिन्न संस्करणों के निर्माण को सुगम बनाना
  • इन कार्य उत्पादों के विभिन्न संस्करणों के प्रबंधन के लिए तंत्र को परिभाषित करना और निर्धारित करना
  • कार्यात्मक आधार रेखा समीक्षित सिस्टम आवश्यकताओं के अनुरूप है
  • व्यापक रूप से उपयोग की जाने वाली आधार रेखाओं में कार्यात्मक, विकासात्मक और उत्पाद आधार रेखाएँ शामिल हैं

सरल शब्दों में, बेसलाइन का अर्थ है रिलीज के लिए तैयार।

नियंत्रण बदलें

परिवर्तन नियंत्रण एक प्रक्रियात्मक विधि है जो कॉन्फ़िगरेशन ऑब्जेक्ट में परिवर्तन किए जाने पर गुणवत्ता और स्थिरता सुनिश्चित करती है। इस चरण में, परिवर्तन अनुरोध सॉफ़्टवेयर कॉन्फ़िगरेशन प्रबंधक को प्रस्तुत किया जाता है।

इस प्रक्रिया के दौरान की गतिविधियाँ:

  • स्थिर सॉफ़्टवेयर विकास वातावरण बनाने के लिए एड-हॉक परिवर्तन को नियंत्रित करें। परिवर्तन रिपॉजिटरी के लिए प्रतिबद्ध हैं
  • अनुरोध की जाँच तकनीकी योग्यता, संभावित दुष्प्रभावों और अन्य कॉन्फ़िगरेशन ऑब्जेक्ट्स पर समग्र प्रभाव के आधार पर की जाएगी।
  • यह सॉफ्टवेयर जीवनचक्र के दौरान परिवर्तनों का प्रबंधन करता है और कॉन्फ़िगरेशन आइटम उपलब्ध कराता है

कॉन्फ़िगरेशन स्थिति लेखा

कॉन्फ़िगरेशन स्थिति लेखा SCM प्रक्रिया के दौरान प्रत्येक रिलीज़ को ट्रैक करता है। इस चरण में प्रत्येक संस्करण में क्या है और इस संस्करण में क्या परिवर्तन हुए हैं, इस पर नज़र रखना शामिल है।

इस प्रक्रिया के दौरान की गतिविधियाँ:

  • नई आधार रेखा तक पहुंचने के लिए पिछली आधार रेखा में किए गए सभी परिवर्तनों का रिकॉर्ड रखता है
  • सॉफ़्टवेयर कॉन्फ़िगरेशन को परिभाषित करने के लिए सभी आइटम की पहचान करें
  • परिवर्तन अनुरोधों की स्थिति पर नज़र रखें
  • अंतिम आधार रेखा के बाद से सभी परिवर्तनों की पूर्ण सूची
  • अगले बेसलाइन तक प्रगति को ट्रैक करने की अनुमति देता है
  • परीक्षण के लिए निकाले जाने वाले पिछले रिलीज/संस्करणों की जांच करने की अनुमति देता है

कॉन्फ़िगरेशन ऑडिट और Revसमाचार

सॉफ़्टवेयर कॉन्फ़िगरेशन ऑडिट यह सत्यापित करता है कि सभी सॉफ़्टवेयर उत्पाद आधारभूत आवश्यकताओं को पूरा करते हैं। यह सुनिश्चित करता है कि जो बनाया गया है वही वितरित किया गया है।

इस प्रक्रिया के दौरान की गतिविधियाँ:

  • कॉन्फ़िगरेशन ऑडिटिंग का संचालन लेखा परीक्षकों द्वारा किया जाता है, जिसमें यह जाँच की जाती है कि परिभाषित प्रक्रियाओं का पालन किया जा रहा है या नहीं, तथा यह सुनिश्चित किया जाता है कि SCM लक्ष्य संतुष्ट हैं।
  • कॉन्फ़िगरेशन नियंत्रण मानकों के अनुपालन को सत्यापित करना, किए गए परिवर्तनों की ऑडिटिंग और रिपोर्टिंग करना
  • एससीएम ऑडिट यह भी सुनिश्चित करता है कि प्रक्रिया के दौरान ट्रेसएबिलिटी बनी रहे।
  • यह सुनिश्चित करता है कि बेसलाइन में किए गए परिवर्तन कॉन्फ़िगरेशन स्थिति रिपोर्ट के अनुरूप हैं
  • पूर्णता और सुसंगति का सत्यापन

एससीएम प्रक्रिया के भागीदार

एससीएम में प्रमुख भागीदार निम्नलिखित हैं

एससीएम प्रक्रिया के भागीदार

1. कॉन्फ़िगरेशन प्रबंधक

  • कॉन्फ़िगरेशन प्रबंधक वह प्रमुख होता है जो कॉन्फ़िगरेशन आइटम की पहचान करने के लिए जिम्मेदार होता है।
  • सीएम ने सुनिश्चित किया कि टीम एससीएम प्रक्रिया का पालन करे
  • उसे परिवर्तन अनुरोधों को स्वीकृत या अस्वीकृत करना होगा

2। डेवलपर

  • डेवलपर को मानक विकास गतिविधियों या परिवर्तन अनुरोधों के अनुसार कोड बदलने की आवश्यकता होती है। वह कोड के कॉन्फ़िगरेशन को बनाए रखने के लिए जिम्मेदार है।
  • डेवलपर को परिवर्तनों की जांच करनी चाहिए और विवादों का समाधान करना चाहिए

3. लेखा परीक्षक

  • लेखा परीक्षक एससीएम लेखापरीक्षा और समीक्षा के लिए जिम्मेदार है।
  • रिलीज की स्थिरता और पूर्णता सुनिश्चित करने की आवश्यकता है।

4. परियोजना प्रबंधक:

  • सुनिश्चित करें कि उत्पाद एक निश्चित समय सीमा के भीतर विकसित किया गया है
  • विकास की प्रगति पर नज़र रखता है और एससीएम प्रक्रिया में समस्याओं की पहचान करता है
  • सॉफ्टवेयर सिस्टम की स्थिति के बारे में रिपोर्ट तैयार करें
  • सुनिश्चित करें कि निर्माण, परिवर्तन और परीक्षण के लिए प्रक्रियाओं और नीतियों का पालन किया जाता है

5। उपयोगकर्ता

अंतिम उपयोगकर्ता को SCM की मुख्य शर्तों को समझना चाहिए ताकि यह सुनिश्चित हो सके कि उसके पास सॉफ्टवेयर का नवीनतम संस्करण है

सॉफ्टवेयर विन्यास प्रबंधन योजना

SCMP (सॉफ्टवेयर कॉन्फ़िगरेशन मैनेजमेंट प्लानिंग) प्रक्रिया की योजना किसी प्रोजेक्ट के शुरुआती कोडिंग चरणों से शुरू होती है। योजना चरण का परिणाम SCM योजना है जिसे प्रोजेक्ट के दौरान बढ़ाया या संशोधित किया जा सकता है।

  • एससीएमपी आईईईई 828 जैसे सार्वजनिक मानक या संगठन विशिष्ट मानक का अनुसरण कर सकता है
  • यह प्रबंधन के लिए दस्तावेजों के प्रकार और दस्तावेज़ नामकरण को परिभाषित करता है। उदाहरण Test_v1
  • एससीएमपी उस व्यक्ति को परिभाषित करता है जो संपूर्ण एससीएम प्रक्रिया और बेसलाइन के निर्माण के लिए जिम्मेदार होगा।
  • संस्करण प्रबंधन और परिवर्तन नियंत्रण के लिए नीतियों को ठीक करें
  • एससीएम प्रक्रिया के दौरान उपयोग किए जा सकने वाले उपकरणों को परिभाषित करें
  • कॉन्फ़िगरेशन जानकारी रिकॉर्ड करने के लिए कॉन्फ़िगरेशन प्रबंधन डेटाबेस.

सॉफ़्टवेयर कॉन्फ़िगरेशन प्रबंधन उपकरण

किसी भी परिवर्तन प्रबंधन सॉफ्टवेयर में निम्नलिखित 3 मुख्य विशेषताएं होनी चाहिए:

समवर्ती प्रबंधन:

जब दो या उससे ज़्यादा कार्य एक ही समय पर हो रहे हों, तो इसे समवर्ती संचालन कहते हैं। SCM के संदर्भ में समवर्तीता का मतलब है कि एक ही फ़ाइल को एक ही समय में कई लोगों द्वारा संपादित किया जा रहा है।

यदि SCM उपकरणों के साथ समवर्तीता को सही ढंग से प्रबंधित नहीं किया जाता है, तो इससे कई गंभीर समस्याएं उत्पन्न हो सकती हैं।

संस्करण नियंत्रण:

एससीएम आर्काइविंग विधि का उपयोग करता है या फ़ाइल में किए गए हर बदलाव को सहेजता है। आर्काइविंग या सेव सुविधा की मदद से, समस्याओं के मामले में पिछले संस्करण पर वापस जाना संभव है।

Syncआधुनिकीकरण:

उपयोगकर्ता एक से अधिक फ़ाइलें या रिपॉजिटरी की पूरी कॉपी चेकआउट कर सकते हैं। उपयोगकर्ता फिर आवश्यक फ़ाइल पर काम करता है और रिपॉजिटरी में वापस परिवर्तनों की जाँच करता है। वे अन्य टीम सदस्यों द्वारा किए गए परिवर्तनों के साथ अपडेट रहने के लिए अपनी स्थानीय कॉपी को सिंक्रनाइज़ कर सकते हैं।

निम्नलिखित लोकप्रिय उपकरण हैं

1. गिट: Git एक मुफ़्त और ओपन सोर्स टूल है जो वर्जन कंट्रोल में मदद करता है। इसे सभी तरह के प्रोजेक्ट को तेज़ी और कुशलता से संभालने के लिए डिज़ाइन किया गया है।

डाउनलोड लिंक: https://git-scm.com/

2। टीम Foundation सर्वर: टीम Foundation यह उपकरणों और प्रौद्योगिकियों का एक समूह है जो टीम को उत्पाद निर्माण के लिए सहयोग और समन्वय करने में सक्षम बनाता है।

डाउनलोड लिंक: https://azure.microsoft.com/en-us/services/devops/server/

3. उत्तरदायीयह एक ओपन सोर्स सॉफ्टवेयर कॉन्फ़िगरेशन प्रबंधन उपकरण है। कॉन्फ़िगरेशन प्रबंधन के अलावा यह एप्लिकेशन परिनियोजन और कार्य स्वचालन भी प्रदान करता है।

डाउनलोड लिंक: https://www.ansible.com/

अधिक SW कॉन्फ़िगरेशन टूल देखें: https://www.guru99.com/software-configuration-management-tools.html

निष्कर्ष

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