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