Ch 1निःशुल्क

Introduction to Software Engineering

🎓 Vardhman Mahaveer Open University📖 SLM - Software Engineering (Hindi)📖 12 नोट्स⏱️ ~18 मिनट
अध्याय 1 / 20Chapter 1

Introduction to Software Engineeringअध्ययन नोट्स

NCERT-संरेखित · 12 नोट्स · 3 निःशुल्क दिखाए गए

1.1 सॉफ्टवेयर इंजीनियरिंग का परिचय

व्याख्या

1.1 सॉफ्टवेयर इंजीनियरिंग का परिचय

सॉफ्टवेयर इंजीनियरिंग कंप्यूटर विज्ञान की वह शाखा है जिसमें सॉफ्टवेयर प्रणालियों के विकास, संचालन और अनुरक्षण के लिए व्यवस्थित, अनुशासित और मात्रात्मक दृष्टिकोण अपनाया जाता है। सॉफ्टवेयर इंजीनियरिंग का मुख्य उद्देश्य उच्च गुणवत्ता वाले सॉफ्टवेयर का समय पर और लागत प्रभावी निर्माण करना है। सॉफ्टवेयर इंजीनियरिंग की आवश्यकता इसलिए पड़ी क्योंकि जटिल सॉफ्टवेयर प्रणालियों के विकास में पारंपरिक प्रोग्रामिंग विधियाँ असफल होने लगी थीं। सॉफ्टवेयर इंजीनियरिंग में सॉफ्टवेयर उत्पाद के जीवन-चक्र (Software Life Cycle), गुणवत्ता, रखरखाव, परीक्षण, और प्रलेखन जैसे पहलुओं पर विशेष ध्यान दिया जाता है। यह विषय सॉफ्टवेयर विकास के लिए विभिन्न मॉडल, विधियाँ, उपकरण और तकनीकों का अध्ययन करता है। सॉफ्टवेयर इंजीनियरिंग की उत्पत्ति 1968 में जर्मनी के गार्मिश में आयोजित एक सम्मेलन में हुई थी, जहाँ सॉफ्टवेयर संकट (Software Crisis) के समाधान हेतु इस अनुशासन की आवश्यकता महसूस की गई। आज के डिजिटल युग में सॉफ्टवेयर इंजीनियरिंग का महत्व अत्यधिक बढ़ गया है क्योंकि बैंकिंग, रेलवे, शिक्षा, स्वास्थ्य, रक्षा आदि सभी क्षेत्रों में सॉफ्टवेयर की आवश्यकता है। सॉफ्टवेयर इंजीनियरिंग के अंतर्गत सॉफ्टवेयर की योजना, विश्लेषण, डिजाइन, निर्माण, परीक्षण, परिनियोजन (Deployment) और रखरखाव (Maintenance) की प्रक्रियाएँ आती हैं।

  • सॉफ्टवेयर इंजीनियरिंग सॉफ्टवेयर विकास की एक व्यवस्थित प्रक्रिया है।
  • इसका उद्देश्य उच्च गुणवत्ता वाले सॉफ्टवेयर का निर्माण है।
  • सॉफ्टवेयर संकट के समाधान हेतु इसकी आवश्यकता पड़ी।
  • यह विषय सॉफ्टवेयर के जीवन-चक्र के सभी पहलुओं को कवर करता है।
  • सॉफ्टवेयर इंजीनियरिंग में विभिन्न मॉडल और तकनीकों का प्रयोग होता है।
  • 📌 सॉफ्टवेयर इंजीनियरिंग: सॉफ्टवेयर प्रणालियों के विकास के लिए व्यवस्थित और अनुशासित दृष्टिकोण।
  • 📌 सॉफ्टवेयर संकट: जटिल सॉफ्टवेयर के विकास में आने वाली समस्याएँ।

1.2 सॉफ्टवेयर की विशेषताएँ

अवधारणा

1.2 सॉफ्टवेयर की विशेषताएँ

सॉफ्टवेयर की विशेषताएँ (Characteristics of Software) उसे अन्य उत्पादों से भिन्न बनाती हैं। सॉफ्टवेयर अमूर्त (Intangible) होता है, अर्थात् इसे छुआ या देखा नहीं जा सकता, केवल इसके कार्यों के माध्यम से ही इसका अनुभव किया जा सकता है। सॉफ्टवेयर का निर्माण एक बौद्धिक प्रक्रिया है, जिसमें भौतिक निर्माण सामग्री का प्रयोग नहीं होता। सॉफ्टवेयर की मुख्य विशेषताएँ निम्नलिखित हैं: 1. अमूर्तता (Intangibility): सॉफ्टवेयर को छुआ या देखा नहीं जा सकता। 2. परिवर्तनशीलता (Flexibility): सॉफ्टवेयर को आवश्यकतानुसार आसानी से बदला जा सकता है। 3. क्षयहीनता (No Wear and Tear): सॉफ्टवेयर समय के साथ घिसता या टूटता नहीं है, लेकिन उसमें त्रुटियाँ (Bugs) आ सकती हैं। 4. पुनः प्रयोग (Reusability): एक बार विकसित सॉफ्टवेयर के कुछ हिस्सों को अन्य परियोजनाओं में पुनः प्रयोग किया जा सकता है। 5. जटिलता (Complexity): बड़े सॉफ्टवेयर अत्यंत जटिल होते हैं, जिनका प्रबंधन कठिन होता है। 6. रखरखाव की आवश्यकता (Maintenance): सॉफ्टवेयर को समय-समय पर अद्यतन और अनुरक्षित करना पड़ता है। इन विशेषताओं के कारण सॉफ्टवेयर का विकास, परीक्षण और रखरखाव एक चुनौतीपूर्ण कार्य बन जाता है।

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

1.3 सॉफ्टवेयर के प्रकार

परिभाषा

1.3 सॉफ्टवेयर के प्रकार

सॉफ्टवेयर मुख्यतः दो प्रकार के होते हैं: सिस्टम सॉफ्टवेयर और एप्लिकेशन सॉफ्टवेयर। 1. सिस्टम सॉफ्टवेयर (System Software): यह कंप्यूटर हार्डवेयर और उपयोगकर्ता के बीच मध्यस्थ का कार्य करता है। इसमें ऑपरेटिंग सिस्टम (जैसे - Windows, Linux), यूटिलिटी प्र