Requirements Engineering Process in Software Engineering | its types and Eliciatation

Requirements Engineering Process क्या है?

Requirement engineer का कार्य software engineer की मदद करना होता है। किसी software को तभी पूर्ण माना जायेगा जब उसके ग्राहक के द्वारा उसके सभी प्रकार से सही होने का प्रमाण पत्र मिल जाता है इसलिए software बनाने से पूर्व उसकी आवश्यकताओं को इकट्ठा करना आवश्यक होता है।

इसी client के आवश्यकताओं का विश्लेषण और उनका documentation को requirement engineering कहा जाता है। इसलिए हम कह सकते हैं कि software engineering का उद्देश्य एक अच्छे स्तर के system तैयार करना होता है।

What is Requirements Engineering ?

Recuirments Engineering  stackholder  की जरूरतों और इच्छाओं को जानने और उन्हें विस्तृत आवश्यकताओं के एक सहमत-सेट में विकसित करने की प्रक्रिया है जो बाद की सभी development activities के लिए आधार के रूप में काम कर सकती है।

Read AlsoWHAT IS A SOFTWARE ENGINEERING PRACTICE | PDF NOTES IN HINDI

Requirement engineer के द्वारा निम्न तत्व है जिस पर विशेष रूप से ध्यान दिया जाता है:

  • ग्राहक क्या चाहता है इसे समझने का प्रयास करना ।
  • आवश्यकताओं का विश्लेषण करना।
  • व्यवहार्यता तक पहूच बनाना।
  • आपसी बातचीत के लिए रास्ता बनाना ।
  • हल को स्पष्ट रूप से परिभाषित करना ।
  • Specification का निर्धारण करना ।
Requirements Engineering Block Daigram - 

Requirements Engineering in software

Requirements Engineering tasks:

Requirement engineering के द्वारा निम्न कार्य (task perform) किये जाते हैं:

Inception:

आरंभ में requirement engineer इस प्रकार का प्रश्न तैयार करते हैं जिससे समस्या के विषय में जानकारी प्राप्त हो, किस समस्या का हल चाहते हैं, हल किस प्रकार का होगा और ग्राहको और software developer के बीच आपसी संबंध किस प्रकार का होगा।

Elicitation:

यह पता लगया जाता है कि ग्राहक किस प्रकार का software चाहता है, software कैसे व्यापार के जरूरतो को पुरा करेगा, ग्राहक का software बनवाने के पीछे उद्देश्य क्या है और उस software को किस प्रकार उपयोग में लाया जाना है।

Elaboration:

Software develop करने के बाद किस प्रकार व्यवहार एवं कार्य करेगा इस पर ध्यान केंद्रित किया जाता है।

Negotiation:

ग्राहकों की आवश्यताओं की प्राथमिकता, उसके वर्गीकरण को sub-set के रूप में संगठित करके रखा जाता है। Software के कार्यप्रणाली की शुद्धता की समीक्षा की जाती है।

Specification:

Computer आधारित system के लिए कार्य, प्रदर्शन एवं उसके विकास का वर्णन किया जाता है।

Requirement validation:

इस बात पर ध्यान दिया जाता है कि software नियमों के अनुसार बनाया गया है या नहीं, उसके quality को maintain किया गया है या नहीं, और इसी प्रार अन्य तत्व आवश्कयता के अनुरूप है या नहीं।

Requirement management:

Project teams को इस बात पर मदद पहुॅचाने का कार्य करना कि वे आवश्यकताओं को trace, एवं नियंत्रित कर सके। इसमें आवश्यकताओं का प्रबंधन करने के लिए project team का मदद software engineering team द्वारा किया जाता है।

Read Also - WHAT IS CONCURRENT MODEL AND UNIFIED PROCESS IN SOFTWARE ENGINEERING

How do you initiate requirements engineering process?

इसका अर्थ होता है कि requirement engineering के प्रक्रिया की शुरूआत करना अर्थात् requirement engineering प्रक्रिया के आरंभ में क्या करना होता है इसे परिभाषित करना । Initiating requirement process में निम्न प्रश्न क्रमबद्ध किये जाते हैं:

i) End user, manager, maintenance engineer, domain विशेषज्ञों एवं trade union की पहचान करना होता है।
ii) End user, manager, maintenance engineer, domain विशेषज्ञों एवं trade union क्या सोच रहें है उनका अस्तित्व है या नहीं इसे पता लगाना ।
iii) End user, manager, maintenance engineer, domain विशेषज्ञों एवं trade union के बीच आपसी सहयोग स्थापित करते हुए कार्य को आगे बढ़ाना होता है।
iv) System के फायदे, ग्राहको के फायदे, हितधारको के लिए कुछ संदर्भ-मुक्त प्रश्न रखा जाता है जो निम्न है:

  • a) Solution का उपयोग किसके द्वारा किया जायेगा।
  • b) Solution का आर्थिक लाभ किसे प्राप्त होगा।
  • c) जो solution चाहिए क्या उसका कोई अन्य श्रोत मौजूद है।
v) इसी प्रकार कुछ प्रश्न होते हैं जो developer के लिए होते है जिससे वह समस्या को समझ कर ग्राहक को उसके अनुसार मदद करने का प्रयास करता है:
  • a) समस्या को हल करने के लिए सबसे सरल रास्ता कौन सा है।
  • b) अच्छे output को प्राप्त करने का सबसे सरल हल क्या है।
  • c) क्या विशेष प्रदर्शन की कमी का असर उस रास्ते पर होता जिसका हल operation system से जुड़ा हुआ है।
vi) इसी प्रकार अंतिम प्रश्नो का समूह को communication को प्रभावशील बनाने पर केंद्रित किया जाता है:
  • a) इन प्रश्नो का सबसे सठीक अधिकारिक उत्तर किस व्यक्ति के द्वारा दिया जायेगा।
  • b) क्या आपके द्वारा बहुत अधिक सवाल पूछा जा रहा है।
  • c) इससे कोई अतिरिक्त जानकारी प्राप्त हो सकती है।
  • d) क्या इससे कुछ अन्य प्रश्न भी पूछने चाहिए।
इन प्रश्नों के उत्तर प्राप्त करके engineering के आरंभिक जरूरतो को पुरा कर सकते हैं।

Eliciting Requirements Developing Use cases:

आवश्यकताओं को सामने लाने के लिए समस्या की पहचान करना होता है। समस्या पहचान लेने के पश्चात् समाधान के तत्व का प्रस्ताव रखना होता है और समाधान के लिए आवश्यक तत्वो का एक आरंभिक set बनाकर रखना होता है। 

इसके अतिरिक्त कुछ दिशा-निर्देश जारी किया जाता है उस दिशा-निर्देश के अधार पर काय करने के लिए निम्न अवश्यकताए होती है:

  1. Facilitator के द्वारा meeting का नियंत्रण |
  2. ग्राहक और developer दोनों का meeting में भाग लेना ।
  3. कार्यसूची में लचीलापन रखना।
  4. तैयारी करना और भागीदारी के लिए नियम बनाना ।
  5. आम सहमती को मापने में उपयोग होने वाले तत्व जैसे स्लिप, paid, electronic bulletin board इत्यादि का प्रयोग करना ।

Advantages of Requirement Engineering :

  • Overhead Process की कम संभावना। 
  • आवश्यकताओं के विश्लेषण और प्रलेखन के लिए आवश्यक तुलनात्मक रूप से कम होगा क्योंकि आवश्यकताएँ इंजीनियरिंग का उपयोग करके कैप्चर की जाने वाली आवश्यकताएं तेज और अधिक सटीक होती हैं।
  • Requirements जो important हैं उन्हें requirements engineering का उपयोग करके प्रारंभिक चरण में पहचाना और कार्यान्वित किया जा सकता है। 
  • चूंकि आवश्यकताओं की इंजीनियरिंग गतिविधियों के बीच संगामिति है, stackholder और software engineers के बीच communication अधिक कुशल है।
  • आवश्यकताओं में परिवर्तन के लिए त्वरित प्रतिक्रिया है। आवश्यकताओं की पहचान और उनके प्रलेखन को अंतिम रूप देने से पहले पुनरावृत्ति की एक श्रृंखला से गुजरना पड़ता है, इसलिए आवश्यकताओं में परिवर्तन की प्रतिक्रिया तेज हो सकती है और अपेक्षाकृत कम लागत पर की जा सकती है।

Recuirements Engineering Download PDF Notes: 

PDF Notes Requirements Engineering Download PDF

FAQ:

What is requirement engineering and its types?

Requirements engineering is the process of eliciting stakeholder needs and desires and developing them into an agreed-upon set of detailed requirements that can serve as a basis for all subsequent development activities.

What are the 4 types of requirements? 

  • Functional Requirements 
  • Performance Requirements 
  • System Technical Requirements 
  • Specifications

What are the uses of requirement engineering?

  • Determining the feasibility of producing a particular product as part of the product line.
  • Determining the production, testing, and deployment of the particular product.

Post a Comment

0 Comments