Software development cycle, project management and categories in hindi सॉफ्टवेयर विकास चक्र के तथ्य।

 

सॉफ्टवेयर विकास चक्र (software development cycle)


सॉफ्टवेयर डेवलपमेंट लाइफ़ साइकिल (SDLC) एक लगभग पाँच-चरणीय प्रक्रिया है जो प्रत्येक सॉफ्टवेयर डेवलपमेंट प्रोजेक्ट के चरणों का वर्णन करती है। इन दिनों, SDLC को सिस्टम और एप्लिकेशन की डिलीवरी और/या सेवानिवृत्ति पर बढ़ते फोकस के कारण एप्लिकेशन लाइफ़साइकिल मैनेजमेंट (ALM) के रूप में जाना जा सकता है। हालाँकि SDLC और ALM के विकास चरण समान हैं।

       
Software development cycle, project management and categories in hindi सॉफ्टवेयर विकास चक्र के तथ्य। Technology, class notes PDF file download process


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


1 नियोजन -

 व्यवसाय चालक, जोखिम मूल्यांकन, उपयोग के मामले, परियोजनाओं की योजना बनाना।

 भूमिका -व्यवसाय विश्लेषक, प्रबंधक


2 कार्यान्वयन

वास्तुकला डिजाइन, कोड समीक्षा, स्रोत नियंत्रण भूमिका - वास्तुकार, विकास टीम


3 परीक्षण - परिदृश्य संचालित स्वचालन, अन्वेषणात्मक परीक्षण 

भूमिका - परीक्षण टीम


4 परिनियोजन - निर्माण प्रबंधन,लाइव हो जाना, भूमिका- परिनियोजन विशेषज्ञ


5 रखरखाव - अनुकूलन, सुधार, संवर्द्धन,

 भूमिका - विकास और परीक्षण टीम


योजना:- किसी भी सॉफ्टवेयर उत्पाद को विकसित करने में पहला चरण योजना बनाना है। योजना चरण के दौरान, कंपनी की प्रबंधन टीम बाजार अनुमानों, प्रतिस्पर्धी माहौल और अन्य व्यावसायिक चालकों के आधार पर विस्तृत व्यावसायिक आवश्यकताओं को निर्धारित करती है। प्रबंधक व्यावसायिक जोखिम के स्वीकार्य स्तर भी निर्धारित करते हैं और बजट और समयरेखा के घटकों की रूपरेखा तैयार करते हैं। एक बार जब यह समझ में आ जाता है कि उत्पाद को व्यवसाय की रणनीति में क्या भूमिका निभानी है, तो अगला कदम व्यवसाय विश्लेषकों (कभी-कभी परियोजना प्रबंधक या कार्यक्रम प्रबंधक कहा जाता है) के लिए सुविधा आवश्यकताओं को निर्धारित करना है। यह समझने के लिए कि किन सुविधाओं की आवश्यकता है, व्यवसाय विश्लेषक विस्तृत परिदृश्यों के साथ ग्राहक उपयोग के मामले बनाते हैं कि उत्पाद का उपयोग कैसे किया जाना है और उत्पाद ग्राहक के लिए कौन सी समस्याएं हल करेगा। ग्राहक अनुभव पर बारीकी से नज़र डालकर, व्यवसाय विश्लेषक प्राथमिकता देने में सक्षम होते हैं कि उत्पाद की सफलता के लिए कौन सी सुविधाएँ सबसे आवश्यक हैं।  वे इस ज्ञान का लाभ उठाकर परियोजना के दायरे को परिभाषित करते हैं और एक विनिर्देश दस्तावेज़ बनाते हैं, जिसमें विस्तार से बताया जाता है कि उत्पाद के भीतर प्रत्येक सुविधा को कैसे कार्य करना चाहिए। अंत में, व्यवसाय विश्लेषक, सुविधा विकास और रिलीज़ प्रक्रियाओं में प्रमुख मील के पत्थर के लिए समय सीमा के साथ एक संपूर्ण परियोजना योजना की रूपरेखा तैयार करते हैं, जिसमें उपलब्ध कर्मियों और शेड्यूल में किसी भी जोखिम को ध्यान में रखा जाता है। 2. Software engineering approach


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


परिदृश्य-संचालित परीक्षण मामलों, मैनुअल परीक्षण या खोजपूर्ण परीक्षण का उपयोग कर सकती है। जब परीक्षण टीम को कोड में कोई समस्या मिलती है, तो वे इसे ठीक करने के लिए विकास टीम को वापस रिपोर्ट करते हैं। परीक्षण चरण पूरी तरह से अलग नहीं है, लेकिन एक सतत प्रक्रिया है जो उत्पाद के परिनियोजन के लिए तैयार होने तक कार्यान्वयन चरण के साथ जुड़ती है।


4. परिनियोजन:- परिनियोजन चरण वह चरण है जिस पर उत्पाद को पूर्ण माना जाता है और ग्राहकों को जारी किया जाता है। इस “गो लाइव” मील के पत्थर तक पहुंचने के लिए, उत्पाद अंतिम संस्करण के पूरा होने से पहले आंतरिक रिलीज या बीटा रिलीज के कई दौर से गुजर सकता है।  उत्पाद का पूर्वावलोकन संस्करण बनाने के अलावा, ये प्रारंभिक रिलीज़ परिनियोजन टीम को नियोजित परिनियोजन प्रक्रियाओं को आज़माने और अंतिम रिलीज़ से पहले परिनियोजन रणनीतियों को परिष्कृत करने की अनुमति भी देते हैं। प्रत्येक परिनियोजन मील के पत्थर के दौरान, विकास और परीक्षण टीमों के विशेषज्ञ निर्माण और रिलीज़ प्रक्रिया का प्रबंधन करते हैं ताकि सभी विकास और परीक्षण कार्यों को एक सुसंगत, कार्यशील सॉफ़्टवेयर एप्लिकेशन में विलय किया जा सके। वे सॉफ़्टवेयर की ग्राहक-सामना करने वाली स्थापना प्रक्रिया बनाने और एप्लिकेशन के लिए किसी भी आवश्यक सुरक्षा हस्ताक्षर को पूरा करने के प्रभारी भी हो सकते हैं। सभी आंतरिक या बीटा रिलीज़ पूर्ण होने के बाद, परिनियोजन टीम उत्पाद को ग्राहकों तक अंतिम रिलीज़ के माध्यम से ले जाती है। 5. रखरखाव:- एक बार जब उत्पाद ग्राहकों को तैनात कर दिया जाता है, तो यह रखरखाव चरण में प्रवेश करता है। इस चरण के दौरान, विकास और परीक्षण टीम के विशेषज्ञ यह देखने के लिए उत्पाद की “जंगली” निगरानी करते हैं कि यह नियमित ग्राहक उपयोग के लिए कैसे अनुकूल हो रहा है।  यदि ग्राहकों को किसी अप्रत्याशित समस्या का सामना करना पड़ता है, तो रखरखाव टीम सुधारात्मक कार्रवाई करती है और समस्या का समाधान करने के लिए एक फिक्स जारी करती है। इसके अलावा, रखरखाव टीम - जिसमें व्यवसाय विश्लेषक भी शामिल हो सकते हैं - ग्राहक प्रतिक्रिया की निगरानी करती है और सॉफ़्टवेयर के अगले संस्करण के लिए संवर्द्धन की योजना बनाना शुरू करती है। सुधार के लिए कोई भी विचार या सुझाव योजना चरण में शामिल किया जाएगा जब उत्पाद के v2 के लिए सॉफ़्टवेयर विकास जीवन चक्र नए सिरे से शुरू होता है।



परियोजना प्रबंधन(projects management)

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


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


प्रोजेक्ट मैनेजमेंट ट्राएंगल


प्रोजेक्ट मैनेजमेंट की आधारभूत गणनाएं आमतौर पर तीन महत्वपूर्ण पहलुओं - समय, कीमत और दायरा के इर्द-गिर्द घूमती हैं। किसी भी पहलू को दूसरे को प्रभावित किए बिना बदला नहीं जा सकता। प्रत्येक पहलू प्रोजेक्ट मैनेजमेंट ट्राएंगल की तीन बाधाओं की तरह काम करता है। अधिक सटीक रूप से -


समय: यह वह समय अवधि है, जो प्रोजेक्ट को पूरा करने के लिए आवश्यक होगी।


लागत: प्रोजेक्ट को पूरा करने के लिए किए जाने वाले व्यय की कुल राशि।


दायरा: इसे आगे दो और पहलुओं में वर्गीकृत किया जा सकता है - गुणवत्ता और प्रदर्शन।


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


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



परियोजना श्रेणियाँ( project categories)


क्रॉफोर्ड एट अल (2004), ने अपने हाल ही में पीएमआई द्वारा वित्तपोषित शोध में निष्कर्ष निकाला कि सभी संगठनों को, जिनके पास बड़ी संख्या में परियोजनाएँ हैं, उन्हें वर्गीकृत करना चाहिए और करते भी हैं, हालाँकि श्रेणियाँ हमेशा तुरंत दिखाई नहीं देती हैं। इस व्यापक वास्तविक वर्गीकरण को अक्सर हल्के में लिया जाता है: "हम हमेशा ऐसा ही करते हैं।" यहाँ मूल प्रश्न यह नहीं है कि परियोजनाओं को वर्गीकृत किया जाना चाहिए या नहीं, बल्कि यह है कि व्यावहारिक उद्देश्यों के लिए उन्हें सबसे अच्छे तरीके से कैसे वर्गीकृत किया जा सकता है? दो निकट से संबंधित प्रश्न हैं: • परियोजना वर्गीकरण के उद्देश्य क्या हैं? • परियोजनाओं को वर्गीकृत करने के लिए कौन से मानदंड या परियोजना विशेषताएँ सबसे अच्छी तरह से उपयोग की जाती हैं? क्रॉफोर्ड कहते हैं कि यह जाने बिना कि वर्गीकरण से क्या उद्देश्य पूरा होगा, परियोजनाओं को वर्गीकृत करने का प्रयास करना बेकार है। “परियोजनाओं का वर्गीकरण संगठनों के लिए फायदेमंद और उपयोगी है, लेकिन इसे सैद्धांतिक रूप से नहीं बल्कि व्यावहारिक रूप से उन्मुख होना चाहिए।  फोकस समूहों ने पुष्टि की कि वर्गीकरण प्रणालियों के विकास में विचार किए जाने की आवश्यकता के कुछ इच्छित और अनपेक्षित परिणाम हैं, जैसे स्वायत्तता की हानि, अवरोधों और साइलो का निर्माण और वर्गीकरण प्रणाली से समावेश या बहिष्करण के कारण दृश्यता या अदृश्यता के प्रभाव। वर्गीकरण बनाम वर्गीकरण: कुछ शब्दकोश इन शब्दों का परस्पर उपयोग करते हैं, लेकिन संभावित अर्थ संबंधी भ्रम से बचने के लिए इस पत्र में वर्गीकरण शब्द का लगातार उपयोग किया जाता है ताकि समान विशेषताओं या गुणों वाली वस्तुओं के समूह की पहचान की जा सके। एक वस्तु को एक से अधिक श्रेणियों में रखा जा सकता है; दूसरे शब्दों में, श्रेणियाँ परस्पर अनन्य नहीं हैं। एक वर्ग का उपयोग अक्सर वस्तुओं के एक समूह को दर्शाने के लिए अधिक सख्ती से किया जाता है जिसे केवल एक निश्चित वर्ग में रखा जा सकता है; इसलिए इस अर्थ में उपयोग किए जाने पर वर्ग परस्पर अनन्य होते हैं।  परियोजना वर्गीकरण प्रणाली के उद्देश्य और उपयोग: परियोजनाओं को वर्गीकृत करने के लिए एक सहमत, वैश्विक प्रणाली का अस्तित्व प्रत्येक परियोजना श्रेणी/उप-श्रेणी के लिए निरंतर सुधार को सक्षम और बढ़ावा देगा:


• रणनीतिक परियोजना पोर्टफोलियो की परिभाषा और विकास रणनीतियों के साथ उनका संरेखण


• सर्वोत्तम परियोजना जीवन चक्र (या जीवन अवधि) मॉडल का चयन और विकास software engineering challenges


• सर्वोत्तम प्रथाओं की पहचान और अनुप्रयोग


परियोजना चयन और प्राथमिकता


योजना, निष्पादन और नियंत्रण विधियाँ और टेम्पलेट


जोखिम प्रबंधन विधियाँ


शासन नीतियाँ और प्रक्रियाएँ


विशेष सॉफ़्टवेयर अनुप्रयोगों का विकास


• ज्ञान के विशेष निकायों का निर्माण


• परियोजना प्रबंधकों और परियोजना प्रबंधन विशेषज्ञों का चयन और प्रशिक्षण


• पीएम शिक्षा और प्रशिक्षण पर ध्यान केंद्रित करना और सुधारना


• अधिक प्रभावी व्यक्तिगत पीएम प्रमाणन और कैरियर योजना


• अधिक केंद्रित शोध प्रयास


• पेशेवर बैठकों में पेपर प्रेजेंटेशन ट्रैक का आयोजन


• साथ ही अतिरिक्त लाभ जो अभी तक पहचाने नहीं गए हैं।


 विभिन्न प्रकार की परियोजनाएं महत्वपूर्ण हैं क्योंकि विभिन्न प्रकार के कार्यों के लिए अलग-अलग परियोजना दृष्टिकोण की आवश्यकता होती है, जैसे सूचना प्रणाली बनाम एम्बेडेड सिस्टम, उद्देश्य-आधारित बनाम उत्पाद-आधारित

Faq

Question-1 सॉफ्टवेयर विकास चक्र के कौन कौन से चरण होते है?

Answer - सॉफ्टवेयर विकास चक्र के निम्न चरण होते है।

  • योजना बनाना 

  • योजना को कार्यान्वित करना।

  • परीक्षण करना।

  • प्रिनियोजन करना।

  • रखरखाव करना।


Question-2 सॉफ्टवेयर विकास चक्र मै प्रबंधन क्यो आवश्यक है?

Answer - 

  • समय -जिस अवधि मै योजना का पूरा होना होता है उसका निर्धारण प्रबंधन करता है 

  • लागत मूल्य - प्रोजेक्ट पर खर्च होने वाले बजट को तय करना

  • सीमित दायरा- प्रोजेक्ट के लिए हर प्रकार का मूल्यांकन करके एक दायरा स्थापित करना।

कोई टिप्पणी नहीं

Blogger द्वारा संचालित.