BCA-3 Software Engineering Notes in Hindi बीसीए-3 सॉफ्टवेयर इंजीनियरिंग नोट्स हिंदी में

BCA-3 Software Engineering Notes in Hindi – बैचलर ऑफ कंप्यूटर एप्लीकेशन Bachelor of Computer Application BCA की पढाई कर रहे पंडित रविशंकर शुक्ल विश्विद्यालय रायपुर के छात्र-छात्रों के लिए इस पोस्ट के माध्यम से सॉफ्टवेयर इंजीनियरिंग Software Engineering Notes in Hindi के नोट्स दिए जा रहे है जिससे वे अपने नोट्स आसानी से बना सकें. इन नोट्स को इस पोस्ट में प्रश्न और उसके उत्तर के रूप में उपलब्ध कराया जा रहा है.

BCA-3 Software Engineering Notes in Hindi बीसीए-3 सॉफ्टवेयर इंजीनियरिंग नोट्स हिंदी में
BCA-3 Software Engineering Notes in Hindi

BCA-3 Software Engineering Notes in Hindi

बीसीए-3 सॉफ्टवेयर इंजीनियरिंग नोट्स हिंदी में

Software Engineering Notes in Hindi – बैचलर ऑफ कंप्यूटर एप्लीकेशन Bachelor of Computer Application BCA की पढाई कर रहे पंडित रविशंकर शुक्ल विश्विद्यालय रायपुर के छात्र-छात्रों के लिए इस पोस्ट के माध्यम से सॉफ्टवेयर इंजीनियरिंग Software Engineering Notes in Hindi के नोट्स दिए जा रहे है जिससे वे परीक्षा की तैयारी के लिए अपने नोट्स आसानी से बना सकें. इन नोट्स को इस पोस्ट में प्रश्न और उसके उत्तर के रूप में उपलब्ध कराया जा रहा है.

इन्हें भी देखें – 12वीं पास नौकरी 2023

Unit – 1

Software Engineering Fundamentals

System Analysis

Q.1 What do you understand by Software Engineering? Explain the needs and software problems.

Ans – Software Engineering कंप्यूटर विज्ञान का field है जो large, complex और industrial सॉफ्टवेयर सिस्टम के निर्माण से संबंधित है। Software Engineering सॉफ्टवेयर के development, maintenance और retirement के लिए systematic approach है।

“Software Engineering विज्ञान और गणित का application है जिसके द्वारा कंप्यूटर उपकरणों की क्षमताओं को प्रक्रियाओं और प्रलेखन के माध्यम से मनुष्य के लिए useful बनाया जाता है”।

सॉफ्टवेयर की आवश्यकता Need of software: (1) Speed और Storage Capacity बढ़ने से हार्डवेयर की लागत में कमी जारी है तो, सॉफ्टवेयर के लिए हर बढ़ती आवश्यकता है। (2) कंप्यूटर के users की संख्या में कमी जारी है क्योंकि हार्डवेयर की cost कम हो रही है और users के लिए आसानी से उपलब्ध है। (3) पुराने Software System वर्तमान competitive world में फिट नहीं हो रहे है। इस तरह की systems की re-engineering advance technology के साथ लगातार बढ़ रही है। (4) Software System के नए application कंप्यूटर विज्ञान में artificial intelligence, communication technology, neutral network आदि के विकास के साथ बढ़ जाते हैं।

इन्हें भी देखें – 10वीं पास नौकरी 2023

Software Problems:

(1) Software is expensive: – सॉफ्टवेयर हार्डवेयर की तुलना में costlier है। software industry में, productivity प्रति व्यक्ति-महीने DLOC (Delivery lines of code) के संदर्भ में measure किया जाता है।

लाखों डॉलर की लागत वाला एक सॉफ्टवेयर हजारों डॉलर की लागत वाली मशीनों पर चल सकता है। Computer based system में सॉफ्टवेयर एकमात्र सबसे महंगी item है।

(2) Late, costly and unreliable: – कुछ software product निर्धारित schedule and budget के भीतर वितरित नहीं किए जाते हैं। यह bad quality वाला सॉफ्टवेयर तैयार करता है। Final project completion लागत मूल अनुमान से लगभग 10 गुना अधिक थी।

(3) Unreliability: – डिजाइन और development के दौरान विभिन्न errors और bugs पेश किए गए हैं। कई बार सॉफ्टवेयर ग्राहकों की requirement के अनुसार ठीक से काम नहीं करता है। अविश्वसनीयता, लागत और शेड्यूल की समस्या सॉफ्टवेयर crisis के प्रमुख कारण हैं।

(4) Problem of maintenance :- जब software delivered हो जाता है और operational हो जाता है, तो errors को ठीक करने के लिए साफ्टवेयर के maintenance की आवश्यकता होती है। System के use के साथ user की requirement भी change होती हैं। इससे सॉफ़्टवेयर rework या सॉफ़्टवेयर maintenance होता है। maintenance की cost कुल सॉफ्टवेयर cost का 60-80 प्रतिशत होगी। Maintenance में सिस्टम को पूरी तरह से understanding, पुर्जों को modifying and changed करना और testing करना शामिल है।

इन्हें भी देखें – गवर्नमेंट जॉब्स 2023

Q.2 What is Software Engineering? Explain the design principles in software engineering.

Ans – Software Engineering को सॉफ्टवेयर के development, operation, maintenance और retirement के systematic approach के रूप में परिभाषित किया गया है। शब्द “systematic approach” का use उन methodologies के लिए किया जाता है जिनका उपयोग सॉफ्टवेयर develop करने के लिए किया जाता है।

Software Engineering को “sound engineering सिद्धांतों की स्थापना और use के रूप में भी defined किया गया है ताकि सॉफ्टवेयर obtain किया जा सके जो economical, reliable और real machine पर efficiently से काम करता है।”

Principles of software engineering: – Principles नियमों के सेट हैं, वे कई व्यक्तियों के collected wisdom का represent करते हैं जिन्होंने अनुभव के माध्यम से सीखा है। Software engineering principles हजारों projects के observation पर आधारित हैं। कुछ महत्वपूर्ण सिद्धांत हैं:

(1) Make the quality :- Quality सॉफ्टवेयर का पहला objective होना चाहिए। Poor quality वाले सॉफ़्टवेयर को समय पर डिलीवर करना बेकार है। Quality अलग-अलग लोगों के लिए अलग-अलग होती है। सॉफ्टवेयर को perfect, good response time और users के लिए high capacity वाला होना चाहिए। डेवलपर्स के लिए डिजाइन और कोड करना आसान होना चाहिए।

(2) Give products for customer early :- इससे requirement की clear identification होती है और पहले सॉफ्टवेयर product develop होते हैं। समस्या को understanding के बाद, जल्दी से एक प्रोटोटाइप दें जो users की requirement को पूरा करता हो। Product को schedule के भीतर develop किया जाना चाहिए।

(3) High quality software is possible :- एक सॉफ्टवेयर product की quality को बहुत से users द्वारा increased किया जा सकता है, डिजाइन को simplify बनाना, प्रोटोटाइप बनाना, testing at the end of each phase और hiring best People.

इन्हें भी देखें – सरकारी नौकरी 2023

(4) Use an appropriate process model: :- There are different software development models जैसे waterfall, prototype, spiral, iterative process models आदि। इनमें से प्रत्येक मॉडल सभी प्रकार की समस्याओं के लिए उपयुक्त नहीं हो सकता है। Requirement के आधार पर An appropriate process model का चयन किया जाना चाहिए।

(5) Determine the problem :- Requirements को write down से पहले problem का निर्धारण करें। किसी problem को solve करने का प्रयास करने से पहले, सुनिश्चित करें कि problem वास्तव में मौजूद है या नहीं।

(6) Evaluate design alternatives :- System के construction के लिए विभिन्न architectures, algorithms and data structures हैं। Efficient product बनाने के लिए विभिन्न process models का use किया जाता है।

(7) Minimize the distance between developer and the user :- Real-world problem और computerized solution के बीच की distance को minimize करना आवश्यक है। इससे सॉफ्टवेयर maintenance आसान होता है। Software structure वास्तविक real world structure के करीब होनी चाहिए।

(8) People are the key to success :- experience, talent and training people एक organization के resources होते हैं। Appropriate tools वाले Wrong People शायद fail हो जाते है। Quality employees के selection पर निर्भर करती है।

(9) Good management is better than good technology :- Good management लोगों को सर्वश्रेष्ठ करने के लिए motivates करता है। एक Good manager न्यूनतम resources के साथ अच्छे result दे सकता है। Best technology अच्छे प्रबंधन के अभाव में bad result देगी।

इन्हें भी देखें – रेलवे जॉब्स भर्ती 2023

(10) Follow with care :- एक development firm को different tools और technologies का carefully उपयोग करना चाहिए। ये tools quality बढ़ा सकते हैं, users satisfaction, productivity, decrease cost कम कर सकते हैं आदि। सभी को कई कार्यों को करने के लिए सावधानीपूर्वक तरीके से development में भाग लेना चाहिए।

Software crisis:

सॉफ्टवेयर द्वारा कई कार्य किए जाते हैं जैसे स्पेस शटल कंट्रोल, एयर ट्रैफिक कंट्रोल, बड़े ऑफिस ऑटोमेशन सिस्टम, रेलवे, बैंकिंग आदि। ये एप्लिकेशन competitions और requirements के साथ हैं। ऐसे एप्लिकेशन को implement करने में आमतौर पर लंबा समय लगता है। जब कोई modification किया जाता है, तो सॉफ़्टवेयर के अन्य भागों में problems उत्पन्न होती हैं। इसलिए, large systems का maintenance बहुत कठिन है। Entire system की architecture को कोई नहीं समझता है। इस समय तक, maintenance के मामले में बहुत समय और लागत खर्च होती है। अंतत: सॉफ्टवेयर useless हो जाता है। Our Project बहुत देर से, बजट से अधिक और ग्राहकों की requirement से different हैं। किसी project की इस situation को Software crisis कहा जाता है। इस Software crisis का समाधान सॉफ़्टवेयर के construction की एक organized method पद्धति है, जिसे software engineering कहा जाता है।

Q.3 What are the important qualities of software product?

Ans :- Software Product के कई महत्वपूर्ण quality हैं। Users चाहता है कि software product reliable और users friendly हो। Developer चाहता है कि software maintainable और portable हो। software product के कुछ महत्वपूर्ण quality हैं:

(1) Reliability :- Reliability संभावना है कि सॉफ्टवेयर specific time interval में काम करेगा। Incorrect software reliable हो सकता है, यदि product में कोई minor error हो। Unreliable product बाजार से गायब हो गए हैं।

(2) Correctness :- एक सॉफ्टवेयर correct है, जब यह functional requirements और specifications को satisfies करता है। System develop होने से पहले correct specification प्रदान किया जाना चाहिए।

(3) User-friendliness :- User friendly को use करने में easy, response time और correctness से मापा जाता है। सॉफ्टवेयर को कॉन्फ़िगर करना, इंस्टॉल करना, सीखना और उपयोग करना आसान होना चाहिए। यह users इंटरफेस की consistency पर depend करता है। एक सिस्टम प्रोग्रामर single-letter commands के उपयोग को friendlier पा सकता है।

(4) Robustness :- Robustness और correctness का गहरा relation है। यदि हम specification में requirement डालते हैं, तो यह correctness बन जाती है। यदि यह specified नहीं है, तो यह मजबूती (robustness) बन सकती है। किसी सॉफ्टवेयर की मजबूती Robustness ऑपरेटिंग सिस्टम या ग्राहकों की संख्या में changes पर निर्भर करता है।

(5) Reusability :- Software के कुछ भाग दुसरे एप्लीकेशन में उपयोग में आ सकते है। सॉफ्टवेयर के Reusability में component level, reuse of people, requirements level, code level or software process level शामिल हो सकते है.

(6) Portability :- सॉफ्टवेयर portable है अगर यह different hardware platforms में चल सकता है।

(7) Verifiability :- एक software verifiable है यदि उसके performance, correctness आदि को आसानी से verify किया जा सके। Verification के लिए Software Monitor जैसे formal methods का उपयोग किया जा सकता है।

(8) Modularity :- एक system जो module से बनी होती है उसे मॉड्यूलर सिस्टम कहा जाता है। एक complex system को अलग-अलग भागों में decomposed किया जा सकता है। Modularity एक large और complex system को आसानी से समझने में मदद करती है।

(9) Testability :- Quality जांचने के लिए आवश्यक है कि सिस्टम या मॉड्यूल ठीक से काम कर रहा है या नहीं। डेवलपर और यूजर finished product पर विभिन्न testing methods को लागू कर सकते हैं।

(10) Maintainability :- Operating Software में error को locate और उन्हें fix करने की आवश्यकता है। इसमें मौजूदा सॉफ्टवेयर को अपडेट करने की सभी गतिविधियां शामिल हैं। Maintenance को corrective, adaptive और perfective में वर्गीकृत किया गया है।

Q.4 Explain the life cycle of software development.

Or Explain the various phases of software life cycle

Or What is the life cycle development?

Explain the different phases of software life cycle.

हमारे सोशल ग्रुप से जुड़े

Join Telegram Group

Join Facebook Group

यह भी देखें

Jobs Alert in UPSC Exam

Bank Jobs Alert

पाठको को सन्देश

यदि आपका कोंई विचार, सुझाव है तो हमें पोस्ट के निचे कमेंट सेक्शन में बेशक बताएं. जिससे हम वेबसाइट के कमियों को दूर करके और बेहतर बनाकर आपके सामने रख सकें. हमारे सभी पोस्ट को अपने दोस्तों के साथ शेयर करना न भूलें.

Leave a Comment