تستخدم نماذج حالات الاستخدام، كما تم بيانه خلال الوحدات الدراسية السابقة، لوصف التصرف الخارجي للنظام ولتوضيح وظيفته، بينما يُستخدم النموذج الهيكلي لإعطاء واجهة ثابتة عن معلومات النظام.
في هذه الوحدة سنقوم ببيان كيفية وصف السلوك الديناميكي للنظام من الداخل، حيث يتمكّن المحلل من فهم ووصف التصرف الداخلي للنظام والصورة المتحركة لمعلوماته، وذلك عن طريق مخططات تسمى بمخططات التفاعل (Interaction Diagrams) التي تحتوي العديد من الأنواع مثل مخططات التسلسل أو التتابع (Sequence Diagrams) التي تستخدم لوصف تفاصيل العمليات الموجودة في النظام التي كان قد تم توضيحها باستخدام نموذج الاستخدام، ومخططات التعاون (Collaboration Diagrams) التي تستخدم لوصف التغيرات التي تحدث على البيانات، بالإضافة إلى مخططات الحالة (State Chart Diagrams) التي تُستخدم في حالة وصف أنظمة الوقت الحقيقي، ويُستخدم هذا النوع من النمذجة خلال مرحلة التحليل.
في هذه الوحدة سيتم كذلك -عزيزي الدارس- التركيز على إنشاء نماذج باستخدام مخططات التفاعل بنوعيها: مخططات التسلسل، ومخططات التعاون، بالإضافة إلى مخططات الحالة.
عند تحليل النظام، ولفهم النظام بتفاصيله، ينبغي أن يأخذ بعين الاعتبار النواحي الديناميكية بتفاعلها، بالإضافة إلى النواحي غير الديناميكية المتمثلة بسلوك النظام. يتم تحليل النظام المعتمد على حالات الاستخدام بحيث يقوم محل النظم بتقليص الفجوة المعنوية بين مجموعة من الكيونات المتفاعلة وبينها، ومجموعة الكيونات المتماثلة في العالم الحقيقي.
إن أحد أهم أهداف نماذج السلوك هو إظهار الكيونات التي تتعاون فيما بينها مع بعض لتقديم الاستخدام، بينما يقوم نموذج بناء النظم بتمثيل بنية الكيونات والعلاقات. ويبيّن في نموذج السلوك الداخلي على شكل تفاعل بين الكيونات التي تتعاون فيها الكيونات (التتابعية والتعاونية)، كما يمكن تكثير مجموعة من حالات الاستخدام على النظم في نمذجة مخططات الحالة (State Chart Diagrams).
أحد أهم الفروقات بين مخطط الأصناف ومخططات التفاعل، بالإضافة إلى الفرق الواضح الذي يتمثل في أن الأول يستخدم لوصف البنية بينما الآخر يركّز على السلوك، هو أن مخططات الأصناف تركز على الكيونة الأخرى بينما تركز مخططات التفاعل على العمليات والرسائل بالإضافة إلى الكيونات والتتابع والتعاون.
من المعروف أن الكيونة ما هي إلا مشتقة من صنف معين، وهي عادة ما تمثل شخصاً أو حدثاً أو معلومات نريد الاحتفاظ عنه. إن مجموعة الأصناف في نظام التسجيل في نظام الجامعة -على سبيل المثال- يحتوي على صنف الطالب، وصنف المحاضر، وصنف المواد... إلخ، ومن ناحية أخرى فإن الكيونة هي نسخة واحدة من هذه الأصناف.
مثال: أحمد وسعيد وخليل ما هم إلا مشتقات لحظية لصنف "الطالب"، وكل كيونة تحتوي على صفات تصف معلوماتها الفريدة، كأسماء كينونة "الطالب" اسم الطالب، ورقم هاتفه، ورقمه الجامعي.
وكل كيونة تحتوي كذلك على مجموعة من التصرفات التي تُعرَّف بالعمليات التي تعبّر عن الفعل الذي تستطيع الكيونة القيام به، كأن يقوم الطالب بعملية التسجيل.
وتستطيع كل كيونة إرسال الرسائل واستقبالها، والرسالة هي عبارة عن تعريف طريقة أخرى لاستدعاء عملية بتصرف معين. كما يمكن تعريف أخرى بطريقة يقدّم عبارة عن استدعاء عملية أو أمر يوجه من كيونة إلى كيونة أخرى. ويستطيع الطالب مثلاً بإرسال طلب تسجيل بالمساق إلى نظام التسجيل بإرسال برسالة تسجيل، ومن ثم يتم تسجيله بإعطائه رقم جديد للمسجل.
يعتبر مخطط التسلسل أو التتابع أحد أنواع مخططات التفاعل، حيث إنه يوضح الكيونات التي تشترك في حالات الاستخدام، كما يوضح مجرى الرسائل بين هذه الكيونات على فترة زمنية معينة تعتمد باستخدام مخطط متسلسل بشكل تفاعلي، ويعتبر هذا النوع من المخططات مفيداً جداً لفهم منطقي كثير من التفاصيل بين الكيونات.
وتستخدم مخططات التتابع في مرحلتَي التحليل والتصميم حيث إنها تُستخدم في مرحلة التصميم على مفاهيم كثيرة مثل قواعد البيانات وواجهات الاستخدام (User Interfaces) وجميع المواصفات التقنية.
والشكل (1) يبيّن مخططاً تتابعياً من نظام التسجيل الجامعي حيث يوضح الخطوات والرسائل اللازمة لتسجيل مادة معينة وتعديلها. ويتضح لنا -عزيزي الدارس- أن المتفاعلين والكيونات التي تشترك في التتابع تُوضع على أعلى قائمة المخطط الجامع، حيث يستخدم رمز المستطيل لهذا الغرض، وتجدر الإشارة هنا إلى أن المتفاعلين ليس بالضرورة أن يكون لها معنى ذا معنى، لكن يفضّل أن ترتّب بشكل منطقي كأن يكون ترتيبهم حسب ترتيب ظهورهم في المشاهد المتحدثة.
ويستمر مخطط التتابع بشكل يفضّل أن يكون التتابع يمتد بالزمن بشكل واقعي.
الرموز المستخدمة في مخطط التسلسل والهدف والغرض من استخدامها:
| الرمز | التعريف |
|---|---|
| شكل شخص (Actor) | المتفاعل. |
| مستطيل يحمل الاسم مسبوقاً بنقطتين، مثل ": Course" | كينونة من صنف معين. |
| خط رأسي متقطع أسفل كل كينونة | خط الحياة؛ الذي يعرّف وجود الكيونة زمنياً. |
| مستطيل ضيق فوق خط الحياة | وقت التنفيذ؛ يحدد الفترة التي تنفّذ الكيونة فيها عملاً ما. |
| سهم أفقي بين خطَّي حياة كيونتين | رسالة من كيونة إلى أخرى ومعاملاتها. |
لاحِظ -عزيزي الدارس- أن كل كيونة في المخطط تُشتق من اسم الصنف الذي تنتمي إليه، ولاحِظ أيضاً أن هناك خطاً منقطعاً عمودياً تحت كل متفاعل أو كيونة يرمز إلى "وقت التنفيذ"، وهو يرسم فوق هذا الخط ويرمز إلى الفترة التي يكون فيها المتفاعل في حالة استقبال أو إرسال معلومات.
المخططات التعاونية تشبه المخططات التتابعية من حيث إن النوعين يبيّنان الناحية الديناميكية للنظام، وهي عبارة عن مخططات تفاعلية تظهر تراسل الرسائل بدلاً من إظهار العلاقات التجميعية والتعميمية، وتعتبر هذه المخططات مفيدة لإظهار نشاط العمليات، وهي تعبر مكانية النتائج للكيونات ولكن بفارق جوهري وهو أن التركيز على الترتيب في مخططات التتابع بينما تركز مخططات التعاون على تنظيم الكيونات وعلاقاتها.
ومن أوجه التشابه بين مخططات التعاون والتتابع فهو أن النوعين يحتويان على نوعين وكيونات، حيث تتعاون فيما بينها لتنفيذ حالات الاستخدام.
يبيّن الشكل التالي مخططاً تعاونياً معادلاً لنفس السيناريو الموضّح سابقاً في مخطط التتابع، ولكن بالتركيز على تنظيم الكيونات وترقيم الرسائل حسب تسلسلها الزمني بدلاً من إظهارها على محور الزمن:
أما وجه الاختلاف بين مخططات التعاون والتتابع فهو أن التتابع يستطيع توضيح خطوط الزمن بينما لا تستطيع مخططات التعاون توضيح ذلك بشكل اختياري. ويتم عادة توضيح الاختلاف عن طريق ترقيم الرسائل، حيث تكون الرسائل موضوعة فوق الخطوط الواصلة بين الكيونات المشاركة في التتابع.
بعض الأصناف تمثل مجموعة من الحالات التي يكون بها الكينونات الديناميكية المنسحبة، وهي مجموعة من الحالات، كأن يكون الطالب مسجّلاً أو غير مسجّل، ودافع الرسوم، أو غير دافع، حيث يمكن تمثيل هذه الحالات باستخدام مخطط متخصص يسمى بمخطط الحالة.
إن مخطط الحالة عبارة عن نموذج ديناميكي يظهر بشكل دورة حياتية معينة خلال فترة حياتها. يمكن استعمال مخطط الحالة لجميع الكينونات في غير عملي، ويفضّل استخدامها للكيونات المعقدة من ناحية التصميم، حيث يمتلك استخدام هذا النوع من المخططات لتسهيل التعامل مع هذه الكيونات المعقدة.
إن مخطط الحالة يظهر عادة حالات الكيونة المختلفة، كما يبيّن السبب الذي أدى بها شيء ما قد يحدث في وقت معين في وقت معين، ويعرّف حالة الكيونة عندما يتسبب طالب معين لهذا الحدث دخوله في حالة معينة "مسجّل".
وبالمقارنة مع المخططات التفاعلية، فإن مخططات الحالة تستخدم النظم مهتمة بنواحي حالات الاستخدام الواحد وكيفية تطوير الكيونات لهذا الاستخدام أكثر من النوع من الزمن، وليس مهتم بتفاصيل هذه الصفات لأنها قيمة إحدى صفات الكيونة في هذه الحالة.
يبيّن الشكل التالي مخطط حالة مبسّطاً يوضح مراحل معالجة نموذج طلب تسجيل طالب جديد، من استلام النموذج وحتى قبول الطالب نهائياً في النظام:
| الرمز | التعريف |
|---|---|
| مستطيل بزوايا مدوّرة يحمل اسم الحالة | حالة (State). |
| سهم يربط بين حالتين | انتقال (Transition). |
| دائرة سوداء محاطة بدائرة أخرى | حالة نهاية (End State). |
| دائرة سوداء مصمتة | حالة بداية (Start State). |
تُستخدم الحالة البدائية للدلالة على البداية الافتراضية لدورة حياة الكيونة، وتُستخدم حالة النهاية للدلالة على انتهاء دورة حياتها، أما الانتقالات فتوضح الأحداث (Events) التي تنقل الكيونة من حالة إلى أخرى، وتجدر الإشارة إلى أن هناك استثنائين لهذه القاعدة: الأول أن في حالة البداية يجب أن يكون لها انتقال واحد فقط خارج منها، والثاني أن في حالة النهاية يجب أن يكون لها انتقال داخل إليها ولا يوجد انتقال خارج منها، وكل من تلك الحالات ولديها بشكل مناسب وليدة معامل أو شرط للمزيد من الإيضاح.
اضغط على كل بطاقة لعرض تعريف المصطلح.
4 مصطلحات أساسية لهذه الوحدة.
يتكوّن الاختبار من 5 أسئلة صح/خطأ، و5 أسئلة اختيار من متعدد، و3 أسئلة إنشائية. تُصحَّح الأسئلة الموضوعية تلقائياً، بينما تعرض الأسئلة الإنشائية إجابة نموذجية لتقييم إجابتك بنفسك.