software engineering in Hindi
सॉफ्टवेयर इंजीनियरिंग को उपयोगकर्ता की आवश्यकताओं का विश्लेषण करने और फिर सॉफ्टवेयर एप्लिकेशन को डिजाइन, निर्माण और परीक्षण करने की प्रक्रिया के रूप में परिभाषित किया गया है जो उन आवश्यकताओं को पूरा करेगा।
definition in software engineering Tutorial in Hindi
आइए सॉफ्टवेयर इंजीनियरिंग की विभिन्न परिभाषाओं को देखें:
- IEEE, अपने मानक 610.12-1990 में, सॉफ्टवेयर इंजीनियरिंग को एक व्यवस्थित, अनुशासित अनुप्रयोग के रूप में परिभाषित करता है, जो सॉफ्टवेयर के विकास, संचालन और रखरखाव के लिए एक गणना योग्य दृष्टिकोण है।
- फ़्रिट्ज़ बाउर ने इसे 'establishment और standard engineering principles' के रूप में परिभाषित किया। यह आपको आर्थिक रूप से ऐसा सॉफ़्टवेयर प्राप्त करने में मदद करता है जो विश्वसनीय है और वास्तविक मशीनों पर कुशलता से काम करता है।
- Boehm सॉफ्टवेयर इंजीनियरिंग को परिभाषित करता है, जिसमें शामिल है, 'कंप्यूटर प्रोग्राम के रचनात्मक डिजाइन और निर्माण के लिए वैज्ञानिक ज्ञान का व्यावहारिक अनुप्रयोग। इसमें उन्हें विकसित करने, संचालित करने और बनाए रखने के लिए आवश्यक संबद्ध दस्तावेज भी शामिल हैं।'
What was the Software Crisis?
- यह 1960 के दशक के अंत में था जब कई सॉफ्टवेयर प्रोजेक्ट विफल हो गए थे।
- कई सॉफ्टवेयर बजट से अधिक हो गए। आउटपुट एक अविश्वसनीय सॉफ्टवेयर था जिसे बनाए रखना महंगा है।
- बड़ा सॉफ्टवेयर मुश्किल और रखरखाव के लिए काफी महंगा था।
- बहुत सारे सॉफ्टवेयर ग्राहक की बढ़ती आवश्यकताओं को पूरा करने में सक्षम नहीं हैं।
- जब भी इसकी हार्डवेयर क्षमता में वृद्धि होती है तो सॉफ्टवेयर परियोजनाओं की जटिलताएं बढ़ जाती हैं।
- नए सॉफ्टवेयर बनाने की क्षमता की तुलना में नए सॉफ्टवेयर की मांग तेजी से बढ़ी।
- उपरोक्त सभी मुद्दे 'सॉफ्टवेयर संकट' की ओर ले जाते हैं।
Solution In software engineering in Hindi
समस्या का समाधान असंगठित कोडिंग प्रयास को एक सॉफ्टवेयर इंजीनियरिंग अनुशासन में बदलना था। इन इंजीनियरिंग मॉडलों ने कंपनियों को संचालन को सुव्यवस्थित करने और ग्राहकों की आवश्यकताओं को पूरा करने वाले सॉफ़्टवेयर प्रदान करने में मदद की।
- 1970 के दशक के उत्तरार्ध में सॉफ्टवेयर इंजीनियरिंग सिद्धांतों का व्यापक उपयोग देखा गया।
- 1980 के दशक में सॉफ्टवेयर इंजीनियरिंग प्रक्रिया का स्वचालन और (CASE) कंप्यूटर-एडेड सॉफ्टवेयर इंजीनियरिंग का विकास देखा गया।
- 1990 के दशक में आईएसओ 9001 की तरह ही गुणवत्ता और प्रक्रियाओं के मानक परियोजनाओं के 'प्रबंधन' पहलुओं पर अधिक जोर दिया गया है।
Popularity of Software Engineering in Hindi
सॉफ्टवेयर इंजीनियरिंग की लोकप्रियता के पीछे महत्वपूर्ण कारण इस प्रकार हैं:
- Large software - हमारे वास्तविक जीवन में, घर या भवन की तुलना में दीवार बनाना काफी अधिक आरामदायक होता है। उसी तरह जैसे-जैसे सॉफ्टवेयर का आकार बड़ा होता जाता है, सॉफ्टवेयर इंजीनियरिंग आपको सॉफ्टवेयर बनाने में मदद करती है।
- Scalability - यदि सॉफ्टवेयर विकास प्रक्रिया वैज्ञानिक और इंजीनियरिंग अवधारणाओं पर आधारित होती है, तो मौजूदा सॉफ्टवेयर को स्केल करने के लिए नए सॉफ्टवेयर को फिर से बनाना आसान होता है।
- Adaptability - जब भी सॉफ्टवेयर प्रक्रिया वैज्ञानिक और इंजीनियरिंग पर आधारित होती है, तो सॉफ्टवेयर इंजीनियरिंग की मदद से नए सॉफ्टवेयर को फिर से बनाना आसान होता है।
- Cost- हार्डवेयर उद्योग ने अपना कौशल दिखाया है और विशाल विनिर्माण ने कंप्यूटर और इलेक्ट्रॉनिक हार्डवेयर की लागत कम कर दी है।
- Dynamic Nature– सॉफ्टवेयर की प्रकृति को हमेशा विकसित और अनुकूल बनाना। यह उस वातावरण पर निर्भर करता है जिसमें उपयोगकर्ता काम करता है।
- Quality Management - गुणवत्तापूर्ण सॉफ्टवेयर उत्पाद प्रदान करने के लिए सॉफ्टवेयर विकास का बेहतर तरीका प्रदान करता है।
Relationship of Software Engineering in Hindi with Other Disciplines
यहाँ, कैसे सॉफ्टवेयर इंजीनियरिंग अन्य विषयों से संबंधित है:
- Computer Science: सॉफ्टवेयर के लिए वैज्ञानिक आधार देता है क्योंकि इलेक्ट्रिकल इंजीनियरिंग मुख्य रूप से भौतिकी पर निर्भर करती है।
- Management Science: सॉफ्टवेयर इंजीनियरिंग एक श्रमसाध्य कार्य है जिसमें तकनीकी और प्रबंधकीय नियंत्रण दोनों की आवश्यकता होती है। इसलिए, प्रबंधन विज्ञान में इसका व्यापक रूप से उपयोग किया जाता है।
- Economics: इस क्षेत्र में, सॉफ्टवेयर इंजीनियरिंग आपको संसाधन अनुमान और लागत नियंत्रण में मदद करती है। कम्प्यूटिंग सिस्टम को विकसित किया जाना चाहिए, और दिए गए बजट के भीतर डेटा को नियमित रूप से बनाए रखा जाना चाहिए।
- System Engineering: अधिकांश सॉफ्टवेयर बहुत बड़े सिस्टम का एक घटक है। उदाहरण के लिए, उद्योग निगरानी प्रणाली में सॉफ्टवेयर या हवाई जहाज पर उड़ान सॉफ्टवेयर। इस प्रकार की प्रणालियों के अध्ययन के लिए सॉफ्टवेयर इंजीनियरिंग विधियों को लागू किया जाना चाहिए।
Challenges of Software Engineering In Hindi
सॉफ्टवेयर इंजीनियरों के सामने कुछ महत्वपूर्ण चुनौतियाँ हैं:
- अंतरिक्ष, विमानन, परमाणु ऊर्जा संयंत्र आदि जैसे सुरक्षा-महत्वपूर्ण क्षेत्रों में, सॉफ़्टवेयर विफलता की लागत भारी हो सकती है क्योंकि जीवन जोखिम में है।
- तेजी से बदलाव के समय के लिए बाजार की बढ़ती मांग।
- सॉफ्टवेयर की बढ़ती जटिलता से निपटने के लिए नए अनुप्रयोगों की आवश्यकता है।
- सॉफ्टवेयर सिस्टम की विविधता को एक दूसरे के साथ संचार करना चाहिए।
Attributes for Software Products
किसी भी सॉफ्टवेयर उत्पाद की विशेषताओं में वे विशेषताएं शामिल होती हैं जो उत्पाद द्वारा स्थापित और उपयोग में आने पर प्रदर्शित की जाती हैं।
वे ऐसी सेवाएं नहीं हैं जो उत्पाद द्वारा प्रदान की जाती हैं। इसके बजाय, वे उत्पादों के गतिशील व्यवहार और उत्पाद के उपयोग से संबंधित हैं।
इन विशेषताओं के उदाहरण हैं:
Efficiency, reliability, robustness, maintainability, etc.
हालाँकि, इन विशेषताओं का सापेक्ष महत्व एक सॉफ्टवेयर सिस्टम से दूसरे में भिन्न होता है।
Product Characteristics | Description |
---|---|
Maintainability | सॉफ्टवेयर ग्राहकों की बदलती मांगों को पूरा करने के लिए विकसित होना चाहिए। |
Dependability | निर्भरता में विभिन्न विशेषताएं शामिल हैं। डिपेंडेबल सॉफ्टवेयर को सिस्टम फेल होने के समय कभी भी कोई भौतिक या आर्थिक क्षति नहीं पहुंचानी चाहिए। |
Efficiency | सॉफ़्टवेयर एप्लिकेशन को मेमोरी और प्रोसेसर चक्र जैसे सिस्टम संसाधनों का अत्यधिक उपयोग करना चाहिए। |
Usability | सॉफ़्टवेयर एप्लिकेशन में विशिष्ट UI और दस्तावेज़ीकरण होना चाहिए। |
- Characteristics of Good Software :-
किसी भी सॉफ्टवेयर को इस बात से आंका जाना चाहिए कि वह क्या प्रदान करता है और वे कौन से तरीके हैं जो आपको इसका उपयोग करने में मदद करते हैं।
प्रत्येक सॉफ़्टवेयर को निम्नलिखित विशेषताओं को पूरा करना चाहिए:
- Operational
- Transitional
- Maintenance
सॉफ्टवेयर पेशेवरों द्वारा विकसित अच्छे सॉफ्टवेयर की कुछ महत्वपूर्ण विशेषताएं यहां दी गई हैं
- Operational
यह विशेषता हमें इस बारे में बताती है कि संचालन में सॉफ्टवेयर कितनी अच्छी तरह काम करता है जिसे मापा जा सकता है:
- Budget
- Efficiency
- Usability
- Dependability
- Correctness
- Functionality
- Safety
- Security
Transitional In software engineering in Hindi
यह एक आवश्यक पहलू है जब सॉफ्टवेयर को एक प्लेटफॉर्म से दूसरे प्लेटफॉर्म पर ले जाया जाता है:
- इंटरोऑपरेबिलिटी (Interoperability)
- पुनर्प्रयोग (Reusability)
- सुवाह्यता (Portability)
- अनुकूलन क्षमता (Adaptability)
Maintenance
यह पहलू इस बारे में बात करता है कि सॉफ़्टवेयर में तेज़ी से बदलते परिवेश में स्वयं को अनुकूलित करने की क्षमता कितनी अच्छी है:
- Flexibility
- Maintainability
- Modularity
- Scalability
No comments:
Post a Comment