घटना विभाजन: Difference between revisions

From Vigyanwiki
 
No edit summary
Line 1: Line 1:
[[Image:ContextDiagram LastResortHotel.png|360px|thumb|एक काल्पनिक होटल के लिए [[सिस्टम संदर्भ आरेख]]। (परिपाटी के अनुसार, द्विदिश प्रवाह, दोनों सिरों पर तीरों के साथ, अक्सर तब उपयोग किया जाता है जब कोई संवाद बाहरी रूप से शुरू किया जाता है। उदाहरण के लिए, बुकिंग संवाद में प्रवाह बुकिंग अनुरोध होता है, जो प्रारंभिक ट्रिगर होता है; बुकिंग पुष्टिकरण, परिणाम, वापस भेजा जाता है। )]]घटना विभाजन एक आसान-से-लागू [[सिस्टम विश्लेषण]] तकनीक है जो विश्लेषक को छोटे, सरल, न्यूनतम-जुड़े, आसानी से समझने वाले मिनी सिस्टम / उपयोग के मामलों के संग्रह में बड़े सिस्टम के लिए आवश्यकताओं को व्यवस्थित करने में मदद करता है।
[[Image:ContextDiagram LastResortHotel.png|360px|thumb|एक काल्पनिक होटल के लिए [[सिस्टम संदर्भ आरेख|सिस्टम संदर्भ निरूपण आरेख]]। (रूढ़िवाद के अनुसार, जब किसी संवाद को बाह्यतः प्रारंभ किया जाता है, तो दोनों ओर सीधी बाणों के साथ दिखाए जाने वाले दोनों संवाद होते हैं। उदाहरण के लिए, "बुकिंग संवाद" में "बुकिंग अनुरोध" श्रृंखला सम्मलित है, जो प्रारंभिक प्रेरक है; "बुकिंग पुष्टि", परिणाम, वापस भेजा जाता है।)]]इवेंट पार्टीशनिंग एक आसानी से लागू किया जाने वाला सिस्टम विश्लेषण तकनीक है जो [[सिस्टम विश्लेषण]] को बड़े सिस्टम के लिए आवश्यकताओं को एक संग्रह के रूप में संगठित करने में सहायता करती है। इसके द्वारा संशोधित आवश्यकताएं छोटे, सरल, न्यूनतम संपर्कित, समझने में सरल "मिनी सिस्टम" / यूज केस में व्यवस्थित की जाती हैं।


== सिंहावलोकन ==
== सिंहावलोकन ==
इवेंट-विभाजन दृष्टिकोण को [[आवश्यक प्रणाली विश्लेषण]] में स्टीफन एम. मैकमेनामिन और जॉन एफ. पामर द्वारा समझाया गया है।<ref>MCME-84: {{cite book
स्टीफन एम. मैकमेनामिन और जॉन एफ. पाल्मर द्वारा[[आवश्यक प्रणाली विश्लेषण]] में इवेंट-पार्टीशनिंग दृष्टिकोण की व्याख्या की गई है।<ref>MCME-84: {{cite book
  | first = Stephen M.
  | first = Stephen M.
  | last = McMenamin
  | last = McMenamin
Line 12: Line 12:
  | publisher = Prentice-Hall (Yourdon Press)
  | publisher = Prentice-Hall (Yourdon Press)
  | isbn = 0-13-287905-0
  | isbn = 0-13-287905-0
}} ({{ISBN|978-0-13-287905-7}})</ref> दृष्टिकोण का एक संक्षिप्त संस्करण डेटा प्रवाह आरेख#ईवेंट विभाजन दृष्टिकोण (डीएफडी) पर आलेख में वर्णित है। एडवर्ड योरडन |एडवर्ड योरडन के जस्ट एनफ स्ट्रक्चर्ड एनालिसिस में एक अधिक संपूर्ण चर्चा है।<ref>YOUR-89: {{cite web  
}} ({{ISBN|978-0-13-287905-7}})</ref> इस दृष्टिकोण का संक्षेपिक संस्करण डेटा फ्लो डायग्राम (DFD) पर लेख में वर्णित किया गया है। एडवर्ड योरडन की "बस अधिक संरचित विश्लेषण" में एक अधिक पूर्ण चर्चा दी गई है।<ref>YOUR-89: {{cite web  
  |url=http://yourdon.com/strucanalysis/wiki/index.php?title=Chapter_18#CONSTRUCTING_THE_ENVIRONMENTAL_MODEL  
  |url=http://yourdon.com/strucanalysis/wiki/index.php?title=Chapter_18#CONSTRUCTING_THE_ENVIRONMENTAL_MODEL  
  |title=yourdon.com - ''Just Enough Structured Analysis'', Chapters 18, 19  
  |title=yourdon.com - ''Just Enough Structured Analysis'', Chapters 18, 19  
Line 20: Line 20:
  |archive-date=2007-02-14  
  |archive-date=2007-02-14  
  |url-status=dead  
  |url-status=dead  
  }}</ref> विवरण डेटा प्रवाह आरेख बनाने के लिए तकनीक का उपयोग करने पर केंद्रित है, लेकिन इसका उपयोग उपयोग के मामलों की पहचान करने के लिए भी किया जा सकता है।
  }}</ref> र्णन इस तकनीक का उपयोग डेटा फ्लो डायग्राम बनाने के लिए करने पर केंद्रित है, किन्तु यह यूज केस्स की पहचान के लिए भी उपयोग किया जा सकता है।


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


== घटना विभाजन विषय ==
== घटना विभाजन विषय ==


=== अभिनेता → घटना → पता लगाएँ → प्रतिक्रिया दें ===
=== अभिनेता → घटना → पता लगाएँ → प्रतिक्रिया दें ===
विधि में निम्न चरण होते हैं।
 
* 1. उन कारकों (बाहरी प्रणालियों) की सूची पर विचार-मंथन करके बाहरी प्रणालियों की पहचान करें, जो बाहरी घटनाओं के स्रोत हैं। यदि आप किसी ग्राफ़िक को मददगार पाते हैं, तो एक सिस्टम संदर्भ आरेख बनाएं जो अध्ययन के तहत सिस्टम के बाहर के अभिनेताओं और उनके बीच प्रवाह/संकेतों को दिखा रहा हो।
 
* 2. खुद को एक अभिनेता के प्रति सहानुभूति रखते हुए (या अभिनेता के प्रतिनिधियों के साथ काम करते हुए), इवेंट-संचालित आर्किटेक्चर/ट्रिगर की एक सूची पर मंथन करें कि वे चाहते हैं कि सिस्टम को एक नियोजित प्रतिक्रिया मिले। (ध्यान दें कि सिस्टम ''बाहरी'' घटनाओं को उत्पन्न नहीं कर सकता; केवल एक अभिनेता ही कर सकता है।)
इस विधि में निम्नलिखित चरण होते हैं।
* 1. बाह्य सिस्टमों की पहचान करें: "अभिनेता" (बाह्य सिस्टम) की एक सूची तैयार करें जिसमें बाह्य घटनाओं के स्रोत सम्मलित होते हैं। यदि आपको किसी ग्राफिक की सहायता आवश्यक महसूस होती है, तो उसमें संदर्भ आरेख बनाएं जिसमें अध्ययन के अनुसार सिस्टम के बाहर अभिनेता और उनके बीच फ्लो/संकेत हों।
* 2. "अभिनेता" के जूते में खुद को रखकर (या अभिनेता प्रतिनिधियों के साथ काम करके), सिस्टम को योजनित प्रतिक्रिया होने के लिए अभिनेता की इच्छित "बाह्य घटनाओं" / "ट्रिगर्स" की एक सूची ब्रेनस्टोर्म करें। (ध्यान दें कि सिस्टम बाह्य घटनाएं प्रारंभ नहीं कर सकता है; केवल अभिनेता कर सकता है।)
* 3. पहचानें कि बाहरी घटनाओं का पता लगाने के लिए सिस्टम को क्या सक्षम करेगा:
* 3. पहचानें कि बाहरी घटनाओं का पता लगाने के लिए सिस्टम को क्या सक्षम करेगा:
** डेटा के एक या अधिक टुकड़ों का आगमन (संभवतः संदेश के रूप में)
** एक या अधिक डेटा के आगमन (संदेश के रूप में संभव)
** समय में एक या एक से अधिक बिंदुओं का आगमन (एम एंड पी द्वारा लौकिक घटनाएँ कहा जाता है, और उनके द्वारा बाहरी घटनाओं से अलग)
** एक या अधिक समय बिंदुओं के आगमन (म्‍यूएल द्वारा "कालिक" घटनाओं के रूप में कहा गया है, और इसे उन्होंने बाह्य घटनाओं से अलग तय किया है)
* 4. नियोजित प्रतिक्रिया (प्रतिक्रियाओं) की पहचान करें जो कि घटनाओं के होने पर सिस्टम कर सकता है। यह प्रतिक्रिया (ओं)/उपयोग के मामले हैं जो सिस्टम को अपने लक्ष्यों को प्राप्त करने में सक्षम बनाती हैं।
* 4. नियोजित प्रतिक्रिया (प्रतिक्रियाओं) की पहचान करें जो कि घटनाओं के होने पर सिस्टम कर सकता है। यह प्रतिक्रिया (ओं)/उपयोग के स्थितियों हैं जो सिस्टम को अपने लक्ष्यों को प्राप्त करने में सक्षम बनाती हैं।


पॉल टी. वार्ड और स्टीफन जे. मेलोर द्वारा ''स्ट्रक्चर्ड डेवलपमेंट फॉर रियल-टाइम सिस्टम्स: एसेंशियल मॉडलिंग टेक्निक्स'' में इस तकनीक को गैर-ईवेंट इवेंट्स के साथ विस्तारित किया गया था।<ref>WARD-85: {{cite book
इस तकनीक को पॉल टी. वार्ड और स्टीफन जे. मेलोर द्वारा ''स्ट्रक्चर्ड डेवलपमेंट फॉर रियल-टाइम सिस्टम्स: एसेंशियल मॉडलिंग टेक्निक्स'' में इस तकनीक में "गैर-घटना" घटनाओं के साथ विस्‍तार दिया गया था।<ref>WARD-85: {{cite book
  | first = Paul T.
  | first = Paul T.
  | last = Ward
  | last = Ward
Line 48: Line 50:
}} ({{ISBN|978-0-13-854787-5}})</ref>
}} ({{ISBN|978-0-13-854787-5}})</ref>


{{cquote|"Since the terminators [actors] are by definition outside the bounds of the system-building effort represented by the model, the implementors cannot modify the terminator [actor] technology at will to improve its reliability. Instead, they must build responses to terminator [actor] problems into the essential model of the system. A useful approach to modeling responses to terminator [actor] problems is to build a list of 'normal' events and then to ask, for each event, 'Does the system need to respond if this event '''''fails''''' to occur as expected?' " <ref>WARD-85, pp. 38-39.</ref> [emphasis added] }}
{{cquote|"चूंकि टर्मिनेटर (अभिनेता) सिद्धांत के अनुसार, मॉडल द्वारा प्रतिष्ठानित सिस्टम निर्माण प्रयास की सीमा के बाहर होते हैं, इसलिए क्रियान्वयकर्ताओं को टर्मिनेटर (अभिनेता) प्रौद्योगिकी को सुधारने के लिए आज्ञाकारी रूप से संशोधित नहीं कर सकते हैं। बजाय इसके, उन्हें सिस्टम के मूल मॉडल में टर्मिनेटर (अभिनेता) समस्याओं के लिए प्रतिक्रियाएँ बनानी होती हैं। टर्मिनेटर (अभिनेता) समस्याओं के प्रतिक्रियाओं के लिए मॉडलिंग करने के लिए एक उपयोगी दृष्टिकोण है 'साधारण' घटनाओं की एक सूची बनाना और फिर प्रत्येक घटना के लिए पूछना, 'क्या सिस्टम को इस घटना के साथ ''अपेक्षित रूप से असफल होने पर'' प्रतिक्रिया की आवश्यकता है?'" <ref>WARD-85, पृष्ठ 38-39.</ref> [मेरा जोरदारी जोड़ने के लिए]}}


=== डेटा डिक्शनरी नोटेशन ===
=== डेटा डिक्शनरी नोटेशन ===
[https://web.archive.org/web/20070723121403/http://yourdon.com/strucanalysis/wiki/index.php?title=Chapter_10#DATA_DICTIONARY_NOTATION डेटा डिक्शनरी नोटेशन] की Yourdon/DeMarco शैली का वर्णन करने के लिए उपयोग किया जा सकता है डेटा की संरचना और संरचना।
[https://web.archive.org/web/20070723121403/http://yourdon.com/strucanalysis/wiki/index.php?title=Chapter_10#DATA_DICTIONARY_NOTATION डेटा डिक्शनरी नोटेशन] का वर्णन करने के लिए योर्डन/डीमार्को शैली का डेटा शब्दकोश नोटेशन उपयोग किया जा सकता है।


{| class="wikitable"
{| class="wikitable"
|-
|-
! Symbol
!चिह्न
! Meaning
!अर्थ
|-
|-
| =
| =
| "contains", "is", or "is composed of"
|"सम्मलित है", "है", या "इससे बना है"
|-
|-
| +
| +
| "and", "as well as", or "together with" (''not'' arithmetic "plus")
|"और", "साथ ही", या "साथ में" (अंकगणित "प्लस" नहीं)
|-
|-
| [''x'' ; ''y'' ; ''z'']
| [''x'' ; ''y'' ; ''z'']
| "select only one of either ''x'' or ''y'' or ''z''". Either a ''[[semicolon]]'' (;) or a ''[[Vertical bar#Backus.E2.80.93Naur form|vertical bar]]'' (|) may be used to separate items in the list.
| "x या y या z में से केवल एक का चयन करें"। सूची में वस्तुओं को अलग करने के लिए या तो  ''[[semicolon|अर्धविराम]]'' (;) या  ''[[Vertical bar#Backus.E2.80.93Naur form|लंबवत बार]]''<nowiki> (|) का उपयोग किया जा सकता है।</nowiki>
|-
|-
| ''m''{''x''}''n'' '''or'''<br>''m:n''{''x''} '''or'''<br><math>{}_m^n \{ x \}</math>
| ''m''{''x''}''n'' '''or'''<br>''m:n''{''x''} '''or'''<br><math>{}_m^n \{ x \}</math>
| "from ''m'' to ''n'' iterations of ''x''". If ''m'' or ''n'' is not specified, then the lower or upper limit is simply "unknown" or "unspecified". Multi-dimensional arrays may be specified by nesting, e.g., 10 { 10 { x } 10 } 10 defines a two-dimensional matrix of 10 rows with 10 columns.
|"एम से एक्स के एन पुनरावृत्तियों के लिए"। यदि एम या एन निर्दिष्ट नहीं है, तो निचली या ऊपरी सीमा "अज्ञात" या "अनिर्दिष्ट" है। बहु-आयामी सरणियों को नेस्टिंग द्वारा निर्दिष्ट किया जा सकता है, उदाहरण के लिए, 10 {10 {x} 10} 10 10 कॉलम वाली 10 पंक्तियों के द्वि-आयामी मैट्रिक्स को परिभाषित करता है।
|-
|-
| (''x'')
| (''x'')
| "optionally ''x''". This is equivalent to 0{''x''}1 '''or''' 0:1{''x''} '''or''' <math>{}_0^1 \{ x \}</math>.
| "वैकल्पिक रूप से x"। यह 0{''x''}1 या 0:1{''x''} या के समान है <math>{}_0^1 \{ x \}</math>.
|-
|-
| @
| @
| ''prefix'' for an ''[[identifier]]'' within an iteration. For example, in {@i+@j+x} ''i'' and ''j'' are identifiers.
| एक पुनरावृत्ति के भीतर एक ''[[identifier|पहचानकर्ता]]'' के लिए उपसर्ग। उदाहरण के लिए, {@i+@j+x} में i और j पहचानकर्ता हैं।
|-
|-
| * ... *
| * ... *
| Anything between single ''[[asterisk]]s'' is regarded as a comment. At the [[data element]] level, a comment may contain such type tags as "range :", "limits :", "precision :", "unit :" or "values :".
| सिंगल  ''[[asterisk|तारक]]'' के बीच कुछ भी एक टिप्पणी के रूप में माना जाता है। [[data element|डेटा तत्व]] स्तर पर, एक टिप्पणी में "श्रेणी :", "सीमाएं:", "परिशुद्धता :", "इकाई :" या "मान:" जैसे प्रकार के टैग हो सकते हैं।
|}
|}
डेटा संरचना तत्व संरचित प्रोग्रामिंग की संरचित प्रोग्रामिंग # नियंत्रण संरचनाओं को मैप कर सकते हैं:
डेटा संरचना तत्व संरचित प्रोग्रामिंग की संरचित प्रोग्रामिंग # नियंत्रण संरचनाओं को मैप कर सकते हैं:
* + बयानों के अनुक्रम को मैप कर सकता है (हालांकि यह जरूरी नहीं है)
* + को कथनों की "क्रमबद्धता" के लिए मैप किया जा सकता है (चूंकि यह आवश्यक नहीं है)
* [|] चयन के लिए मैप कर सकते हैं ([[सशर्त (कंप्यूटर प्रोग्रामिंग)]], [[स्विच स्टेटमेंट]])
* [|] चयन के लिए मैप कर सकते हैं ([[सशर्त (कंप्यूटर प्रोग्रामिंग)]], [[स्विच स्टेटमेंट]])
* {} , () पुनरावृत्ति के लिए मैप कर सकते हैं (लूप के लिए, जबकि लूप | प्री-टेस्ट लूप, मिडल-टेस्ट लूप, पोस्ट-टेस्ट लूप और [[अनंत लूप]])
* {} , () को "पुनरावृत्ति" (गिनती लूप, पूर्व-परीक्षा लूप, मध्य-परीक्षा लूप, अंत-परीक्षा लूप और [[अनंत लूप]]) के लिए मैप किया जा सकता है
नायब। परिभाषित आइटम सामग्री (जैसे, कमरे की कुंजी) के साथ-साथ डेटा (जैसे, आगमन तिथि-समय) हो सकते हैं।
नोट: परिभाषित आइटम "सामग्री" (उदाहरण के लिए, कमरे की कुंजी) और "डेटा" (उदाहरण के लिए, आगमन तिथि-समय) हो सकते हैं।


=== आवश्यकताओं की पहचान करना और उनके कारण ===
=== आवश्यकताओं की पहचान करना और उनके कारण ===
घटना-प्रतिक्रिया की जानकारी तालिका में दर्ज की जा सकती है। प्रतिक्रिया के लिए यह घटना विक्ट:रायसन डी'आत्रे|रायसन डी'आत्रे है, जो ट्रैसेबिलिटी #सॉफ्टवेयर को प्रतिक्रिया से पर्यावरण में वापस देता है।
घटना-प्रतिक्रिया सूचना एक तालिका में आकलित की जा सकती है। घटना प्रतिक्रिया के लिए "कारण" है, जो प्रतिक्रिया को पर्यावरण से "ट्रेसेबिलिटी" देता है।
{| class="wikitable"
{| class="wikitable"
|-
|-
! 1. Actor
!1. अभिनेता
! 2. External Event / Trigger
!2. बाहरी घटना / ट्रिगर
! 3. Detected by
!3. द्वारा पता लगाया गया
! 4. Response(s) / Use Case(s)
!4. प्रतिक्रिया (ओं) / केस का उपयोग करें
|-
|-
| Guest
|अतिथि
| Guest requests a room of a certain type, for a particular arrival date, departure date, at a certain rate, etc.
|अतिथि एक निश्चित प्रकार के कमरे का अनुरोध करता है, एक विशेष आगमन तिथि, प्रस्थान तिथि, एक निश्चित दर आदि के लिए।
| booking request +<br />(payment validation) +<br />(*external reservation system* booking confirmation) <ref>booking dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* booking request + *output* booking confirmation<br /> booking request = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = guest name + room type + (room facilities) +<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arrival date-time + departure date-time<br /> room type = * type of bedroom *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = * values : [ single ; double ; family ] *<br /> room facilities = * [[Boolean datatype|booleans]] that indicate presence or absence of a facility *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = television + radio + alarm clock + climate control + Internet access +<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; telephone + refrigerator + mini-bar + toilet + sink + bath + shower + bidet<br /> arrival date-time = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = date-time<br /> departure date-time = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = date-time<br /> date-time = * [[ISO 8601]] format *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = year + month + day of month + 'T' + hour + minute ></ref>
| बुकिंग अनुरोध +
| Book Room (may include guaranteed booking, alternate hotel booking, waitlisted booking)
(भुगतान सत्यापन) +
 
(*बाहरी आरक्षण प्रणाली* बुकिंग की पुष्टि) <ref>booking dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* booking request + *output* booking confirmation<br /> booking request = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = guest name + room type + (room facilities) +<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arrival date-time + departure date-time<br /> room type = * type of bedroom *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = * values : [ single ; double ; family ] *<br /> room facilities = * [[Boolean datatype|booleans]] that indicate presence or absence of a facility *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = television + radio + alarm clock + climate control + Internet access +<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; telephone + refrigerator + mini-bar + toilet + sink + bath + shower + bidet<br /> arrival date-time = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = date-time<br /> departure date-time = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = date-time<br /> date-time = * [[ISO 8601]] format *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = year + month + day of month + 'T' + hour + minute ></ref>
|बुक रूम (गारंटीकृत बुकिंग, वैकल्पिक होटल बुकिंग, प्रतीक्षा सूची वाली बुकिंग सम्मलित हो सकती है)
|-
|-
| Guest
|अतिथि
| Guest asks to cancel room booking.
|अतिथि कमरे की बुकिंग रद्द करने के लिए कहता है।
| cancellation request <ref>cancellation dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* cancellation request +  *output* cancellation confirmation</ref>
| रद्दिकरण अनुरोध <ref>cancellation dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* cancellation request +  *output* cancellation confirmation</ref>
| Cancel Booking
|बुकिंग रद्द करें
|-
|-
| Guest
|अतिथि
| Guest arrives at hotel.
|अतिथि होटल में आता है।
| arrival message = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = [guest name ; booking reference] <ref>arrival dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* arrival message + *output* arrival packet<br /> arrival packet = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = room key + room card + complimentary drink coupon</ref>
| आगमन संदेश = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = [अतिथि नाम; आरक्षण संदर्भ] <ref>arrival dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* arrival message + *output* arrival packet<br /> arrival packet = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = room key + room card + complimentary drink coupon</ref>
| Check in Guest
|चेक इन गेस्ट
|-
|-
| Time / Scheduler
|समय / अनुसूचक
| Guest ''fails to'' arrive at hotel. [This is a "non-event" event.]
|अतिथि होटल में आने में विफल रहता है। [यह एक "गैर-घटना" घटना है।]
| 11 pm (local time) [A "non-event" event is detected by the arrival of a point in time, a deadline.]
|रात 11 बजे (स्थानीय समय) [एक "गैर-घटना" घटना का पता एक बिंदु के समय, एक समय सीमा के आगमन से चलता है।]
| Create Guest Bill,<br /> Update Booking
|अतिथि बिल बनाएं,
 
बुकिंग अपडेट करें
|-
|-
| Guest
|अतिथि
| Guest asks to check out of hotel.
|मेहमान होटल से चेक आउट करने के लिए कहता है।
| check-out request = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = [guest name ; room number] <ref>check-out dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* check-out request + *output* guest bill</ref>
| चेक-आउट अनुरोध = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; =[अतिथि नाम; रूम नंबर] <ref>check-out dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* check-out request + *output* guest bill</ref>
| Create Guest Bill,<br /> Update Room Occupancy
|अतिथि बिल बनाएं,
 
अद्यतन कक्ष अधिभोग
|-
|-
| Time / Scheduler
|समय / अनुसूचक
| Guest ''fails to'' check out of hotel. [This is a "non-event" event.]
|अतिथि होटल से चेक आउट करने में विफल रहता है। [यह एक "गैर-घटना" घटना है।]
| 11 am (local time) [A "non-event" event is detected by the arrival of a point in time, a deadline.]
|11 पूर्वाह्न (स्थानीय समय) [एक "गैर-घटना" घटना का पता एक समय सीमा, एक समय सीमा के आगमन से चलता है।]
| Create Guest Bill
|अतिथि विधेयक बनाएँ
|-
|-
| Guest
|अतिथि
| Guest offers payment of bill.
|अतिथि बिल का भुगतान प्रदान करता है।
| payment vehicle = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = [cash ; cheque ; credit card ; debit card] + (guest id) <ref>payment dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* payment vehicle + *output* guest receipt<br /> guest receipt = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = guest name + guest address + {charge detail} + charge total + (taxes) + amount due + amount paid</ref>
| भुगतान वाहन = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; =[नकदी ; जाँच करना ; क्रेडिट कार्ड ; डेबिट कार्ड] + (अतिथि आईडी) <ref>payment dialogue = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = *input* payment vehicle + *output* guest receipt<br /> guest receipt = * *<br /> &nbsp;&nbsp;&nbsp;&nbsp; = guest name + guest address + {charge detail} + charge total + (taxes) + amount due + amount paid</ref>
| Accept Guest Payment
|अतिथि भुगतान स्वीकार करें
|-
|-
| Time / Scheduler
|समय / अनुसूचक
| Time to prepare Room Occupancy Report for previous night.
|पिछली रात के लिए कक्ष अधिभोग रिपोर्ट तैयार करने का समय।
| 8 am (local time)
|सुबह 8 बजे (स्थानीय समय)
| Report on Room Occupancy
|कक्ष अधिभोग पर रिपोर्ट
|-
|-
| Hotel Manager
|सराय प्रबंधक
| Hotel Manager requests Room Occupancy Report.
|होटल मैनेजर रूम ऑक्यूपेंसी रिपोर्ट मांगता है।
| occupancy report request
|अधिभोग रिपोर्ट अनुरोध
| Report on Room Occupancy
|कक्ष अधिभोग पर रिपोर्ट
|-
|-
| Smoke / CO Alarm
|धुआँ / सीओ अलार्म
| Alarm detects smoke.
|अलार्म धुएं का पता लगाता है।
| smoke alarm message
|धूम्रपान अलार्म संदेश
| Report Smoke Alarm
|स्मोक अलार्म की रिपोर्ट करें
|-
|-
| Smoke / CO Alarm
|धुआँ / सीओ अलार्म
| Alarm detects CO (carbon monoxide).
|अलार्म सीओ (कार्बन मोनोऑक्साइड) का पता लगाता है।
| CO alarm message
|सीओ अलार्म संदेश
| Report CO Alarm
|सीओ अलार्म की रिपोर्ट करें
|-
|-
|}
|}
Line 153: Line 162:


=== आवश्यकताओं को परिभाषित करना ===
=== आवश्यकताओं को परिभाषित करना ===
[[Image:LastResortHotel BookRoom Process.png|240px|thumb|[[डेटा प्रवाह आरेख]] संकेतन का उपयोग करते हुए एक काल्पनिक होटल में एकल प्रक्रिया।]][[Image:LastResortHotel BookRoom UseCase.png|240px|right|thumb|उपयोग केस आरेख संकेतन का उपयोग करते हुए एक काल्पनिक होटल में एकल उपयोग मामला।]]यह दृष्टिकोण विश्लेषक को घटनाओं का उपयोग करके मानसिक रूप से काटने के आकार के मिनी-सिस्टम में सिस्टम को विघटित करने में मदद करता है, जिसके लिए योजनाबद्ध प्रतिक्रिया की आवश्यकता होती है। प्रत्येक प्रतिक्रिया के विवरण का स्तर प्राथमिक उपयोग के मामलों के स्तर पर है। प्रत्येक नियोजित प्रतिक्रिया को DFD संकेतन का उपयोग करके या उपयोग केस आरेख संकेतन का उपयोग करके एकल उपयोग मामले के रूप में तैयार किया जा सकता है।
[[Image:LastResortHotel BookRoom Process.png|240px|thumb|[[डेटा प्रवाह आरेख]] संकेतन का उपयोग करते हुए एक काल्पनिक होटल में एकल प्रक्रिया है।]][[Image:LastResortHotel BookRoom UseCase.png|240px|right|thumb|उपयोग केस आरेख संकेतन का उपयोग करते हुए एक काल्पनिक होटल में एकल उपयोग मामला है।]]यह तकनीक विश्लेषक को योजनित प्रतिक्रिया की आवश्यकता रखने वाली घटनाओं का उपयोग करके सिस्टम को "मानसिक रूप से बाइट-साइज्ड" मिनी-सिस्टम में विभाजित करने में सहायता करती है। प्रत्येक प्लान की गई प्रतिक्रिया का विस्तार "प्राथमिक यूज केस" के स्तर पर होता है। प्रत्येक योजनित प्रतिक्रिया को DFD नोटेशन का उपयोग करके मॉडल किया जा सकता है या यूज केस डायग्राम नोटेशन का उपयोग करके एकल यूज केस के रूप में मॉडल किया जा सकता है।


एक प्रक्रिया या उपयोग के मामले के भीतर मूल प्रवाह को आमतौर पर अपेक्षाकृत कम संख्या में चरणों में वर्णित किया जा सकता है, अक्सर बीस या तीस से कम, संभवतः [[संरचित अंग्रेजी]] जैसी किसी चीज़ का उपयोग करके। आदर्श रूप से, सभी चरण एक साथ दिखाई देंगे (अक्सर एक पृष्ठ या उससे कम)। इसका इरादा मेमोरी # शॉर्ट-टर्म | शॉर्ट-टर्म मेमोरी से जुड़े जोखिमों में से एक को कम करना है, अर्थात्, जो तुरंत दिखाई नहीं दे रहा है उसे भूल जाना (दृष्टि से बाहर, दिमाग से बाहर)।
प्रक्रिया या यूज केस के भीतर मूल धारा को सामान्यतः कुछ ही स्टेप्स में वर्णित किया जा सकता है, अधिकांशतः बीस या तीस के कम संभवतः [[संरचित अंग्रेजी]] का उपयोग करके। आदर्श रूप से, सभी स्टेप्स एक साथ दिखाई देने चाहिए (अधिकांशतः एक पेज या इससे कम)। इसका उद्देश्य, छोटी स्मृति संबंधी एक रिस्क को कम करना है, अर्थात वह भूल जाना जो तुरंत दृश्यमान नहीं होता है ("आँखों से बाहर, मन से बाहर")।


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


=== जटिलता बनाम विखंडन ===
=== जटिलता बनाम विखंडन ===
यदि प्रतिक्रिया लंबी या जटिल है (अर्थात, पाठ के एक पृष्ठ से अधिक), तो एक विश्लेषक मूल प्राथमिक उपयोग के मामले को छोटा और सरल रखने के लिए [[अपघटन प्रतिमान]] (फैक्टर आउट या विक्ट:विशेष:खोज/डुप्लीकेशन) छोटे माध्यमिक उपयोग मामलों में कर सकता है। . ये द्वितीयक उपयोग के मामले पुन: प्रयोज्य भी साबित हो सकते हैं। (यूएमएल यूज केस डायग्राम में, उन्हें यूज केस डायग्राम#एक्सटेंड या यूज केस डायग्राम#शामिल यूज केस के रूप में खींचा जाएगा, जो एक या अधिक प्राथमिक उपयोग के मामलों से संबंधित हैं।)
यदि प्रतिक्रिया लंबी या जटिल है (अर्थात, पाठ के एक पृष्ठ से अधिक), तो एक विश्लेषक मूल प्राथमिक उपयोग के स्थितियों को छोटा और सरल रखने के लिए [[अपघटन प्रतिमान]] (फैक्टर आउट या विक्ट:विशेष:खोज/डुप्लीकेशन) छोटे माध्यमिक उपयोग स्थितियों में कर सकता है। ये द्वितीयक उपयोग के स्थितियों पुन: प्रयोज्य भी सिद्ध हो सकते हैं। (यूएमएल यूज केस डायग्राम में, उन्हें यूज केस डायग्राम एक्सटेंड या यूज केस डायग्राम सम्मलित यूज केस के रूप में खींचा जाएगा, जो एक या अधिक प्राथमिक उपयोग के स्थितियों से संबंधित हैं।)


उपयोग के मामले का वर्णन करते समय, एक विश्लेषक व्यावसायिक नियमों को भी प्रकट कर सकता है। कुछ विश्लेषक [[ वस्तु बाधा भाषा ]] या कुछ अन्य व्यावसायिक नियम # औपचारिक विनिर्देश का उपयोग करके एक अलग दस्तावेज़ में व्यावसायिक नियमों को कैप्चर करने का सुझाव देते हैं। फिर जब उपयोग के मामले में [[व्यापार नियम]] का पालन किया जाना चाहिए, तो विश्लेषक इसका संदर्भ देता है। यह पुनरावृत्ति को कम करता है <ref>see also [[Don't repeat yourself]], also known as "DRY"</ref> एक विनिर्देश के भीतर, लेकिन एक विनिर्देश के विखंडन का जोखिम। एक तकनीक जो इस तनाव को कम कर सकती है, वह है विनिर्देश दस्तावेज़ में [[हाइपरलिंक]]्स का उपयोग करना।
उपयोग के स्थितियों का वर्णन करते समय, एक विश्लेषक व्यावसायिक नियमों को भी प्रकट कर सकता है। कुछ विश्लेषक [[ वस्तु बाधा भाषा |वस्तु बाधा भाषा]] या कुछ अन्य व्यावसायिक नियम # औपचारिक विनिर्देश का उपयोग करके एक अलग दस्तावेज़ में व्यावसायिक नियमों को कैप्चर करने का सुझाव देते हैं। फिर जब उपयोग के स्थितियों में [[व्यापार नियम]] का पालन किया जाना चाहिए, तो विश्लेषक इसका संदर्भ देता है। यह पुनरावृत्ति को कम करता है <ref>see also [[Don't repeat yourself]], also known as "DRY"</ref> एक विनिर्देश के भीतर, किन्तु एक विनिर्देश के विखंडन का जोखिम। इस तनाव को कम करने के लिए एक तकनीक [[हाइपरलिंक|हैपरलिंक]] का उपयोग करना हो सकता है जो सूचना प्रावधान दस्तावेज़ में किया जा सकता है।


यह न्यूनीकरणवाद दृष्टिकोण [[ प्रणालियों की सोच ]] दृष्टिकोण के विपरीत कुछ हद तक निहित है जैसा कि [[पीटर चेकलैंड]] की [[सॉफ्ट सिस्टम पद्धति]] द्वारा दर्शाया गया है।
यह न्यूनीकरणवाद दृष्टिकोण [[ प्रणालियों की सोच ]] दृष्टिकोण के विपरीत कुछ हद तक निहित है जैसा कि [[पीटर चेकलैंड]] की [[सॉफ्ट सिस्टम पद्धति]] द्वारा दर्शाया गया है।


उपयोग के मामले के विवरण में कैप्चर की गई कार्यात्मक आवश्यकताओं के अलावा, एक विश्लेषक प्रतिक्रिया समय, सीखने की क्षमता आदि जैसी गैर-कार्यात्मक आवश्यकताओं को शामिल कर सकता है।
उपयोग के स्थितियों के विवरण में कैप्चर की गई कार्यात्मक आवश्यकताओं के अतिरिक्त, एक विश्लेषक प्रतिक्रिया समय, सीखने की क्षमता आदि जैसी गैर-कार्यात्मक आवश्यकताओं को सम्मलित कर सकता है।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 23:32, 18 May 2023

File:ContextDiagram LastResortHotel.png
एक काल्पनिक होटल के लिए सिस्टम संदर्भ निरूपण आरेख। (रूढ़िवाद के अनुसार, जब किसी संवाद को बाह्यतः प्रारंभ किया जाता है, तो दोनों ओर सीधी बाणों के साथ दिखाए जाने वाले दोनों संवाद होते हैं। उदाहरण के लिए, "बुकिंग संवाद" में "बुकिंग अनुरोध" श्रृंखला सम्मलित है, जो प्रारंभिक प्रेरक है; "बुकिंग पुष्टि", परिणाम, वापस भेजा जाता है।)

इवेंट पार्टीशनिंग एक आसानी से लागू किया जाने वाला सिस्टम विश्लेषण तकनीक है जो सिस्टम विश्लेषण को बड़े सिस्टम के लिए आवश्यकताओं को एक संग्रह के रूप में संगठित करने में सहायता करती है। इसके द्वारा संशोधित आवश्यकताएं छोटे, सरल, न्यूनतम संपर्कित, समझने में सरल "मिनी सिस्टम" / यूज केस में व्यवस्थित की जाती हैं।

सिंहावलोकन

स्टीफन एम. मैकमेनामिन और जॉन एफ. पाल्मर द्वाराआवश्यक प्रणाली विश्लेषण में इवेंट-पार्टीशनिंग दृष्टिकोण की व्याख्या की गई है।[1] इस दृष्टिकोण का संक्षेपिक संस्करण डेटा फ्लो डायग्राम (DFD) पर लेख में वर्णित किया गया है। एडवर्ड योरडन की "बस अधिक संरचित विश्लेषण" में एक अधिक पूर्ण चर्चा दी गई है।[2] र्णन इस तकनीक का उपयोग डेटा फ्लो डायग्राम बनाने के लिए करने पर केंद्रित है, किन्तु यह यूज केस्स की पहचान के लिए भी उपयोग किया जा सकता है।

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

घटना विभाजन विषय

अभिनेता → घटना → पता लगाएँ → प्रतिक्रिया दें

इस विधि में निम्नलिखित चरण होते हैं।

  • 1. बाह्य सिस्टमों की पहचान करें: "अभिनेता" (बाह्य सिस्टम) की एक सूची तैयार करें जिसमें बाह्य घटनाओं के स्रोत सम्मलित होते हैं। यदि आपको किसी ग्राफिक की सहायता आवश्यक महसूस होती है, तो उसमें संदर्भ आरेख बनाएं जिसमें अध्ययन के अनुसार सिस्टम के बाहर अभिनेता और उनके बीच फ्लो/संकेत हों।
  • 2. "अभिनेता" के जूते में खुद को रखकर (या अभिनेता प्रतिनिधियों के साथ काम करके), सिस्टम को योजनित प्रतिक्रिया होने के लिए अभिनेता की इच्छित "बाह्य घटनाओं" / "ट्रिगर्स" की एक सूची ब्रेनस्टोर्म करें। (ध्यान दें कि सिस्टम बाह्य घटनाएं प्रारंभ नहीं कर सकता है; केवल अभिनेता कर सकता है।)
  • 3. पहचानें कि बाहरी घटनाओं का पता लगाने के लिए सिस्टम को क्या सक्षम करेगा:
    • एक या अधिक डेटा के आगमन (संदेश के रूप में संभव)
    • एक या अधिक समय बिंदुओं के आगमन (म्‍यूएल द्वारा "कालिक" घटनाओं के रूप में कहा गया है, और इसे उन्होंने बाह्य घटनाओं से अलग तय किया है)।
  • 4. नियोजित प्रतिक्रिया (प्रतिक्रियाओं) की पहचान करें जो कि घटनाओं के होने पर सिस्टम कर सकता है। यह प्रतिक्रिया (ओं)/उपयोग के स्थितियों हैं जो सिस्टम को अपने लक्ष्यों को प्राप्त करने में सक्षम बनाती हैं।

इस तकनीक को पॉल टी. वार्ड और स्टीफन जे. मेलोर द्वारा स्ट्रक्चर्ड डेवलपमेंट फॉर रियल-टाइम सिस्टम्स: एसेंशियल मॉडलिंग टेक्निक्स में इस तकनीक में "गैर-घटना" घटनाओं के साथ विस्‍तार दिया गया था।[3]

"चूंकि टर्मिनेटर (अभिनेता) सिद्धांत के अनुसार, मॉडल द्वारा प्रतिष्ठानित सिस्टम निर्माण प्रयास की सीमा के बाहर होते हैं, इसलिए क्रियान्वयकर्ताओं को टर्मिनेटर (अभिनेता) प्रौद्योगिकी को सुधारने के लिए आज्ञाकारी रूप से संशोधित नहीं कर सकते हैं। बजाय इसके, उन्हें सिस्टम के मूल मॉडल में टर्मिनेटर (अभिनेता) समस्याओं के लिए प्रतिक्रियाएँ बनानी होती हैं। टर्मिनेटर (अभिनेता) समस्याओं के प्रतिक्रियाओं के लिए मॉडलिंग करने के लिए एक उपयोगी दृष्टिकोण है 'साधारण' घटनाओं की एक सूची बनाना और फिर प्रत्येक घटना के लिए पूछना, 'क्या सिस्टम को इस घटना के साथ अपेक्षित रूप से असफल होने पर प्रतिक्रिया की आवश्यकता है?'" [4] [मेरा जोरदारी जोड़ने के लिए]

डेटा डिक्शनरी नोटेशन

डेटा डिक्शनरी नोटेशन का वर्णन करने के लिए योर्डन/डीमार्को शैली का डेटा शब्दकोश नोटेशन उपयोग किया जा सकता है।

चिह्न अर्थ
= "सम्मलित है", "है", या "इससे बना है"
+ "और", "साथ ही", या "साथ में" (अंकगणित "प्लस" नहीं)
[x ; y ; z] "x या y या z में से केवल एक का चयन करें"। सूची में वस्तुओं को अलग करने के लिए या तो अर्धविराम (;) या लंबवत बार (|) का उपयोग किया जा सकता है।
m{x}n or
m:n{x} or
"एम से एक्स के एन पुनरावृत्तियों के लिए"। यदि एम या एन निर्दिष्ट नहीं है, तो निचली या ऊपरी सीमा "अज्ञात" या "अनिर्दिष्ट" है। बहु-आयामी सरणियों को नेस्टिंग द्वारा निर्दिष्ट किया जा सकता है, उदाहरण के लिए, 10 {10 {x} 10} 10 10 कॉलम वाली 10 पंक्तियों के द्वि-आयामी मैट्रिक्स को परिभाषित करता है।
(x) "वैकल्पिक रूप से x"। यह 0{x}1 या 0:1{x} या के समान है .
@ एक पुनरावृत्ति के भीतर एक पहचानकर्ता के लिए उपसर्ग। उदाहरण के लिए, {@i+@j+x} में i और j पहचानकर्ता हैं।
* ... * सिंगल तारक के बीच कुछ भी एक टिप्पणी के रूप में माना जाता है। डेटा तत्व स्तर पर, एक टिप्पणी में "श्रेणी :", "सीमाएं:", "परिशुद्धता :", "इकाई :" या "मान:" जैसे प्रकार के टैग हो सकते हैं।

डेटा संरचना तत्व संरचित प्रोग्रामिंग की संरचित प्रोग्रामिंग # नियंत्रण संरचनाओं को मैप कर सकते हैं:

नोट: परिभाषित आइटम "सामग्री" (उदाहरण के लिए, कमरे की कुंजी) और "डेटा" (उदाहरण के लिए, आगमन तिथि-समय) हो सकते हैं।

आवश्यकताओं की पहचान करना और उनके कारण

घटना-प्रतिक्रिया सूचना एक तालिका में आकलित की जा सकती है। घटना प्रतिक्रिया के लिए "कारण" है, जो प्रतिक्रिया को पर्यावरण से "ट्रेसेबिलिटी" देता है।

1. अभिनेता 2. बाहरी घटना / ट्रिगर 3. द्वारा पता लगाया गया 4. प्रतिक्रिया (ओं) / केस का उपयोग करें
अतिथि अतिथि एक निश्चित प्रकार के कमरे का अनुरोध करता है, एक विशेष आगमन तिथि, प्रस्थान तिथि, एक निश्चित दर आदि के लिए। बुकिंग अनुरोध +

(भुगतान सत्यापन) +

(*बाहरी आरक्षण प्रणाली* बुकिंग की पुष्टि) [5]

बुक रूम (गारंटीकृत बुकिंग, वैकल्पिक होटल बुकिंग, प्रतीक्षा सूची वाली बुकिंग सम्मलित हो सकती है)
अतिथि अतिथि कमरे की बुकिंग रद्द करने के लिए कहता है। रद्दिकरण अनुरोध [6] बुकिंग रद्द करें
अतिथि अतिथि होटल में आता है। आगमन संदेश = * *
     = [अतिथि नाम; आरक्षण संदर्भ] [7]
चेक इन गेस्ट
समय / अनुसूचक अतिथि होटल में आने में विफल रहता है। [यह एक "गैर-घटना" घटना है।] रात 11 बजे (स्थानीय समय) [एक "गैर-घटना" घटना का पता एक बिंदु के समय, एक समय सीमा के आगमन से चलता है।] अतिथि बिल बनाएं,

बुकिंग अपडेट करें

अतिथि मेहमान होटल से चेक आउट करने के लिए कहता है। चेक-आउट अनुरोध = * *
     =[अतिथि नाम; रूम नंबर] [8]
अतिथि बिल बनाएं,

अद्यतन कक्ष अधिभोग

समय / अनुसूचक अतिथि होटल से चेक आउट करने में विफल रहता है। [यह एक "गैर-घटना" घटना है।] 11 पूर्वाह्न (स्थानीय समय) [एक "गैर-घटना" घटना का पता एक समय सीमा, एक समय सीमा के आगमन से चलता है।] अतिथि विधेयक बनाएँ
अतिथि अतिथि बिल का भुगतान प्रदान करता है। भुगतान वाहन = * *
     =[नकदी ; जाँच करना ; क्रेडिट कार्ड ; डेबिट कार्ड] + (अतिथि आईडी) [9]
अतिथि भुगतान स्वीकार करें
समय / अनुसूचक पिछली रात के लिए कक्ष अधिभोग रिपोर्ट तैयार करने का समय। सुबह 8 बजे (स्थानीय समय) कक्ष अधिभोग पर रिपोर्ट
सराय प्रबंधक होटल मैनेजर रूम ऑक्यूपेंसी रिपोर्ट मांगता है। अधिभोग रिपोर्ट अनुरोध कक्ष अधिभोग पर रिपोर्ट
धुआँ / सीओ अलार्म अलार्म धुएं का पता लगाता है। धूम्रपान अलार्म संदेश स्मोक अलार्म की रिपोर्ट करें
धुआँ / सीओ अलार्म अलार्म सीओ (कार्बन मोनोऑक्साइड) का पता लगाता है। सीओ अलार्म संदेश सीओ अलार्म की रिपोर्ट करें


आवश्यकताओं को परिभाषित करना

File:LastResortHotel BookRoom Process.png
डेटा प्रवाह आरेख संकेतन का उपयोग करते हुए एक काल्पनिक होटल में एकल प्रक्रिया है।
File:LastResortHotel BookRoom UseCase.png
उपयोग केस आरेख संकेतन का उपयोग करते हुए एक काल्पनिक होटल में एकल उपयोग मामला है।

यह तकनीक विश्लेषक को योजनित प्रतिक्रिया की आवश्यकता रखने वाली घटनाओं का उपयोग करके सिस्टम को "मानसिक रूप से बाइट-साइज्ड" मिनी-सिस्टम में विभाजित करने में सहायता करती है। प्रत्येक प्लान की गई प्रतिक्रिया का विस्तार "प्राथमिक यूज केस" के स्तर पर होता है। प्रत्येक योजनित प्रतिक्रिया को DFD नोटेशन का उपयोग करके मॉडल किया जा सकता है या यूज केस डायग्राम नोटेशन का उपयोग करके एकल यूज केस के रूप में मॉडल किया जा सकता है।

प्रक्रिया या यूज केस के भीतर मूल धारा को सामान्यतः कुछ ही स्टेप्स में वर्णित किया जा सकता है, अधिकांशतः बीस या तीस के कम संभवतः संरचित अंग्रेजी का उपयोग करके। आदर्श रूप से, सभी स्टेप्स एक साथ दिखाई देने चाहिए (अधिकांशतः एक पेज या इससे कम)। इसका उद्देश्य, छोटी स्मृति संबंधी एक रिस्क को कम करना है, अर्थात वह भूल जाना जो तुरंत दृश्यमान नहीं होता है ("आँखों से बाहर, मन से बाहर")।

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

जटिलता बनाम विखंडन

यदि प्रतिक्रिया लंबी या जटिल है (अर्थात, पाठ के एक पृष्ठ से अधिक), तो एक विश्लेषक मूल प्राथमिक उपयोग के स्थितियों को छोटा और सरल रखने के लिए अपघटन प्रतिमान (फैक्टर आउट या विक्ट:विशेष:खोज/डुप्लीकेशन) छोटे माध्यमिक उपयोग स्थितियों में कर सकता है। ये द्वितीयक उपयोग के स्थितियों पुन: प्रयोज्य भी सिद्ध हो सकते हैं। (यूएमएल यूज केस डायग्राम में, उन्हें यूज केस डायग्राम एक्सटेंड या यूज केस डायग्राम सम्मलित यूज केस के रूप में खींचा जाएगा, जो एक या अधिक प्राथमिक उपयोग के स्थितियों से संबंधित हैं।)

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

यह न्यूनीकरणवाद दृष्टिकोण प्रणालियों की सोच दृष्टिकोण के विपरीत कुछ हद तक निहित है जैसा कि पीटर चेकलैंड की सॉफ्ट सिस्टम पद्धति द्वारा दर्शाया गया है।

उपयोग के स्थितियों के विवरण में कैप्चर की गई कार्यात्मक आवश्यकताओं के अतिरिक्त, एक विश्लेषक प्रतिक्रिया समय, सीखने की क्षमता आदि जैसी गैर-कार्यात्मक आवश्यकताओं को सम्मलित कर सकता है।

यह भी देखें

संदर्भ

  1. MCME-84: McMenamin, Stephen M.; John F. Palmer (1984). Essential Systems Analysis. Prentice-Hall (Yourdon Press). ISBN 0-13-287905-0. (ISBN 978-0-13-287905-7)
  2. YOUR-89: "yourdon.com - Just Enough Structured Analysis, Chapters 18, 19". 1989. Archived from the original on 2007-02-14. Retrieved 2008-04-24.
  3. WARD-85: Ward, Paul T.; Stephen J. Mellor (1985). Structured Development for Real-Time Systems: Volume 2, Essential Modeling Techniques. Prentice-Hall (Yourdon Press). ISBN 0-13-854787-4. (ISBN 978-0-13-854787-5)
  4. WARD-85, पृष्ठ 38-39.
  5. booking dialogue = * *
         = *input* booking request + *output* booking confirmation
    booking request = * *
         = guest name + room type + (room facilities) +
           arrival date-time + departure date-time
    room type = * type of bedroom *
         = * values : [ single ; double ; family ] *
    room facilities = * booleans that indicate presence or absence of a facility *
         = television + radio + alarm clock + climate control + Internet access +
           telephone + refrigerator + mini-bar + toilet + sink + bath + shower + bidet
    arrival date-time = * *
         = date-time
    departure date-time = * *
         = date-time
    date-time = * ISO 8601 format *
         = year + month + day of month + 'T' + hour + minute >
  6. cancellation dialogue = * *
         = *input* cancellation request + *output* cancellation confirmation
  7. arrival dialogue = * *
         = *input* arrival message + *output* arrival packet
    arrival packet = * *
         = room key + room card + complimentary drink coupon
  8. check-out dialogue = * *
         = *input* check-out request + *output* guest bill
  9. payment dialogue = * *
         = *input* payment vehicle + *output* guest receipt
    guest receipt = * *
         = guest name + guest address + {charge detail} + charge total + (taxes) + amount due + amount paid
  10. see also Don't repeat yourself, also known as "DRY"


बाहरी संबंध