الثلاثاء، 3 أغسطس 2010

مخططات الحالة State Diagrams

وتستخدم مخططات الحالة "State Diagrams" لوصف سلوك النظام.مخططات الحالة State Diagrams تصف كل من الحالة المحتملة للكائن "object" عند حدوث الحالة. كل رسم بياني يمثل عادة كائنات "objects" لفئة واحدة وتتبع الحالات المختلفة للكائنات من خلال النظام.

متى تستخدم مخططات الحالة State Diagrams

تستخدم مخططات الحالة "State Diagrams" لوصف سلوك الكائن "object" من خلال استخدام العديد من حالات الاستخدام "use cases" للنظام. تستخدم مخططات الحالة "State Diagrams" فقط للفئات "classes" عندما يكون من الضروري فهم سلوك الكائن "object" من خلال النظام بأكمله. ليست كل الفئات "classes" تحتاج إلى مخططات الحالة "State Diagrams" و مخططات الحالة ليست مفيدة لوصف التعاون لجميع الكائنات في حالة الاستخدام. مخططات الحالة "State Diagrams" هي الأخرى مجتمعة مع غيرها من المخططات مثل مخططات التفاعل “Interaction Diagrams” و  مخططات الانشطة “activity Diagrams”.

كيفية رسم مخططات الحالة State Diagrams

مخططات الحالة لديها عناصر قليلة جدا. العناصر الأساسية تمثل صناديق مستديرة من الجوانب تصف لنا حالة الكائن "object" واسهم تصف لنا عملية الانتقال إلى الحالة القادمة. قسم النشاط "activity section" لرمز الحالة يصور لنا ما هي أنشطة الكائن التي سيقوم بها أثناء وجوده في تلك الحالة.




جميع مخططات الحالة "state diagrams" تبدأ مع الحالة المبدئية "initial state" للكائن. هذه هي حالة الكائن عندما يتم إنشاؤه. بعد الحالة المبدئية يبدأ الكائن  بتغيير الحالات. الشروط "Conditions" تعتمد على الأنشطة لتحديد الحالة القادمة التي سيتحول لها الكائن.




وفيما يلي مثال على رسم تخطيطي للحالة قد تبدو وكأنها لكائن الطلب "Order object". عندما يدخل الكائن "object" الى حالةالفحص "Checking" سيُنفذ النشاط افحص العنصر "check items". بعد الانتهاء النشاط الكائن يتحول الى الحالة الموالية بالاعتماد على الشرط: كل العناصر متوفرة "all items available" او الشرط : عنصر غير متوفر "an item is not available". إذا كان الشرط هو عنصر غير متوفر سيتم إلغاء الأمر "canceled". إذا كانت جميع العناصر متاحة سيتم إرسال الطلب "dispatching". عندما ينتقل الكائن الى الحالة: إيفاد "Dispatching" فان النشاط المسمى: الشروع في التسليم "initiate delivery" سيتم تنفيذه. بعد هذا النشاط سيكمل الكائن "object" الانتقال مرة أخرى إلى الحالة: سلمت "Delivered".



مخططات الحالة "state diagrams" يمكن أن تُظهر أيضا الحالة الممتاز "super-state" للكائن. وتُستخدم الحالة الممتاز "super-state" عندما تحصل انتقالات كثيرة تؤدي إلى حالة معينة. بدلا من عرض كل من الانتقالات  لكل حالة يمكن استخدام الحالة الممتاز "super-state" لاظهار ان جميع الحالات موجودة داخل الحالة الممتاز "super-state" يمكنها الانتقال إلى الحالة المتكررة. هذا يجعل من  مخطط الحالة "state diagram" أسهل في القراءة.

ويبين الرسم البياني أدناه الحالة الممتاز "super-state". كل من حالة التدقيق "Checking" و حالة الإيفاد "Dispatching" يمكن ان يمروا بالحالة إلغاء "Canceled" ، لذلك يظهر الانتقال من الحالة الممتاز "super-state" المسمات بنشط "Active" إلى الحالة المسمات إلغاء "Cancel". على النقيض من ذلك ، فإن الحالة إيفاد "Dispatching" يمكنها فقط الانتقال إلى الحالة المسلمة 
"Delivered" ، لهذا نظهر سهم فقط من الحالة إيفاد "Dispatching"  الى الحالة سلمت "Delivered".



هناك تعليقان (2):

  1. عبدالله الحمدان16 أبريل 2012 في 1:19 م

    شكرا لك كل الشكر
    وسلمت اناملك

    ردحذف
  2. يعطيك الف عافية :)

    ردحذف