जानिए सॉफ्टवेयर इंजीनियरिंग क्या है

Chapter-1

सॉफ्टवेयर इंजीनियरिंग शब्द दो शब्दों से मिलकर बना है , सॉफ्टवेयर और इंजीनियरिंग

सॉफ्टवेयर सिर्फ एक प्रोग्राम कोड से कहीं अधिक है। एक प्रोग्राम एक निष्पादन योग्य कोड है, जो कार्य करता है कुछ कम्प्यूटेशनल उद्देश्य। सॉफ्टवेयर को निष्पादन योग्य का संग्रह माना जाता है प्रोग्रामिंग कोड, संबंधित पुस्तकालय और दस्तावेज। सॉफ्टवेयर, जब ए के लिए बनाया गया हो विशिष्ट आवश्यकता को सॉफ्टवेयर उत्पाद कहा जाता है।

दूसरी ओर इंजीनियरिंग, पूरी तरह से परिभाषित, वैज्ञानिक का उपयोग करके उत्पादों को विकसित करने के बारे में है सिद्धांत और तरीके को प्रदर्शीत करता है

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

IEEE सॉफ्टवेयर इंजीनियरिंग को इस प्रकार परिभाषित करता है:

विकास के लिए एक व्यवस्थित, अनुशासित, मात्रात्मक दृष्टिकोण का अनुप्रयोग, सॉफ्टवेयर का संचालन और रखरखाव।

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

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

अपघटन। इस तकनीक में, एक जटिल समस्या को कई छोटी-छोटी समस्याओं में विभाजित किया जाता है और फिर एक-एक करके छोटी-छोटी समस्याओं का समाधान किया जाता है। हालाँकि, इस तकनीक में कोई भी random किसी समस्या को छोटे भागों में बांटने से मदद नहीं मिलेगी। समस्या को विघटित करना होगा इस तरह कि विघटित समस्या के प्रत्येक घटक को स्वतंत्र रूप से हल किया जा सकता है और फिर पूर्ण समाधान प्राप्त करने के लिए विभिन्न घटकों के समाधान को जोड़ा जा सकता है। एक अच्छा किसी समस्या के अपघटन को विभिन्न घटकों के बीच परस्पर क्रिया को कम करना चाहिए। अगर अलग-अलग उपघटक आपस में जुड़े हुए हैं, तो विभिन्न घटकों को हल नहीं किया जा सकता है अलग से और जटिलता में वांछित कमी महसूस नहीं की जाएगी।

NEED OF SOFTWARE ENGINEERING( सॉफ्टवेयर इंजीनियरिंग की आवश्यकता)

उपयोगकर्ता आवश्यकताओं में परिवर्तन की उच्च दर के कारण सॉफ्टवेयर इंजीनियरिंग की आवश्यकता उत्पन्न होती है और पर्यावरण जिस पर सॉफ्टवेयर काम कर रहा है।

  • Large software:-

    घर या इमारत की तुलना में दीवार बनाना आसान है, वैसे ही सॉफ्टवेयर का आकार बड़ा होने के कारण इंजीनियरिंग को उसे वैज्ञानिक प्रक्रिया देने के लिए कदम बढ़ाना पड़ता है।

  • Scalability:-

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

  • Cost:-

    जैसा कि हार्डवेयर उद्योग ने अपना कौशल दिखाया है और विशाल विनिर्माण कम हो गया है कंप्यूटर और इलेक्ट्रॉनिक हार्डवेयर की कीमत। लेकिन अगर सॉफ्टवेयर की कीमत अधिक रहती है उचित प्रक्रिया अनुकूल नहीं है।

  • Dynamic Nature:-

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

  • Quality Management

    सॉफ्टवेयर विकास की बेहतर प्रक्रिया बेहतर और प्रदान करती है गुणवत्ता सॉफ्टवेयर उत्पाद।

CHARACTERESTICS OF GOOD SOFTWARE(अच्छे सॉफ़्टवेयर की विशेषताएं)

एक सॉफ्टवेयर उत्पाद का अंदाजा इस बात से लगाया जा सकता है कि यह क्या प्रदान करता है और इसका कितना अच्छा उपयोग किया जा सकता है। यह सॉफ्टवेयर निम्नलिखित आधारों पर संतुष्ट होना चाहिए|

  • Operational
  • Transitional
  • Maintenance

अच्छी तरह से तैयार किए गए और तैयार किए गए सॉफ़्टवेयर में निम्नलिखित विशेषताएं होने की उम्मीद है

Operational

यह हमें बताता है कि संचालन में सॉफ्टवेयर कितनी अच्छी तरह काम करता है। इसे मापा जा सकता है

  • Budget
  • Usability
  • Efficiency
  • Correctness
  • Functionality
  • Dependability
  • Security
  • Safety

Transitional

जब सॉफ्टवेयर को एक प्लेटफॉर्म से दूसरे प्लेटफॉर्म पर ले जाया जाता है तो यह पहलू महत्वपूर्ण होता है

  • Portability
  • Interoperability
  • Reusability
  •  Adaptability

Maintenance

यह पहलू इस बारे में संक्षिप्त जानकारी देता है कि सॉफ्टवेयर में हमेशा बदलते परिवेश में खुद को बनाए रखने की क्षमता कितनी अच्छी है:

  • Modularity
  • Maintainability
  • Flexibility
  • Scalability

संक्षेप में, सॉफ्टवेयर इंजीनियरिंग कंप्यूटर विज्ञान की एक शाखा है, जो अच्छी तरह से परिभाषित उपयोग करती है कुशल, टिकाऊ, स्केलेबल, इन-बजट और समय पर उत्पादन करने के लिए आवश्यक इंजीनियरिंग अवधारणाएँ सॉफ्टवेयर उत्पादों

No comments

Theme images by 5ugarless. Powered by Blogger.