सॉफ़्टवेयर इंजीनियरिंग
मुख्य तथ्य
- 1968 के NATO सॉफ़्टवेयर इंजीनियरिंग सम्मेलन ने बड़े सॉफ़्टवेयर प्रोजेक्टों की लागत, समय और गुणवत्ता की समस्या को अनुशासित इंजीनियरिंग विषय के रूप में...
- 1970 में विंस्टन डब्ल्यू. रॉयस ने क्रमिक विकास दृष्टिकोण बताया, जिसे बाद में वाटरफॉल मॉडल से जोड़ा गया।
- 1975 में फ़्रेडरिक पी. ब्रूक्स ने द मिथिकल मैन-मंथ प्रकाशित की, जिससे समय-सारिणी फिसलने और देर से जनशक्ति जोड़ने की लागत क्लासिक सॉफ़्टवेयर-प्रोजेक्ट...
- 1976 में थॉमस मैककेब ने साइक्लोमैटिक कॉम्प्लेक्सिटी दी, जो नियंत्रण-प्रवाह ग्राफ से स्वतंत्र पथों और परीक्षण-कठिनाई का अनुमान लगाती है।
- 1986 में बैरी बोहम ने स्पाइरल मॉडल को व्यवस्थित रूप से प्रस्तुत किया; इसका केंद्रीय विचार जोखिम-विश्लेषण के साथ पुनरावृत्त विकास है।
मुख्य बिंदु
- 1
1968 के NATO सॉफ़्टवेयर इंजीनियरिंग सम्मेलन ने बड़े सॉफ़्टवेयर प्रोजेक्टों की लागत, समय और गुणवत्ता की समस्या को अनुशासित इंजीनियरिंग विषय के रूप में पहचाना।
- 2
1970 में विंस्टन डब्ल्यू. रॉयस ने क्रमिक विकास दृष्टिकोण बताया, जिसे बाद में वाटरफॉल मॉडल से जोड़ा गया।
- 3
1975 में फ़्रेडरिक पी. ब्रूक्स ने द मिथिकल मैन-मंथ प्रकाशित की, जिससे समय-सारिणी फिसलने और देर से जनशक्ति जोड़ने की लागत क्लासिक सॉफ़्टवेयर-प्रोजेक्ट सबक बने।
- 4
1976 में थॉमस मैककेब ने साइक्लोमैटिक कॉम्प्लेक्सिटी दी, जो नियंत्रण-प्रवाह ग्राफ से स्वतंत्र पथों और परीक्षण-कठिनाई का अनुमान लगाती है।
- 5
1986 में बैरी बोहम ने स्पाइरल मॉडल को व्यवस्थित रूप से प्रस्तुत किया; इसका केंद्रीय विचार जोखिम-विश्लेषण के साथ पुनरावृत्त विकास है।
- 6
2001 के एजाइल मेनिफेस्टो ने छोटे इटरेशन, ग्राहक सहयोग और बदलती आवश्यकताओं के प्रति लचीलेपन को प्राथमिकता दी।
- 7
2005 में लिनस टॉर्वाल्ड्स ने Git बनाया, जो सहयोगी सॉफ़्टवेयर विकास के लिए व्यापक रूप से उपयोग होने वाला वितरित संस्करण-नियंत्रण तंत्र है।
आगे पढ़ें
सॉफ़्टवेयर इंजीनियरिंग का अर्थ और दायरा क्या है?
सॉफ़्टवेयर इंजीनियरिंग का अर्थ सॉफ़्टवेयर को आवश्यकता समझने से लेकर डिज़ाइन, कोडिंग, परीक्षण, परिनियोजन और रखरखाव तक एक अनुशासित जीवन-चक्र में बनाना और संभालना है। सॉफ़्टवेयर इंजीनियरिंग का अर्थ केवल प्रोग्राम लिखना नहीं है। यह आवश्यकता समझने, मॉडल बनाने, डिज़ाइन तय करने, कोडिंग, परीक्षण, परिनियोजन और रखरखाव तक पूरी प्रक्रिया को अनुशासित ढंग से चलाने का विषय है। इसका लक्ष्य ऐसा सॉफ़्टवेयर बनाना है जो सही काम करे, समय और लागत के भीतर बने, बदलती जरूरतों को संभाल सके और उपयोगकर्ता के लिए भरोसेमंद रहे। भर्ती परीक्षा में इसका मूल अंतर याद रखना जरूरी है: प्रोग्रामिंग एक गतिविधि है, जबकि सॉफ़्टवेयर इंजीनियरिंग पूरी जीवन-चक्र प्रक्रिया है।
अंतरराष्ट्रीय मानकीकरण संगठन के ISO/IEC 25010:2011 गुणवत्ता मॉडल में सॉफ़्टवेयर उत्पाद गुणवत्ता की 8 मुख्य विशेषताएँ दी गई हैं। इसीलिए सॉफ़्टवेयर इंजीनियरिंग का दायरा केवल “चल गया या नहीं चला” तक सीमित नहीं रहता; इसमें कार्य-उपयुक्तता, भरोसा, प्रदर्शन, प्रयोज्यता, सुरक्षा, अनुकूलता, रखरखाव और पोर्टेबिलिटी जैसे सवाल भी आते हैं। परीक्षा में इस बात को व्यावहारिक भाषा में लिखें: अच्छा सॉफ़्टवेयर वही है जो सही काम करे, बदला जा सके, समझ में आए और उपयोगकर्ता को बार-बार असुरक्षित या अटकता हुआ अनुभव न दे।
सॉफ़्टवेयर की प्रकृति हार्डवेयर से अलग होती है। यह घिसता नहीं, पर गलत आवश्यकता, खराब डिज़ाइन, दोषपूर्ण कोड या अनियंत्रित बदलाव से इसकी गुणवत्ता गिरती है। बड़े सरकारी या शैक्षिक पोर्टल, जैसे किसी राजस्थान भर्ती परीक्षा का आवेदन तंत्र, सिर्फ़ फ़ॉर्म दिखाने का काम नहीं करते; वे डेटा सत्यापन, भुगतान, प्रवेश-पत्र, सुरक्षा और रिपोर्टिंग जैसी कई जिम्मेदारियाँ निभाते हैं। इसलिए योजना, दस्तावेज़ीकरण, कॉन्फ़िगरेशन नियंत्रण और परीक्षण इस विषय की रीढ़ हैं।
याद रखने योग्य बात: अच्छा सॉफ़्टवेयर वही है जो सही, समझने योग्य, परीक्षणयोग्य, रखरखावयोग्य और उपयोगकर्ता की वास्तविक जरूरत से जुड़ा हो।
पूरा नोट खोलें
यह सार्वजनिक पृष्ठ पहला उपलब्ध खंड दिखाता है। स्टडी पैक पूरा विषय और सभी पुनरावलोकन सामग्री खोलता है।
7 और खंड पूरे नोट में हैं
स्टडी पैक खोलें