Computer in Hindi | Business in Hindi: software engineering
Showing posts with label software engineering. Show all posts
Showing posts with label software engineering. Show all posts

Friday, October 22, 2021

What is object oriented design in software engineering in Hindi

October 22, 2021 0
What is object oriented design in software engineering in Hindi

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


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


Check also :- software design in software engineering in Hindi


object oriented design in software engineering in Hindi


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

  • Classes: एक वर्ग किसी वस्तु का सामान्यीकृत विवरण होता है। एक वस्तु एक वर्ग का एक उदाहरण है। एक वर्ग उन सभी विशेषताओं को परिभाषित करता है, जो एक वस्तु में हो सकती हैं और विधियाँ, जो वस्तु की कार्यक्षमता का प्रतिनिधित्व करती हैं।

  • Messages: वस्तुएँ संदेश पास करके संचार करती हैं। संदेशों में लक्ष्य वस्तु की अखंडता, अनुरोधित संचालन का नाम और कार्य करने के लिए आवश्यक कोई अन्य क्रिया शामिल होती है। संदेशों को अक्सर प्रक्रिया या फ़ंक्शन कॉल के रूप में लागू किया जाता है।

  • Abstraction  object-oriented design, में, अमूर्तता का उपयोग करके जटिलता को नियंत्रित किया जाता है। अमूर्तता अप्रासंगिक को हटाने और आवश्यक का प्रवर्धन है।

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

  • Inheritance: OOD समान वर्गों को एक पदानुक्रमित तरीके से स्टैक करने की अनुमति देता है जहाँ निम्न या उप-वर्ग अपने तत्काल सुपरक्लास से अनुमत चर और कार्यों को आयात, कार्यान्वित और पुन: उपयोग कर सकते हैं। OOD की इस संपत्ति को एक विरासत कहा जाता है। इससे विशिष्ट वर्ग को परिभाषित करना और विशिष्ट वर्ग से सामान्यीकृत वर्ग बनाना आसान हो जाता है।

  • Polymorphism: OOD भाषाएँ एक ऐसा तंत्र प्रदान करती हैं जहाँ समान कार्य करने वाली विधियाँ लेकिन तर्कों में भिन्न होती हैं, उन्हें एक ही नाम दिया जा सकता है। इसे बहुरूपता के रूप में जाना जाता है, जो एक एकल इंटरफ़ेस को विभिन्न प्रकारों के लिए कार्य करने की अनुमति देता है। सेवा कैसे लागू की जाती है, इस पर निर्भर करते हुए, कोड के संबंधित भाग को निष्पादित किया जाता है।

What is Function oriented design in software engineering in Hindi

October 22, 2021 0
What is Function oriented design in software engineering in Hindi

function oriented design in software engineering की एक विधि है जहाँ मॉडल को परस्पर क्रिया करने वाली इकाइयों या मॉड्यूल के एक सेट में विघटित किया जाता है जहाँ प्रत्येक इकाई या मॉड्यूल में एक स्पष्ट रूप से परिभाषित फ़ंक्शन होता है। इस प्रकार, सिस्टम को एक कार्यात्मक दृष्टिकोण से डिज़ाइन किया गया है।


Design Notations

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


Data Flow Diagram for function oriented design in software engineering in Hindi

डेटा-फ्लो डिज़ाइन कार्यात्मक परिवर्तनों की एक श्रृंखला को डिज़ाइन करने से संबंधित है जो सिस्टम इनपुट को आवश्यक आउटपुट में परिवर्तित करता है। डिजाइन को डेटा-फ्लो डायग्राम के रूप में वर्णित किया गया है। ये आरेख दिखाते हैं कि कैसे डेटा एक सिस्टम के माध्यम से बहता है और कैसे आउटपुट इनपुट से कार्यात्मक परिवर्तनों की एक श्रृंखला के माध्यम से प्राप्त होता है।


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


डेटा-प्रवाह डिज़ाइन कई डिज़ाइन विधियों का एक अभिन्न अंग है, और अधिकांश CASE उपकरण डेटा-प्रवाह आरेख निर्माण का समर्थन करते हैं। डेटा-प्रवाह आरेख निकायों का प्रतिनिधित्व करने के लिए अलग-अलग तरीके अलग-अलग आइकन का उपयोग कर सकते हैं, लेकिन उनके अर्थ समान हैं।


symbols for function oriented design in software engineering


function oriented design in software engineering in hindi
function oriented design in software engineering in hindi  


function oriented design in software engineering
function oriented design in software engineering



रिपोर्ट जेनरेटर एक रिपोर्ट तैयार करता है जो डेटा-फ्लो आरेख में सभी नामित इकाइयों का वर्णन करता है। उपयोगकर्ता आरेख द्वारा दर्शाए गए डिज़ाइन का नाम इनपुट करता है। रिपोर्ट जनरेटर तब डेटा-फ्लो आरेख में उपयोग किए गए सभी नामों को ढूंढता है। यह एक डेटा डिक्शनरी को देखता है और प्रत्येक नाम के बारे में जानकारी प्राप्त करता है। इसके बाद इसे एक रिपोर्ट में मिलाया जाता है जो सिस्टम द्वारा आउटपुट होता है।


Data Dictionaries

डेटा डिक्शनरी सिस्टम के DFD मॉडल में प्रदर्शित होने वाले सभी डेटा तत्वों को सूचीबद्ध करता है। सूचीबद्ध डेटा आइटम में सभी डेटा प्रवाह और सिस्टम के DFD मॉडल में DFD को देखने वाले सभी डेटा स्टोर की सामग्री शामिल होती है।


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


                      grossPay = regularPay + overtimePay


डेटा तत्वों की सबसे छोटी इकाइयों के लिए, डेटा डिक्शनरी उनके नाम और उनके प्रकार को सूचीबद्ध करती है।


डेटा डिक्शनरी किसी भी सॉफ्टवेयर विकास प्रक्रिया में निम्नलिखित कारणों से महत्वपूर्ण भूमिका निभाती है:


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

Structured Charts for function oriented design in software engineering in Hindi        

यह एक सिस्टम को ब्लॉक बॉक्स में विभाजित करता है। एक ब्लैक बॉक्स सिस्टम जिसकी कार्यक्षमता आंतरिक डिज़ाइन के ज्ञान के बिना उपयोगकर्ता को ज्ञात होती है।


Structured Charts
Structured Charts



संरचित चार्ट एक ग्राफिकल प्रतिनिधित्व है जो दिखाता है:


मॉड्यूल में सिस्टम विभाजन

घटक मॉड्यूल का पदानुक्रम

प्रसंस्करण मॉड्यूल के बीच संबंध

मॉड्यूल के बीच बातचीत

मॉड्यूल के बीच पारित जानकारी

संरचित चार्ट में निम्नलिखित नोटेशन का उपयोग किया जाता है:


software engineering notes in hindi
Function oriented design in software engineering



Pseudo-code

Pseudo-codeसंकेतन का उपयोग प्रारंभिक और विस्तृत डिजाइन चरणों दोनों में किया जा सकता है। Pseudo-code का उपयोग करते हुए, डिजाइनर संक्षिप्त, संक्षिप्त, अंग्रेजी भाषा के चरणों का उपयोग करके सिस्टम विशेषताओं का वर्णन करता है जो कि कीवर्ड द्वारा संरचित होते हैं जैसे कि इफ-थेन-एल्स, जबकि-डू और एंड।

What is software design in software engineering in Hindi

October 22, 2021 0
What is software design in software engineering in Hindi

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


software design in software engineering in Hindi
software design in software engineering in Hindi



सॉफ्टवेयर डिजाइन चरण एसडीएलसी (सॉफ्टवेयर डिजाइन लाइफ साइकिल) में पहला कदम है, जो एकाग्रता को समस्या डोमेन से समाधान डोमेन तक ले जाता है। सॉफ्टवेयर डिजाइन में, हम सिस्टम को स्पष्ट रूप से परिभाषित व्यवहार और सीमाओं के साथ घटकों या मॉड्यूल का एक सेट मानते हैं।


Check also :- oriented design in software engineering in Hindi


Objective of software design in software engineering in Hindi

सॉफ्टवेयर डिजाइन के उद्देश्य निम्नलिखित हैं:


  • शुद्धता (Correctness): सॉफ्टवेयर का डिजाइन आवश्यकता के अनुसार सही होना चाहिए।
  • पूर्णता (Completeness): डिजाइन में सभी घटक होने चाहिए जैसे डेटा संरचनाएं, मॉड्यूल और बाहरी इंटरफेस आदि।
  • दक्षता (Efficiency): कार्यक्रम द्वारा संसाधनों का कुशलतापूर्वक उपयोग किया जाना चाहिए।
  • लचीलापन (Flexibility): बदलती जरूरतों को संशोधित करने में सक्षम।
  • Consistency: डिजाइन में कोई असंगति (inconsistency)नहीं होनी चाहिए।
  • रख-रखाव (Maintainability): डिजाइन इतना सरल होना चाहिए कि इसे अन्य डिजाइनरों द्वारा आसानी से बनाए रखा जा सके।



Thursday, October 14, 2021

e business risk management issues in Hindi

October 14, 2021 0
e business risk management issues in Hindi

 आज, ई-कॉमर्स आधुनिक अर्थव्यवस्था का एक चलन बन गया है, जिसका उत्कृष्ट मंच मैगेंटो कहा जाता है। क्योंकि यह एक नया चलन है इसलिए ऑनलाइन स्टोर के मालिक लेनदेन में जोखिम से बच नहीं सकते हैं। ई-कॉमर्स लेनदेन में जोखिम प्रबंधन को आपके व्यवसाय के दीर्घकालिक अस्तित्व के लिए सबसे महत्वपूर्ण कारक माना जाता है।




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


 इसलिए व्यवसाय के मालिकों को संभावित जोखिमों को दूर करने और इसे लागू करने के लिए अपने कर्मचारियों को प्रशिक्षित करने के लिए एक आंतरिक नीति विकसित करनी चाहिए। ई-कॉमर्स लेनदेन में जोखिम प्रबंधन के लिए सबसे महत्वपूर्ण प्रक्रियाएं निम्नलिखित हैं।


e business risk management issues in Hindi


1. जोखिमों को समझें और अपने कर्मचारियों को प्रशिक्षित करें


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


2. सूचना सुरक्षा सुनिश्चित करें


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


3. सही अधिग्रहण करने वाले बैंक और मर्चेंट सेवा प्रदाता का चयन करें।


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


4. प्रभावी नीतियां बनाएं और प्रदर्शित करें


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


5. नुकसान को कम करने के लिए संग्रह प्रयासों का प्रयोग करें


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


इसलिए, ई-कॉमर्स लेनदेन में जोखिम को सीमित करने के लिए उपरोक्त सभी विधियां बहुत सी विधियों में से कुछ हैं। अपने ऑनलाइन स्टोर को अधिक प्रभावी ढंग से विकसित करने के लिए आपको इन सुझावों का पालन करना चाहिए।

What is Risk Management in software engineering in Hindi

October 14, 2021 0
What is Risk Management in software engineering in Hindi

Risk in software engineering

"कल की समस्याएं आज का जोखिम हैं।" इसलिए, "जोखिम" की एक स्पष्ट परिभाषा एक ऐसी समस्या है जो कुछ नुकसान का कारण बन सकती है या परियोजना की प्रगति को खतरा पैदा कर सकती है, लेकिन जो अभी तक नहीं हुआ है।


ये संभावित मुद्दे परियोजना की लागत, समय-सारणी या तकनीकी सफलता और हमारे सॉफ्टवेयर उपकरण की गुणवत्ता, या परियोजना टीम के मनोबल को नुकसान पहुंचा सकते हैं।


Check also :- Function oriented design in software engineering in Hindi     


जोखिम प्रबंधन परियोजना को नुकसान पहुंचाने से पहले इन समस्याओं को संबोधित करने और उन्हें समाप्त करने की प्रणाली है।


हमें संभावित मुद्दों के रूप में जोखिम को परियोजना की वर्तमान समस्याओं से अलग करने की आवश्यकता है।


इन दो प्रकार के मुद्दों को हल करने के लिए विभिन्न तरीकों की आवश्यकता होती है।


उदाहरण के लिए, कर्मचारियों का भंडारण, क्योंकि हम सही तकनीकी कौशल वाले लोगों का चयन करने में सक्षम नहीं हैं, यह एक मौजूदा समस्या है, लेकिन प्रतिस्पर्धा से हमारे तकनीकी व्यक्तियों को काम पर रखने का खतरा एक जोखिम है।


Risk Management in software engineering in Hindi

एक सॉफ्टवेयर प्रोजेक्ट कई तरह के जोखिमों से संबंधित हो सकता है। एक सॉफ्टवेयर प्रोजेक्ट को प्रभावित करने वाले महत्वपूर्ण जोखिमों को व्यवस्थित रूप से पहचानने के लिए, जोखिमों को विभिन्न वर्गों में वर्गीकृत करना आवश्यक है। परियोजना प्रबंधक तब जांच कर सकता है कि प्रत्येक वर्ग से कौन से जोखिम परियोजना के लिए प्रासंगिक हैं।


जोखिम के तीन मुख्य वर्गीकरण हैं जो एक सॉफ्टवेयर परियोजना को प्रभावित कर सकते हैं:


  • परियोजना जोखिम (Project risks)
  • तकनीकी जोखिम (Technical risks)
  • व्यापार जोखिम (Business risks)

1. परियोजना जोखिम (Project risks): परियोजना जोखिम चिंता बजटीय, अनुसूची, कर्मियों, संसाधन और ग्राहक से संबंधित समस्याओं के विभिन्न रूप हैं। एक महत्वपूर्ण परियोजना जोखिम शेड्यूल स्लिपेज है। चूंकि सॉफ्टवेयर अमूर्त है, इसलिए सॉफ्टवेयर प्रोजेक्ट की निगरानी और नियंत्रण करना बहुत कठिन है। किसी ऐसी चीज को नियंत्रित करना बहुत कठिन है जिसे पहचाना नहीं जा सकता। किसी भी निर्माण कार्यक्रम के लिए, जैसे कि कारों का निर्माण, योजना कार्यकारी उत्पाद को आकार लेने की पहचान कर सकता है।


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


3. व्यापार जोखिम (Business risks): इस प्रकार के जोखिमों में एक उत्कृष्ट उत्पाद बनाने का जोखिम होता है जिसकी किसी को आवश्यकता नहीं होती है, बजटीय या कार्मिक प्रतिबद्धताओं को खोना आदि।


Other categories of Risk Management in software engineering in Hindi 


1. ज्ञात जोखिम (Known risks): वे जोखिम जिन्हें परियोजना कार्यक्रम के सावधानीपूर्वक मूल्यांकन के बाद उजागर किया जा सकता है, व्यवसाय और तकनीकी वातावरण जिसमें योजना विकसित की जा रही है, और अधिक विश्वसनीय डेटा स्रोत (जैसे, अवास्तविक वितरण तिथि)

2. पूर्वानुमेय जोखिम (Predictable risks): वे जोखिम जो पिछले परियोजना अनुभव (जैसे, पिछले कारोबार) से परिकल्पित हैं

3. अप्रत्याशित जोखिम (Unpredictable risks): वे जोखिम जो हो सकते हैं और हो सकते हैं, लेकिन पहले से पहचानना बेहद कठिन है।



Principle of Risk Management in software engineering in Hindi

  • वैश्विक परिप्रेक्ष्य (Global Perspective): इसमें हम बड़े सिस्टम विवरण, डिजाइन और कार्यान्वयन की समीक्षा करते हैं। हम मौके और जोखिम के प्रभाव को देखते हैं।


  • एक दूरंदेशी दृष्टिकोण लें (Take a forward-looking view): भविष्य में आने वाले खतरे पर विचार करें और अगली घटनाओं को निर्देशित करने के लिए भविष्य की योजना बनाएं।


  • खुला संचार (Open Communication): यह क्लाइंट और टीम के सदस्यों के बीच संचार के मुक्त प्रवाह की अनुमति देने के लिए है ताकि उन्हें जोखिमों के बारे में निश्चितता हो।


  • एकीकृत प्रबंधन (Integrated management): इस पद्धति में जोखिम प्रबंधन को परियोजना प्रबंधन का एक अभिन्न अंग बना दिया जाता है।

  • सतत प्रक्रिया (Continuous process): इस चरण में, जोखिम प्रबंधन प्रतिमान में जोखिमों को लगातार ट्रैक किया जाता है।

Wednesday, October 13, 2021

What is software project planning in Hindi - software engineering notes in Hindi

October 13, 2021 0
What is software project planning in Hindi - software engineering notes in Hindi

software project planning in software engineering 

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


Need software project planning in Hindi

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


Check also :- software engineering in Hindi


Software Project Manager

सॉफ्टवेयर मैनेजर परियोजना के विकास की योजना और निर्धारण के लिए जिम्मेदार है। वे यह सुनिश्चित करने के लिए काम का प्रबंधन करते हैं कि यह आवश्यक मानक तक पूरा हो गया है। वे यह जांचने के लिए प्रगति की निगरानी करते हैं कि घटना समय पर और बजट के भीतर है। परियोजना की योजना में आकार और लागत अनुमान निर्धारण, परियोजना निगरानी, ​​कार्मिक चयन मूल्यांकन और जोखिम प्रबंधन जैसे प्रमुख मुद्दों को शामिल किया जाना चाहिए। एक सफल सॉफ्टवेयर प्रोजेक्ट की योजना बनाने के लिए, हमें यह समझना चाहिए:


  • कार्य पूरा होने का दायरा [Scope of work to be completed]
  • जोखिम विश्लेषण [Risk analysis]
  • संसाधन अनिवार्य [The resources mandatory]
  • पूरा किया जाने वाला प्रोजेक्ट [The project to be accomplished]
  • अनुसरण किए जाने का रिकॉर्ड [Record of being followed]


सॉफ्टवेयर प्रोजेक्ट की योजना तकनीकी कार्य शुरू होने से पहले शुरू होती है। नियोजन गतिविधियों के विभिन्न चरण हैं:


software project planning in hindi
software project planning in hindi



आकार अन्य गतिविधियों के आकलन के लिए महत्वपूर्ण पैरामीटर है। लागत और विकास के समय के आधार पर संसाधनों की आवश्यकता होती है। परियोजना की प्रगति को नियंत्रित करने और निगरानी करने के लिए परियोजना अनुसूची बहुत उपयोगी साबित हो सकती है। यह संसाधनों और विकास के समय पर निर्भर है।

What is cyclomatic complexity in software engineering in Hindi

October 13, 2021 0
What is cyclomatic complexity in software engineering in Hindi

Cyclomatic Complexity in Software Engineering 

साइक्लोमैटिक जटिलता एक सॉफ्टवेयर मीट्रिक है जिसका उपयोग किसी प्रोग्राम की जटिलता को मापने के लिए किया जाता है। थॉमस जे. मैककेबे ने 1976 में इस मीट्रिक को विकसित किया। मैककेब एक कंप्यूटर प्रोग्राम की व्याख्या दृढ़ता से जुड़े हुए निर्देशित ग्राफ के एक सेट के रूप में करता है।


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


How to Calculate Cyclomatic Complexity  in software engineering

मैककेबे ने सॉफ्टवेयर जटिलता के संकेतक के रूप में ग्राफ सिद्धांत के चक्रीय संख्या, वी (जी) का प्रस्ताव दिया। चक्रीय संख्या अपने रेखांकन प्रतिनिधित्व में एक कार्यक्रम के माध्यम से रैखिक रूप से स्वतंत्र पथों की संख्या के बराबर है। एक प्रोग्राम कंट्रोल ग्राफ G के लिए, साइक्लोमैटिक नंबर, V (G), इस प्रकार दिया गया है:


             V (G) = E - N + 2 * P


E = ग्राफ़ G . में किनारों की संख्या


N = ग्राफ़ G . में नोड्स की संख्या


पी = ग्राफ जी में जुड़े घटकों की संख्या।


cyclomatic complexity in software engineering
cyclomatic complexity in software engineering



Properties of cyclomatic complexity in software engineering

चक्रीय जटिलता के गुण निम्नलिखित हैं:


वी (जी) ग्राफ में स्वतंत्र पथों की अधिकतम संख्या है

वी (जी)> = 1

G का एक पथ होगा यदि V (G) = 1

जटिलता को कम से कम 10 . करें

Check detail's size oriented metrics in software engineering in Hindi

October 13, 2021 0
Check detail's size oriented metrics in software engineering in Hindi

LOC Metrics

यह कंप्यूटर प्रोग्राम के आकार की गणना के लिए सबसे शुरुआती और सरल मेट्रिक्स में से एक है। यह आमतौर पर प्रोग्रामर की उत्पादकता की गणना और तुलना करने में उपयोग किया जाता है। ये मीट्रिक उत्पाद के आकार को मीट्रिक मानकर गुणवत्ता और उत्पादकता उपायों को सामान्य करके प्राप्त किए जाते हैं।


Important points for size oriented metrics in software engineering in Hindi


एलओसी उपायों के संबंध में निम्नलिखित बिंदु हैं:


  • आकार-उन्मुख मेट्रिक्स में, LOC को सामान्यीकरण मान माना जाता है।
  • यह एक पुरानी विधि है जिसे विकसित किया गया था जब फोरट्रान और कोबोल प्रोग्रामिंग बहुत लोकप्रिय थे।
  • उत्पादकता को KLOC / EFFORT के रूप में परिभाषित किया गया है, जहाँ प्रयास को व्यक्ति-महीनों में मापा जाता है।
  • आकार-उन्मुख मीट्रिक उपयोग की जाने वाली प्रोग्रामिंग भाषा पर निर्भर करते हैं।
  • चूंकि उत्पादकता केएलओसी पर निर्भर करती है, इसलिए असेंबली भाषा कोड में अधिक उत्पादकता होगी।
  • LOC उपाय के लिए एक स्तर के विवरण की आवश्यकता होती है जो व्यावहारिक रूप से प्राप्त करने योग्य नहीं हो सकता है।
  • प्रोग्रामिंग भाषा जितनी अधिक अभिव्यंजक होती है, उत्पादकता उतनी ही कम होती है।
  • माप की एलओसी पद्धति उन परियोजनाओं पर लागू नहीं होती है जो दृश्य (जीयूआई-आधारित) प्रोग्रामिंग से संबंधित हैं। जैसा कि पहले ही बताया जा चुका है, ग्राफिकल यूजर इंटरफेस (जीयूआई) मूल रूप से फॉर्म का उपयोग करते हैं। एलओसी मीट्रिक यहां लागू नहीं है।
  • इसके लिए जरूरी है कि सभी संगठनों को एलओसी की गणना के लिए एक ही तरीके का इस्तेमाल करना चाहिए। ऐसा इसलिए है क्योंकि कुछ संगठन केवल निष्पादन योग्य कथनों का उपयोग करते हैं, कुछ उपयोगी टिप्पणियों का, और कुछ नहीं करते हैं। इस प्रकार, मानक स्थापित करने की आवश्यकता है।
  • ये मीट्रिक सार्वभौमिक रूप से स्वीकार नहीं किए जाते हैं।


सॉफ्टवेयर की एलओसी/केएलओसी गणना के आधार पर, कई अन्य मेट्रिक्स की गणना की जा सकती है [Based on the LOC/KLOC count of software] :- 


  • Errors/KLOC.
  • $/ KLOC.
  • Defects/KLOC.
  • Pages of documentation/KLOC.
  • Errors/PM.
  • Productivity = KLOC/PM (effort is measured in person-months).
  • $/ Page of documentation.


Advantages and disadvantages for size oriented metrics in software engineering in Hindi


Advantages of LOC

मापने में आसान

Disadvantage of LOC

इसे कोड पर परिभाषित किया गया है। उदाहरण के लिए, यह विनिर्देश के आकार को माप नहीं सकता है।

यह आकार के केवल एक विशिष्ट दृश्य की विशेषता है, अर्थात् लंबाई, यह कार्यक्षमता या जटिलता का कोई हिसाब नहीं लेता है

खराब सॉफ़्टवेयर डिज़ाइन कोड की अत्यधिक लाइन का कारण बन सकता है

यह भाषा पर निर्भर है

उपयोगकर्ता इसे आसानी से नहीं समझ सकते हैं

Detail's for software metrics in software engineering in Hindi

October 13, 2021 0
Detail's for software metrics in software engineering in Hindi

 सॉफ्टवेयर मेट्रिक्स

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


Check also :- What is ERP in Hindi 


सॉफ्टवेयर विकास प्रक्रिया के साथ, कई मेट्रिक्स हैं जो सभी जुड़े हुए हैं। सॉफ्टवेयर मेट्रिक्स प्रबंधन के चार कार्यों के समान हैं: योजना, संगठन, नियंत्रण या सुधार।


Classification of Software Metrics in Software Engineering in Hindi

सॉफ्टवेयर मेट्रिक्स को निम्नानुसार दो प्रकारों में वर्गीकृत किया जा सकता है:


software metrics in software engineering in Hindi
software metrics in software engineering in Hindi



1. उत्पाद मेट्रिक्स [Product Metrics] ये सॉफ्टवेयर उत्पाद की विभिन्न विशेषताओं के माप हैं। दो महत्वपूर्ण सॉफ्टवेयर विशेषताएं हैं:


  • सॉफ्टवेयर का आकार और जटिलता।
  • सॉफ्टवेयर की गुणवत्ता और विश्वसनीयता।

इन मेट्रिक्स की गणना एसडीएलसी के विभिन्न चरणों के लिए की जा सकती है।


2. प्रक्रिया मेट्रिक्स [Process Metrics]: ये सॉफ्टवेयर विकास प्रक्रिया की विभिन्न विशेषताओं के माप हैं। उदाहरण के लिए, गलती का पता लगाने की दक्षता। उनका उपयोग सॉफ्टवेयर विकसित करने के लिए उपयोग की जाने वाली विधियों, तकनीकों और उपकरणों की विशेषताओं को मापने के लिए किया जाता है।


Types of software metrics in software engineering in Hindi

आंतरिक मेट्रिक्स [Internal metrics]: आंतरिक मेट्रिक्स का उपयोग उन गुणों को मापने के लिए किया जाता है जिन्हें एक सॉफ्टवेयर डेवलपर के लिए अधिक महत्व के रूप में देखा जाता है। उदाहरण के लिए, लाइन ऑफ कोड (LOC) माप।


बाहरी मेट्रिक्स [External metrics]: बाहरी मेट्रिक्स का उपयोग उन गुणों को मापने के लिए किया जाता है जिन्हें उपयोगकर्ता के लिए अधिक महत्व के रूप में देखा जाता है, जैसे, पोर्टेबिलिटी, विश्वसनीयता, कार्यक्षमता, उपयोगिता, आदि।


हाइब्रिड मेट्रिक्स [Hybrid metrics]: हाइब्रिड मेट्रिक्स वे मेट्रिक्स हैं जो उत्पाद, प्रक्रिया और संसाधन मेट्रिक्स को मिलाते हैं। उदाहरण के लिए, प्रति एफपी लागत जहां एफपी फंक्शन प्वाइंट मीट्रिक के लिए खड़ा है।


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


Advantage of software metrics in software engineering in Hindi

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


Disadvantage of software metrics in software engineering in Hindi

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

Friday, October 8, 2021

software engineer banne ke liye 10th ke baad kya kare

October 08, 2021 0
software engineer banne ke liye 10th ke baad kya kare

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


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


मेरे द्वारा सुझाए गए कुछ YouTube चैनल:


  • न्यू बोस्टन: भाषा की मूल बातें और बुनियादी बातों को समझने के लिए अच्छा है। पहले C++ सीखें और फिर Python।

  • MyCodingSchool: यह एल्गोरिदम और विभिन्न कंप्यूटर विज्ञान की बुनियादी बातों को सीखने के लिए एक अच्छा चैनल है।

  • सिराज रावल: यह यूट्यूबर कंप्यूटर साइंस से संबंधित बहुत अच्छा वीडियो बनाता है लेकिन मैं इसे 11-12वीं एसटीडी में नहीं सुझाऊंगा लेकिन बाद के चरणों में आप इसका आनंद लेंगे।

  • Neso academy: आपके बेसिक इलेक्ट्रॉनिक्स कॉन्सेप्ट को क्लियर करने के लिए यह एक अच्छा चैनल है। मैं यह सुझाव क्यों दे रहा हूं इसका कारण यह है कि कंप्यूटर मूल रूप से द्विआधारी गणना पर काम करता है। एक बुनियादी इलेक्ट्रॉनिक्स ज्ञान होना जैसे कि गेट्स, आदि कैसे काम करते हैं, वास्तव में मदद करेगा।

मुख्य रूप से मैं सुझाव दूंगा कि किसी एक प्रोग्रामिंग भाषा को कुछ हद तक जावा या C ++ सीखना चाहिए। और उनका उपयोग करके कुछ प्रोजेक्ट बनाएं।


 software engineer banne ke liye 10th ke baad kya kare or projects 


  • साइंटिफ़िक कैलकुलेटर
  • बैंकिंग सिस्टम
  • छात्र अंक कैलकुलेटर

ये जटिल लग सकते हैं लेकिन मुझ पर विश्वास करें जब आप कोडिंग शुरू करते हैं तो ये बहुत आसान होते हैं।


कृपया एक ही समय में कई भाषाओं पर ध्यान केंद्रित करने की गलती न करें।


सॉफ्टवेयर इंजीनियर किसी कलाकार से कम नहीं हैं। एक महान सॉफ्टवेयर इंजीनियरिंग बनने के लिए आपको बड़ी समस्या सुलझाने के कौशल की आवश्यकता होती है।


कई भाषाओं को जानना इतना जरूरी नहीं है। एक बार जब आपके पास किसी भाषा पर अधिकार हो जाता है तो आप आसानी से दूसरों पर आसानी से स्विच कर सकते हैं।


यह भी समझने की कोशिश करें कि चीजें आपके आसपास कैसे काम करती हैं। आपकी लिफ्ट कैसे काम करती है? कॉल सेंटर में कॉल का प्रबंधन कैसे किया जाता है?

Thursday, October 7, 2021

What is software project management in Hindi - software project management notes

October 07, 2021 0
What is software project management in Hindi - software project management notes

What is Project?

एक परियोजना कार्यों का एक समूह है जिसे स्पष्ट परिणाम तक पहुंचने के लिए पूरा करने की आवश्यकता होती है। एक परियोजना एक लक्ष्य को प्राप्त करने के लिए आवश्यक इनपुट और आउटपुट के एक सेट के रूप में भी परिभाषित करती है। परियोजनाएं सरल से कठिन तक भिन्न हो सकती हैं और एक व्यक्ति या सौ द्वारा संचालित की जा सकती हैं।


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


software project management in Hindi

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


यह कंप्यूटर सॉफ्टवेयर विकसित करने के लिए संसाधनों के प्रबंधन, आवंटन और समय की एक प्रक्रिया है जो आवश्यकताओं को पूरा करता है।


सॉफ्टवेयर प्रोजेक्ट मैनेजमेंट में क्लाइंट और डेवलपर्स को प्रोजेक्ट की लंबाई, अवधि और लागत जानने की जरूरत होती है।


सॉफ्टवेयर परियोजना प्रबंधन की पूर्वापेक्षा? [Prerequisite of software project management]

सॉफ्टवेयर परियोजना प्रबंधन के लिए तीन जरूरतें हैं। य़े हैं:


  • Time
  • Cost
  • Quality

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


Project Manager

एक प्रोजेक्ट मैनेजर एक ऐसा चरित्र होता है जिसके पास किसी प्रोजेक्ट की योजना, डिजाइन, निष्पादन, निगरानी, ​​​​नियंत्रण और बंद करने की समग्र जिम्मेदारी होती है। एक परियोजना प्रबंधक परियोजनाओं की उपलब्धि में एक आवश्यक भूमिका का प्रतिनिधित्व करता है।


एक प्रोजेक्ट मैनेजर एक ऐसा चरित्र होता है जो बड़ी और छोटी दोनों परियोजनाओं के निर्णय लेने के लिए जिम्मेदार होता है। परियोजना प्रबंधक का उपयोग जोखिम के प्रबंधन और अनिश्चितता को कम करने के लिए किया जाता है। परियोजना प्रबंधक द्वारा किए गए प्रत्येक निर्णय को सीधे उनकी परियोजना का लाभ होना चाहिए।


software project manager roles and responsibilities

1. Leader


एक परियोजना प्रबंधक को अपनी टीम का नेतृत्व करना चाहिए और उन्हें यह समझने के लिए दिशा प्रदान करनी चाहिए कि उन सभी से क्या अपेक्षित है।


2. Medium:


परियोजना प्रबंधक अपने ग्राहकों और उनकी टीम के बीच एक माध्यम है। उसे ग्राहकों से अपनी टीम को सभी उपयुक्त जानकारी का समन्वय और हस्तांतरण करना चाहिए और वरिष्ठ प्रबंधन को रिपोर्ट करना चाहिए।


3. Mentor:


उसे हर कदम पर अपनी टीम का मार्गदर्शन करने के लिए वहां होना चाहिए और यह सुनिश्चित करना चाहिए कि टीम में लगाव हो। वह अपनी टीम को एक सिफारिश प्रदान करता है और उन्हें सही दिशा में इंगित करता है।


it project manager roles and responsibilities:

  • risksऔर  issues का मगजमेन्ट ।
  • प्रोजेक्ट टीम बनाएं और टीम के कई सदस्यों को कार्य सौंपें।
  • गतिविधि योजना और sequencing।
  • प्रगति की निगरानी और रिपोर्टिंग।
  • स्थिति से निपटने के लिए प्रोजेक्ट प्लान को मॉडिफाई करता है।

cohesion and coupling in software engineering in Hindi

October 07, 2021 0
cohesion and coupling in software engineering in Hindi

coupling in software engineering in Hindi

सॉफ्टवेयर इंजीनियरिंग में, युग्मन सॉफ्टवेयर मॉड्यूल के बीच  interdependence की डिग्री है। tightly coupled दो मॉड्यूल एक दूसरे पर अत्यधिक निर्भर हैं। हालाँकि, दो मॉड्यूल जो loosely coupled हैं, एक दूसरे पर निर्भर नहीं हैं। Uncoupled modules उनके भीतर बिल्कुल भी interdependence नहीं हैं।


types of coupling techniques 


एक अच्छा डिज़ाइन वह है जिसमें कम युग्मन होता है। युग्मन को मॉड्यूल के बीच संबंधों की संख्या से मापा जाता है। यही है, युग्मन बढ़ जाता है क्योंकि मॉड्यूल के बीच कॉल की संख्या बढ़ जाती है या साझा डेटा की मात्रा बड़ी होती है। इस प्रकार, यह कहा जा सकता है कि उच्च युग्मन वाले डिज़ाइन में अधिक त्रुटियाँ होंगी।


types of coupling techniques
types of coupling techniques 



types of coupling in software engineering in Hindi


1. No Direct Coupling:  M1 और M2 के बीच कोई सीधा युग्मन नहीं है।


इस मामले में, मॉड्यूल विभिन्न मॉड्यूल के अधीनस्थ हैं। इसलिए, कोई प्रत्यक्ष युग्मन नहीं।


coupling in software engineering
 coupling in software engineering in hindi



2. Data Coupling: जब एक मॉड्यूल का डेटा दूसरे मॉड्यूल को भेजा जाता है, तो इसे डेटा कपलिंग कहा जाता है


3. Stamp Coupling: दो मॉड्यूल स्टैम्प कपल होते हैं यदि वे संरचना, वस्तुओं आदि जैसे समग्र डेटा आइटम का उपयोग करके संचार करते हैं। जब मॉड्यूल गैर-वैश्विक डेटा संरचना या संपूर्ण संरचना को किसी अन्य मॉड्यूल में पास करता है, तो उन्हें स्टैम्प युग्मित कहा जाता है। उदाहरण के लिए, सी में स्ट्रक्चर वैरिएबल पास करना या सी ++ भाषा में ऑब्जेक्ट को मॉड्यूल में पास करना।


4. Control Coupling:  यदि एक मॉड्यूल के डेटा का उपयोग दूसरे में निर्देश निष्पादन की संरचना को निर्देशित करने के लिए किया जाता है, तो नियंत्रण युग्मन दो मॉड्यूल के बीच मौजूद होता है।


5. External Coupling: बाहरी युग्मन तब उत्पन्न होता है जब दो मॉड्यूल बाहरी रूप से लगाए गए डेटा प्रारूप, संचार प्रोटोकॉल या डिवाइस इंटरफ़ेस को साझा करते हैं। यह बाहरी उपकरणों और उपकरणों के संचार से संबंधित है।


6. Common Coupling: दो मॉड्यूल सामान्य युग्मित होते हैं यदि वे कुछ वैश्विक डेटा आइटम के माध्यम से जानकारी साझा करते हैं।


7. Content Coupling:  सामग्री युग्मन दो मॉड्यूल के बीच मौजूद है यदि वे कोड साझा करते हैं, उदाहरण के लिए, एक मॉड्यूल से दूसरे मॉड्यूल में एक शाखा।



what is cohesion in software engineering

कंप्यूटर प्रोग्रामिंग में, cohesion उस डिग्री को परिभाषित करता है जिसमें एक मॉड्यूल के तत्व एक साथ होते हैं। इस प्रकार, cohesion किसी दिए गए मॉड्यूल के भीतर functionality के टुकड़ों के बीच संबंधों की ताकत को मापता है। उदाहरण के लिए, अत्यधिक संयोजक प्रणालियों में, कार्यक्षमता strongly related होती है।


सामंजस्य एक क्रमिक प्रकार का माप है और इसे आमतौर पर "high cohesion" या "low cohesion" के रूप में वर्णित किया जाता है।


cohesion and coupling in software engineering in hindi
cohesion and coupling in software engineering in hindi



types of cohesion in software engineering


Functional Cohesion: Functional Cohesion को तब कहा जाता है जब एक मॉड्यूल के विभिन्न तत्व एक ही कार्य को प्राप्त करने के लिए सहयोग करते हैं।

Sequential Cohesion: एक मॉड्यूल को Sequential Cohesionकहा जाता है यदि एक मॉड्यूल का तत्व अनुक्रम के घटक बनाता है, जहां अनुक्रम के एक घटक से आउटपुट अगले में इनपुट होता है।

Communicational Cohesion: एक मॉड्यूल को  Communicational Cohesion कहा जाता है, यदि मॉड्यूल के सभी कार्य समान डेटा संरचना को संदर्भित करते हैं या अपडेट करते हैं, उदाहरण के लिए, किसी सरणी या स्टैक पर परिभाषित कार्यों का सेट।

Procedural Cohesion: एक मॉड्यूल को Procedural Cohesion कहा जाता है यदि मॉड्यूल के उद्देश्य का सेट एक प्रक्रिया के सभी भाग होते हैं जिसमें एक लक्ष्य को प्राप्त करने के लिए चरणों के विशेष क्रम को पूरा करना होता है, जैसे, एक संदेश को डिकोड करने के लिए एल्गोरिथम।

Temporal Cohesion: जब एक मॉड्यूल में ऐसे कार्य शामिल होते हैं जो इस तथ्य से जुड़े होते हैं कि सभी विधियों को एक ही समय में निष्पादित किया जाना चाहिए, तो मॉड्यूल को  Temporal Cohesion प्रदर्शित करने के लिए कहा जाता है।

Logical Cohesion: एक मॉड्यूल को तार्किक रूप से एकजुट कहा जाता है यदि मॉड्यूल के सभी तत्व एक समान ऑपरेशन करते हैं। उदाहरण के लिए एरर हैंडलिंग, डेटा इनपुट और डेटा आउटपुट आदि।

Coincidental Cohesion: एक मॉड्यूल को Coincidental Cohesion कहा जाता है यदि वह ऐसे कार्यों का एक समूह करता है जो एक दूसरे से बहुत शिथिल रूप से जुड़े होते हैं, यदि बिल्कुल भी।

Wednesday, October 6, 2021

What is modularity in software engineering in Hindi - Software engineering Notes

October 06, 2021 0
What is modularity in software engineering in Hindi - Software engineering Notes

मॉड्यूल का सीधा सा मतलब है सॉफ्टवेयर घटक जो सॉफ्टवेयर को विभाजित करके बनाए जाते हैं। सॉफ्टवेयर को विभिन्न घटकों में विभाजित किया जाता है जो एक एकल कार्यशील वस्तु बनाने के लिए एक साथ काम करते हैं लेकिन कभी-कभी वे एक दूसरे से जुड़े नहीं होने पर एक पूर्ण कार्य के रूप में प्रदर्शन कर सकते हैं। सॉफ्टवेयर मॉड्यूल बनाने की इस प्रक्रिया को Modularity in software engineering के रूप में जाना जाता है।


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


मॉड्यूलरिटी का मूल सिद्धांत यह है कि "सिस्टम को एकजुट, शिथिल युग्मित घटकों (मॉड्यूल) से बनाया जाना चाहिए" जिसका अर्थ है कि सिस्टम विभिन्न घटकों से बना होना चाहिए जो एकजुट हों और एक कुशल तरीके से एक साथ काम करें और ऐसे घटकों में एक अच्छी तरह से- परिभाषित समारोह। एक मॉड्यूलर प्रणाली को परिभाषित करने के लिए, कई गुण या मानदंड हैं जिनके तहत हम इसकी क्षमताओं पर विचार करते हुए एक डिजाइन पद्धति का मूल्यांकन कर सकते हैं।


ये मानदंड मेयर द्वारा परिभाषित किए गए हैं। उनमें से कुछ नीचे दिए गए हैं:

Modularity in software engineering in Hindi

  • Modular Decomposability –

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


  • Modular Composability –

कंपोज़िबिलिटी का सीधा मतलब है कि बनाए गए मॉड्यूल को संयोजित करने की क्षमता। यह वास्तव में सिस्टम डिज़ाइन का सिद्धांत है जो उस तरीके से संबंधित है जिसमें दो या दो से अधिक घटक एक दूसरे से संबंधित या जुड़े हुए हैं। मॉड्यूलर कंपोज़िबिलिटी का अर्थ है मॉड्यूल को एक नई प्रणाली में इकट्ठा करना जिसका अर्थ है कि घटकों को एक नई प्रणाली में जोड़ना।


  • Modular Understandability –

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


  • Modular Continuity –

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


  • Modular Protection –

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

Evolutionary model in software engineering in Hindi - Software Engineering Notes

October 06, 2021 0
Evolutionary model in software engineering in Hindi - Software Engineering Notes

evolutionary model को क्रमिक संस्करण मॉडल और कभी-कभी  successive versions model के रूप में भी जाना जाता है। evolutionary modelमें, सॉफ़्टवेयर की आवश्यकता को पहले कई मॉड्यूल (या कार्यात्मक इकाइयों) में विभाजित किया जाता है, जिन्हें वृद्धिशील रूप से निर्मित और वितरित किया जा सकता है ।


development पहले सिस्टम के मुख्य मॉड्यूल विकसित करता है। कोर मॉड्यूल वे हैं जिन्हें अन्य मॉड्यूल से सेवाओं की आवश्यकता नहीं है। प्रारंभिक उत्पाद कंकाल को क्रमिक संस्करणों में नई कार्यक्षमताओं को जोड़कर क्षमता के बढ़ते स्तरों में refined किया जाता है। प्रत्येक evolutionary model को developmentके एक  iterative waterfall model का उपयोग करके विकसित किया जा सकता है।


evolutionary model चित्र 6 में दिखाया गया है। उत्पाद का प्रत्येक क्रमिक संस्करण/मॉडल पूरी तरह से कार्य करने वाला सॉफ़्टवेयर है जो पिछले संस्करणों/मॉडल की तुलना में अधिक कार्य करने में सक्षम है।


evolutionary model in software engineering in Hindi
evolutionary model in software engineering in Hindi



विकासवादी मॉडल आम तौर पर बहुत बड़े उत्पादों के लिए उपयोगी होता है, जहां वृद्धिशील कार्यान्वयन के लिए मॉड्यूल ढूंढना आसान होता है।


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


 Advantages of evolutionary model in software engineering in Hindi

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


Disadvantages of evolutionary model in software engineering in Hindi

समस्या को कई संस्करणों (several versions) में विभाजित करना मुश्किल है जो ग्राहक को स्वीकार्य होगा और जिसे क्रमिक रूप से कार्यान्वित और वितरित किया जा सकता है।

Tuesday, October 5, 2021

What is SRS in software engineering in Hindi - सॉफ्टवेयर इंजीनियरिंग नोट्स

October 05, 2021 0
What is SRS in software engineering in Hindi - सॉफ्टवेयर इंजीनियरिंग नोट्स

 एक अच्छा SRS बनाने के लिए, यहाँ आपको कुछ बिंदु दिखाई देंगे जिनका उपयोग किया जा सकता है और जिन्हें अच्छे SRS की संरचना बनाने के लिए माना जाना चाहिए। ये इस प्रकार हैं:


srs in software engineering in hindi
srs in software engineering in hindi


Check also :- cocomo model in software engineering in Hindi 

SRS in software engineering in Hindi


1 परिचय


(i) इस दस्तावेज़ का उद्देश्य (Purpose of this document)

(ii) इस दस्तावेज़ का दायरा (Scope of this document)

(iii) सिंहावलोकन ( Overview)

2. सामान्य विवरण (General description)

3. कार्यात्मक आवश्यकताएँ (Functional Requirements)

4. इंटरफ़ेस आवश्यकताएँ ( Interface Requirements)

5. प्रदर्शन आवश्यकताएँ ( Performance Requirements)

6. डिजाइन की बाधाएं ( Design Constraints)

7. गैर-कार्यात्मक गुण (Non-Functional Attributes)

8. प्रारंभिक अनुसूची और बजट (Preliminary Schedule and Budget)

9. परिशिष्ट (Appendices)

components of srs in software engineering in Hindi

Software Requirement Specification (SRS) Format जैसा कि नाम से पता चलता है, सॉफ्टवेयर सिस्टम के सफल विकास के लिए सॉफ्टवेयर की आवश्यकताओं का पूरा विनिर्देश और विवरण है जिसे पूरा करने की आवश्यकता है। आवश्यकता के प्रकार के आधार पर ये आवश्यकताएं कार्यात्मक होने के साथ-साथ गैर-आवश्यकताएं भी हो सकती हैं। विभिन्न ग्राहकों और ठेकेदार के बीच बातचीत इसलिए की जाती है क्योंकि ग्राहकों की जरूरतों को पूरी तरह से समझना आवश्यक है।


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


  • परिचय :

(i) Purpose of this Document –

सबसे पहले, इस दस्तावेज़ की आवश्यकता क्यों है और दस्तावेज़ का उद्देश्य क्या है इसका मुख्य उद्देश्य समझाया और वर्णित किया गया है।

(ii)  Scope of this document –

इसमें दस्तावेज़ का समग्र कार्य और मुख्य उद्देश्य और यह ग्राहक को क्या मूल्य प्रदान करेगा, इसका वर्णन और व्याख्या की गई है। इसमें विकास लागत और आवश्यक समय का विवरण भी शामिल है।

(iii) Overview –

इसमें उत्पाद का विवरण समझाया गया है। यह केवल उत्पाद का सारांश या समग्र समीक्षा है।


  • General description 

इसमें उत्पाद के सामान्य कार्य जिसमें उपयोगकर्ता का उद्देश्य, उपयोगकर्ता की विशेषता, सुविधाएँ, लाभ शामिल हैं, इसके महत्व का उल्लेख क्यों किया गया है। यह उपयोगकर्ता समुदाय की विशेषताओं का भी वर्णन करता है।


  • Functional Requirements :

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


  • Interface Requirements :

इसमें सॉफ्टवेयर इंटरफेस जिसका मतलब है कि सॉफ्टवेयर प्रोग्राम एक दूसरे के साथ कैसे संचार करता है या उपयोगकर्ता किसी भी भाषा, कोड या संदेश के रूप में पूरी तरह से वर्णित और समझाया गया है। उदाहरण साझा मेमोरी, डेटा स्ट्रीम आदि हो सकते हैं।


  • Performance Requirements :

इसमें सॉफ्टवेयर सिस्टम विशिष्ट परिस्थितियों में वांछित कार्य कैसे करता है, इसके बारे में बताया गया है। यह आवश्यक समय, आवश्यक स्मृति, अधिकतम त्रुटि दर आदि की भी व्याख्या करता है।


  • Design Constraints :

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


  • Non-Functional Attributes :

इसमें गैर-कार्यात्मक विशेषताओं को समझाया गया है जो बेहतर प्रदर्शन के लिए सॉफ़्टवेयर सिस्टम द्वारा आवश्यक हैं। एक उदाहरण में सुरक्षा, सुवाह्यता, विश्वसनीयता, पुन: प्रयोज्यता, अनुप्रयोग संगतता, डेटा अखंडता, मापनीयता क्षमता आदि शामिल हो सकते हैं।


  • Preliminary Schedule and Budget :

इसमें परियोजना योजना के प्रारंभिक संस्करण और बजट की व्याख्या की गई है जिसमें परियोजना के विकास के लिए आवश्यक कुल समय अवधि और समग्र लागत शामिल है।


  • Appendices :

इसमें अतिरिक्त जानकारी जैसे संदर्भ जहाँ से जानकारी एकत्र की जाती है, कुछ विशिष्ट शब्दों की परिभाषाएँ, संक्षिप्तीकरण, संक्षिप्तीकरण आदि दिए जाते हैं और समझाए जाते हैं।