تقسيم الأحداث

مخطط سياق النظام لفندق افتراضي. (بحسب الاصطلاح، تُستخدم التدفقات ثنائية الاتجاه، مع وجود أسهم في كلا الطرفين، غالبًا عند بدء حوار خارجي. على سبيل المثال، يحتوي "حوار الحجز" على تدفق "طلب الحجز"، وهو المحفز الأولي؛ ويتم إرسال "تأكيد الحجز"، وهو النتيجة، مرة أخرى.)

يُعد تقسيم الأحداث أسلوبًا سهل التطبيق لتحليل الأنظمة ، ويساعد المحلل على تنظيم متطلبات الأنظمة الكبيرة في مجموعة من "الأنظمة المصغرة" / حالات الاستخدام الأصغر والأبسط والأقل ترابطًا والأسهل فهمًا .

ملخص

يشرح ستيفن إم. ماكمينامين وجون إف. بالمر منهجية تقسيم الأحداث في كتابهما " التحليل الأساسي للأنظمة " . [ 1 ] ويُقدّم وصفٌ موجزٌ لهذه المنهجية في مقال " مخططات تدفق البيانات ". أما المناقشة الأكثر تفصيلاً فتجدونها في كتاب إدوارد يوردون " التحليل الهيكلي الكافي " . [ 2 ] ويركّز الوصف على استخدام هذه التقنية لإنشاء مخططات تدفق البيانات، ولكن يمكن استخدامها أيضاً لتحديد حالات الاستخدام .

تقوم فكرة تقسيم الأحداث على أن الأنظمة موجودة للاستجابة للأحداث الخارجية: تحديد ما يحدث في بيئة العمل والذي يتطلب استجابات مُخططة، ثم تعريف وبناء أنظمة للاستجابة وفقًا لقواعد العمل. على وجه الخصوص، يوجد نظام أعمال لتلبية طلبات العملاء. العميل، في مصطلحات لغة النمذجة الموحدة (UML)، هو " فاعل ".

مواضيع تقسيم الأحداث

الفاعل ← الحدث ← الكشف ← الاستجابة

تتضمن هذه الطريقة الخطوات التالية.

  • 1. حدد الأنظمة الخارجية من خلال وضع قائمة بـ " الجهات الفاعلة " (الأنظمة الخارجية)، وهي مصادر الأحداث الخارجية. إذا وجدت أن الرسم البياني مفيد، فأنشئ مخططًا سياقيًا يوضح الجهات الفاعلة خارج النظام قيد الدراسة والتدفقات/الإشارات بينها.
  • ٢. من خلال وضع نفسك مكان "الفاعل" (أو العمل مع ممثلي الفاعلين)، قم بتبادل الأفكار حول قائمة " الأحداث الخارجية " / "المحفزات" التي تريد من النظام أن يستجيب لها بشكل مُخطط. (لاحظ أن النظام لا يمكنه إحداث أحداث خارجية ؛ الفاعل فقط هو من يستطيع ذلك).
  • 3. تحديد ما سيمكن النظام من اكتشاف الأحداث الخارجية:
    • وصول جزء واحد أو أكثر من البيانات (ربما على شكل رسالة)
    • وصول نقطة واحدة أو أكثر في الوقت (يطلق عليها M&P اسم الأحداث "الزمنية"، ويميزونها عن الأحداث الخارجية).
  • 4. حدد الاستجابة (الاستجابات) المخطط لها التي قد ينفذها النظام عند وقوع الأحداث. إن الاستجابة (الاستجابات) / حالة (حالات) الاستخدام هي التي ستمكن النظام من تحقيق أهدافه.

تم توسيع هذه التقنية لتشمل أحداث "غير الأحداث" بواسطة بول تي. وارد وستيفن جيه. ميلور في التطوير المنظم للأنظمة في الوقت الحقيقي: تقنيات النمذجة الأساسية . [ 3 ]

بما أن المُنهيات [الجهات الفاعلة] تقع بحكم تعريفها خارج نطاق جهد بناء النظام الذي يمثله النموذج، فلا يمكن للمطورين تعديل تقنية المُنهيات [الجهات الفاعلة] حسب رغبتهم لتحسين موثوقيتها. بدلاً من ذلك، يجب عليهم تضمين استجابات لمشاكل المُنهيات [الجهات الفاعلة] في النموذج الأساسي للنظام. يتمثل أحد الأساليب المفيدة لنمذجة الاستجابات لمشاكل المُنهيات [الجهات الفاعلة] في إنشاء قائمة بالأحداث "العادية"، ثم السؤال، لكل حدث، "هل يحتاج النظام إلى الاستجابة إذا لم يحدث هذا الحدث كما هو متوقع؟" [ 4 ] [تمت إضافة التأكيد]

تدوين قاموس البيانات

يمكن استخدام أسلوب Yourdon/DeMarco في تدوين قاموس البيانات لوصف تكوين البيانات وبنيتها.

رمزمعنى
="يحتوي على"، "هو"، أو "يتكون من"
+"و"، "بالإضافة إلى"، أو "معًا" ( ليس "زائد" حسابيًا)
[ x  ; y  ; z ]اختر واحداً فقط من بين x أو y أو z . يمكن استخدام الفاصلة المنقوطة (؛) أو الخط العمودي (|) لفصل العناصر في القائمة.
m { x } n أو m:n { x } أومن{x}{\displaystyle {}_{m}^{n}\{x\}}"من m إلى n تكرارًا لـ x ". إذا لم يتم تحديد m أو n ، فإن الحد الأدنى أو الأعلى يكون ببساطة "غير معروف" أو "غير محدد". يمكن تحديد المصفوفات متعددة الأبعاد عن طريق التداخل، على سبيل المثال، 10 { 10 { x } 10 } 10 تُعرّف مصفوفة ثنائية الأبعاد مكونة من 10 صفوف و10 أعمدة.
( س )"اختياريًا x ". هذا يعادل 0{ x }1 أو 0:1{ x } أو01{x}{\displaystyle {}_{0}^{1}\{x\}}.
@بادئة لمعرف ضمن تكرار. على سبيل المثال، في {@i+@j+x}، i و j معرفان .
* ... *يُعتبر أي شيء بين علامتي النجمة المفردتين تعليقًا. على مستوى عنصر البيانات ، قد يحتوي التعليق على وسوم من نوع "النطاق  :"، "الحدود  :"، "الدقة  :"، "الوحدة  :" أو "القيم  :".

يمكن ربط عناصر بنية البيانات بهياكل التحكم في البرمجة الهيكلية :

ملاحظة: قد تكون العناصر المحددة "مواد" (مثل مفتاح الغرفة) وكذلك "بيانات" (مثل تاريخ ووقت الوصول).

تحديد المتطلبات وأسبابها

يمكن تسجيل معلومات الاستجابة للحدث في جدول. ويمثل الحدث السبب الرئيسي للاستجابة، مما يوفر إمكانية تتبع الاستجابة وصولاً إلى البيئة المحيطة.

1. ممثل2. حدث خارجي / مُحفِّز3. تم الكشف عنه بواسطة4. الاستجابة (الاستجابات) / حالة (حالات) الاستخدام
ضيفيطلب النزيل غرفة من نوع معين، لتاريخ وصول محدد، وتاريخ مغادرة محدد، وبسعر محدد، وما إلى ذلك.طلب الحجز + (التحقق من صحة الدفع) + (*نظام الحجز الخارجي* تأكيد الحجز) [ 5 ]حجز غرفة (قد يشمل ذلك الحجز المضمون، أو حجز فندق بديل، أو الحجز على قائمة الانتظار)
ضيفيطلب النزيل إلغاء حجز الغرفة.طلب الإلغاء [ 6 ]إلغاء الحجز
ضيفيصل النزيل إلى الفندق.رسالة الوصول = * * = [اسم الضيف ؛ رقم مرجع الحجز] [ 7 ]     تسجيل دخول الضيف
الوقت / الجدولةلم يصل النزيل إلى الفندق. [هذا حدث "غير ذي أهمية".]11 مساءً (بالتوقيت المحلي) [يتم اكتشاف حدث "غير مهم" من خلال وصول نقطة زمنية، وهي الموعد النهائي.]إنشاء فاتورة الضيف، تحديث الحجز
ضيفيطلب النزيل تسجيل الخروج من الفندق.طلب تسجيل المغادرة = * * = [اسم النزيل ؛ رقم الغرفة] [ 8 ]     إنشاء فاتورة الضيف، وتحديث إشغال الغرفة
الوقت / الجدولةلم يقم النزيل بتسجيل الخروج من الفندق. [هذا حدث "غير ذي أهمية".]11 صباحًا (بالتوقيت المحلي) [يتم اكتشاف حدث "غير مهم" من خلال وصول نقطة زمنية، وهي الموعد النهائي.]إنشاء فاتورة الضيوف
ضيفيعرض الضيف دفع الفاتورة.وسيلة الدفع = * * = [نقداً ؛ شيكاً ؛ بطاقة ائتمان ؛ بطاقة خصم] + (معرف الضيف) [ 9 ]       قبول دفع الضيوف
الوقت / الجدولةحان وقت إعداد تقرير إشغال الغرف لليلة السابقة.الساعة الثامنة صباحاً (بالتوقيت المحلي)تقرير عن إشغال الغرف
مدير الفندقمدير الفندق يطلب تقرير إشغال الغرف.طلب تقرير الإشغالتقرير عن إشغال الغرف
جهاز إنذار الدخان/أول أكسيد الكربونجهاز الإنذار يرصد الدخان.رسائل إنذار الدخانتقرير عن جهاز إنذار الدخان
جهاز إنذار الدخان/أول أكسيد الكربونجهاز الإنذار يكشف عن أول أكسيد الكربون (CO).رسائل إنذار أول أكسيد الكربونالإبلاغ عن إنذار أول أكسيد الكربون

تحديد المتطلبات

عملية واحدة في فندق وهمي باستخدام تدوين مخطط تدفق البيانات .
حالة استخدام واحدة في فندق وهمي باستخدام تدوين مخطط حالة الاستخدام .

تساعد هذه المقاربة المحلل على تقسيم النظام إلى أنظمة مصغرة يسهل استيعابها ذهنياً، وذلك باستخدام أحداث تتطلب استجابة مُخططة. ويبلغ مستوى تفصيل كل استجابة مستوى " حالات الاستخدام الأساسية ". ويمكن نمذجة كل استجابة مُخططة باستخدام ترميز مخطط تدفق البيانات (DFD) أو كحالة استخدام واحدة باستخدام ترميز مخطط حالات الاستخدام.

يمكن عادةً وصف التدفق الأساسي ضمن عملية أو حالة استخدام في عدد قليل نسبيًا من الخطوات، غالبًا أقل من عشرين أو ثلاثين خطوة، وربما باستخدام ما يشبه " اللغة الإنجليزية المنظمة ". من الناحية المثالية، ينبغي أن تكون جميع الخطوات مرئية دفعة واحدة (غالبًا في صفحة واحدة أو أقل). والهدف من ذلك هو تقليل أحد المخاطر المرتبطة بالذاكرة قصيرة المدى ، ألا وهو نسيان ما ليس مرئيًا على الفور ("بعيد عن العين، بعيد عن القلب").

بدلاً من ذلك، وباستخدام رموز التقنيات المنظمة، يمكن للمحلل إنشاء " مخطط ناسي-شنايدرمان ". في لغة النمذجة الموحدة (UML)، يمكن نمذجة حالة الاستخدام باستخدام مخطط النشاط ، أو مخطط التسلسل ، أو مخطط الاتصال . قد يمثل هذا مشكلة في حال وجود العديد من السيناريوهات المعقدة لحالة الاستخدام؛ إذ قد يرغب المحلل في نمذجة جميع السيناريوهات أو معظمها.

التعقيد مقابل التجزئة

إذا كانت الاستجابة طويلة أو معقدة (أي أكثر من صفحة نصية)، فقد يقوم المحلل بتقسيمها (إزالة العناصر المكررة ) إلى حالات استخدام ثانوية أصغر حجمًا للحفاظ على حالة الاستخدام الرئيسية أصغر وأبسط. وقد تكون حالات الاستخدام الثانوية هذه قابلة لإعادة الاستخدام أيضًا. (في مخطط حالات الاستخدام في لغة النمذجة الموحدة ، تُرسَم هذه الحالات كحالات استخدام موسعة أو مضمنة ، وهي مرتبطة بحالة استخدام رئيسية واحدة أو أكثر).

أثناء وصف حالة استخدام، قد يكتشف المحلل أيضًا " قواعد العمل ". يقترح بعض المحللين تدوين قواعد العمل في مستند منفصل باستخدام لغة قيود الكائنات أو أي تدوين رسمي آخر . وعندما يتعين الالتزام بقاعدة عمل معينة في حالة استخدام، يشير إليها المحلل. يقلل هذا من التكرار [ 10 ] داخل المواصفات، ولكنه قد يؤدي إلى تشتت المواصفات. إحدى التقنيات التي قد تخفف من هذا الإشكال هي استخدام الروابط التشعبية في مستند المواصفات.

يتناقض هذا النهج الاختزالي إلى حد ما مع نهج التفكير النظمي كما هو ممثل في منهجية النظم المرنة لبيتر تشيكلاند .

بالإضافة إلى المتطلبات الوظيفية التي تم تحديدها في وصف حالة الاستخدام، قد يقوم المحلل بتضمين متطلبات غير وظيفية مثل وقت الاستجابة، وقابلية التعلم، وما إلى ذلك.

انظر أيضاً

مراجع

  1. MCME-84: ماكمينامين، ستيفن م.؛ جون ف. بالمر (1984). تحليل النظم الأساسي . برنتيس هول (يوردون برس). ISBN 0-13-287905-0.( ISBN) 978-0-13-287905-7)
  2. YOUR-89: "yourdon.com - Just Enough Structured Analysis , Chapters 18, 19" . 1989. مؤرشف من الأصل بتاريخ 14 فبراير 2007. تم الاطلاع عليه بتاريخ 24 أبريل 2008 .
  3. WARD-85: وارد، بول ت.؛ ستيفن ج. ميلور (1985). التطوير الهيكلي لأنظمة الوقت الحقيقي: المجلد 2، تقنيات النمذجة الأساسية . برنتيس هول (مطبعة يوردون). ISBN 0-13-854787-4.( ISBN) 978-0-13-854787-5)
  4. WARD-85، ص 38-39.
  5. حوار الحجز = * *= *إدخال* طلب حجز + *إخراج* تأكيد حجزطلب الحجز = * *= اسم النزيل + نوع الغرفة + (مرافق الغرفة) +تاريخ ووقت الوصول + تاريخ ووقت المغادرةنوع الغرفة = * نوع غرفة النوم *= * القيم: [مفردة؛ مزدوجة؛ عائلية] *مرافق الغرفة = * قيم منطقية تشير إلى وجود أو عدم وجود مرفق *= تلفزيون + راديو + منبه + مكيف هواء + إنترنت +هاتف + ثلاجة + ميني بار + مرحاض + مغسلة + حوض استحمام + دش + بيديهتاريخ ووقت الوصول = * *= التاريخ والوقتتاريخ ووقت المغادرة = * *= التاريخ والوقتالتاريخ والوقت = *تنسيق ISO 8601 * = السنة + الشهر + يوم الشهر + 'T' + الساعة + الدقيقة >                                            
  6. حوار الإلغاء = * *= *مدخل* طلب إلغاء + *مخرج* تأكيد إلغاء     
  7. حوار الوصول ↑ = * *= *مدخلات* رسالة الوصول + *مخرجات* حزمة الوصولحزمة الوصول = * *= مفتاح الغرفة + بطاقة الغرفة + قسيمة مشروب مجاني         
  8. حوار تسجيل المغادرة = * *= *مدخل* طلب تسجيل المغادرة + *مخرج* فاتورة النزيل     
  9. حوار الدفع = * *= *مدخل* وسيلة الدفع + *مخرج* إيصال النزيلإيصال النزيل = * *= اسم النزيل + عنوان النزيل + {تفاصيل الرسوم} + إجمالي الرسوم + (الضرائب) + المبلغ المستحق + المبلغ المدفوع         
  10. انظر أيضًا: لا تكرر نفسك ، والمعروف أيضًا باسم "DRY"