सॉफ़्टवेयर क्राइसिस: Difference between revisions

From Vigyanwiki
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:


 
'''सॉफ़्टवेयर क्राइसिस'''  शब्द है जिसका उपयोग [[कंप्यूटिंग विज्ञान]] के प्रारंभिक दिनों में आवश्यक समय में उपयोगी और एफीसिएंट कंप्यूटर प्रोग्राम लिखने की कठिनाई के लिए किया जाता था। सॉफ्टवेयर क्राइसिसकंप्यूटर की शक्ति में तेजी से वृद्धि और समस्याओं की कॉम्प्लेक्सिटी के कारण था, इस प्रकार इनका सामना नहीं किया जा सका था। सॉफ़्टवेयर की कॉम्प्लेक्सिटी में वृद्धि के साथ, अनेक सॉफ़्टवेयर समस्याएँ उत्पन्न हुईं क्योंकि वर्तमान विधि अपर्याप्त थे।
सॉफ़्टवेयर संकट शब्द है जिसका उपयोग [[कंप्यूटिंग विज्ञान]] के शुरुआती दिनों में आवश्यक समय में उपयोगी और कुशल कंप्यूटर प्रोग्राम लिखने की कठिनाई के लिए किया जाता था। सॉफ्टवेयर संकट कंप्यूटर की शक्ति में तेजी से वृद्धि और समस्याओं की जटिलता के कारण था, जिनसे निपटा नहीं जा सका। सॉफ़्टवेयर की जटिलता में वृद्धि के साथ, कई सॉफ़्टवेयर समस्याएँ उत्पन्न हुईं क्योंकि मौजूदा तरीके अपर्याप्त थे।


== इतिहास ==
== इतिहास ==
सॉफ़्टवेयर संकट शब्द 1968 में जर्मनी के [[गार्मिश]] में पहले [[नाटो सॉफ्टवेयर इंजीनियरिंग सम्मेलन]] में उपस्थित कुछ लोगों द्वारा गढ़ा गया था।<ref name="nato">{{cite web|url=http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/index.html|title=NATO Software Engineering Conference 1968|access-date=26 April 2017}}</ref><ref name="nato2">{{cite web|url=http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF|title=Report on a conference sponsored by the NATO SCIENCE COMMITTEE Garmisch, Germany, 7th to 11th October 1968|access-date=26 April 2017}}</ref> [[एडवर्ड डिज्क्स्ट्रा]] का 1972 [[ ट्यूरिंग पुरस्कार |ट्यूरिंग पुरस्कार]] व्याख्यान इसी समस्या का संदर्भ देता है:<ref name="ewd340">{{cite web|url=http://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD340.html|title=E.W.Dijkstra Archive: The Humble Programmer (EWD 340)|access-date=26 April 2017}}</ref>
सॉफ़्टवेयर क्राइसिसशब्द 1968 में जर्मनी के [[गार्मिश]] में पहले [[नाटो सॉफ्टवेयर इंजीनियरिंग सम्मेलन]] में उपस्थित कुछ लोगों द्वारा लिखा गया था।<ref name="nato">{{cite web|url=http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/index.html|title=NATO Software Engineering Conference 1968|access-date=26 April 2017}}</ref><ref name="nato2">{{cite web|url=http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF|title=Report on a conference sponsored by the NATO SCIENCE COMMITTEE Garmisch, Germany, 7th to 11th October 1968|access-date=26 April 2017}}</ref> [[एडवर्ड डिज्क्स्ट्रा]] का 1972 [[ ट्यूरिंग पुरस्कार |ट्यूरिंग पुरस्कार]] व्याख्यान इसी समस्या का संदर्भ देता है:<ref name="ewd340">{{cite web|url=http://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD340.html|title=E.W.Dijkstra Archive: The Humble Programmer (EWD 340)|access-date=26 April 2017}}</ref>


{{Quotation|text=The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.|author=[[Edsger Dijkstra]]|title=''[[Edsger Dijkstra#Writings by E.W. Dijkstra|The Humble Programmer (EWD340)]]''|source=[[Communications of the ACM]]}}
{{Quotation|text=सॉफ़्टवेयर संकट का प्रमुख कारण यह है कि मशीनें मैनिफोल्ड अधिक शक्तिशाली हो गई हैं! इसे पूर्णतः स्पष्ट रूप से कहें तो: जब तक मशीनें नहीं थीं, प्रोग्रामिंग में कोई समस्या नहीं थी; जब हमारे पास कुछ अशक्त कंप्यूटर थे, तो प्रोग्रामिंग एक हल्की समस्या बन गई थी, और अब हमारे पास विशाल कंप्यूटर हैं, तो प्रोग्रामिंग भी उतनी ही बड़ी समस्या बन गई है।|author=[[एडस्जर डिज्क्स्ट्रा]]|title=''[[एडस्जर डिज्क्स्ट्रा#.डब्ल्यू. डिज्क्स्ट्रा द्वारा लिखित|द हंबल प्रोग्रामर (ईडब्ल्यूडी340)]]''|source=[[एसीएम के संचार]]}}


== कारण ==
== कारण ==
सॉफ़्टवेयर संकट के कारण हार्डवेयर की समग्र जटिलता और सॉफ़्टवेयर विकास प्रक्रिया से जुड़े थे। संकट कई तरीकों से प्रकट हुआ:
सॉफ़्टवेयर क्राइसिसके कारण हार्डवेयर की समग्र कॉम्प्लेक्सिटी और सॉफ़्टवेयर विकास प्रक्रिया से जुड़े थे। क्राइसिसअनेक विधियों से प्रकट हुआ था:
* परियोजनाएं ओवर-बजट चल रही हैं
* परियोजनाएं ओवर-बजट चल रही हैं
* परियोजनाएं समय से अधिक चल रही हैं
* परियोजनाएं समय से अधिक चल रही हैं
* [[कार्यक्रम अनुकूलन]]
* [[कार्यक्रम अनुकूलन|प्रोग्राम अनुकूलन]]
* सॉफ्टवेयर निम्न गुणवत्ता का था
* सॉफ्टवेयर निम्न गुणवत्ता का था
* सॉफ़्टवेयर अक्सर आवश्यकताओं को पूरा नहीं करता
* सॉफ़्टवेयर अधिकांशतः आवश्यकताओं को पूरा नहीं करता
* [[स्पेगेटी कोड]]
*परियोजनाएँ अव्यवस्थित थीं और कोड को बनाए रखना कठिन था
* [[वाष्प पात्र]]
* [[वाष्प पात्र|सॉफ्टवेयर कभी डिलीवर नहीं किया गया]]


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


== यह भी देखें ==
== यह भी देखें ==
* [[ऐ सर्दी]]
* [[ऐ सर्दी|एआई विंटर]]
* [[विफल और अधिक बजट वाले कस्टम सॉफ़्टवेयर प्रोजेक्टों की सूची]]
* [[विफल और अधिक बजट वाले कस्टम सॉफ़्टवेयर प्रोजेक्टों की सूची]]
* [[फ्रेड ब्रूक्स]]
* [[फ्रेड ब्रूक्स]]
* [[सिस्टम दुर्घटना]]
* [[सिस्टम दुर्घटना]]
* [[तकनीकी विलक्षणता]]
* [[तकनीकी विलक्षणता|प्रौद्योगिकी विलक्षणता]]


== संदर्भ ==
== संदर्भ ==
{{Reflist}}
{{Reflist}}
== बाहरी संबंध ==
== बाहरी संबंध                                                 ==
* [http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF Edsger Dijkstra: The Humble Programmer] (PDF file, 473kB)
* [http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF Edsger Dijkstra: The Humble Programmer] (PDF file, 473kB)
* [[Brian Randell]]: [http://homepages.cs.ncl.ac.uk/brian.randell/NATO/ The NATO Software Engineering Conferences]
* [[Brian Randell]]: [http://homepages.cs.ncl.ac.uk/brian.randell/NATO/ The NATO Software Engineering Conferences]
Line 41: Line 40:
[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 26/07/2023]]
[[Category:Created On 26/07/2023]]
[[Category:Vigyan Ready]]

Latest revision as of 10:20, 26 November 2023

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

इतिहास

सॉफ़्टवेयर क्राइसिसशब्द 1968 में जर्मनी के गार्मिश में पहले नाटो सॉफ्टवेयर इंजीनियरिंग सम्मेलन में उपस्थित कुछ लोगों द्वारा लिखा गया था।[1][2] एडवर्ड डिज्क्स्ट्रा का 1972 ट्यूरिंग पुरस्कार व्याख्यान इसी समस्या का संदर्भ देता है:[3]

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

कारण

सॉफ़्टवेयर क्राइसिसके कारण हार्डवेयर की समग्र कॉम्प्लेक्सिटी और सॉफ़्टवेयर विकास प्रक्रिया से जुड़े थे। क्राइसिसअनेक विधियों से प्रकट हुआ था:

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

यह भी देखें

संदर्भ

  1. "NATO Software Engineering Conference 1968". Retrieved 26 April 2017.
  2. "Report on a conference sponsored by the NATO SCIENCE COMMITTEE Garmisch, Germany, 7th to 11th October 1968" (PDF). Retrieved 26 April 2017.
  3. "E.W.Dijkstra Archive: The Humble Programmer (EWD 340)". Retrieved 26 April 2017.

बाहरी संबंध