شرح ماهو مخطط النشاط في لغة النمذجة الموحدة UML What is Activity Diagrams

شرح ماهو مخطط النشاط في لغة النمذجة الموحدة UML   What is Activity Diagrams

ماهو مخطط النشاط في لغة النمذجة الموحدة UML   What is Activity Diagrams


مخطط النشاط في لغة النمذجة الموحدة UML  Activity Diagrams

يعد مخطط النشاط مخططًا مهمًا آخر في UML لوصف الجوانب الديناميكية للنظام.

 مخطط النشاط هو في الأساس مخطط انسيابي لتمثيل التدفق من نشاط إلى آخر.  يمكن وصف النشاط كعملية للنظام.

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

 نماذج UML أساسًا ثلاثة أنواع من الرسوم البيانية ، وهي مخططات الهيكل ، ومخططات التفاعل ، ومخططات السلوك.  مخطط النشاط هو مخطط سلوكي ، أي أنه يصور سلوك النظام.

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

 مخطط النشاط مشابه جدًا للمخطط الانسيابية Flow chart.  لذلك دعونا نفهم ما إذا كانت الرسوم البيانية للنشاط أو المخططات الانسيابية مختلفة:

ماهو الفرق بين مخطط النشاط ومخطط التدفق؟ What Is Difference between an Activity diagram and a Flowchart –

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

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

 هل نحتاج إلى استخدام كل من الرسم التخطيطي والتوثيق النصي؟Do we need to use both the diagram and the textual documentation?

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

ما الفرق بين مخطط حالة الاستخدام ومخطط النشاط؟ What is Difference between a Use case diagram and an Activity diagram


 يتم استخدام مخطط النشاط لنمذجة سير العمل الذي يصور الشروط والقيود والأنشطة المتسلسلة والمتزامنة.  من ناحية أخرى ، فإن الغرض من واقعة الاستخدام هو تصوير الوظيفة فقط ، أي ما يفعله النظام وليس كيف يتم ذلك.  لذا بعبارات بسيطة ، يوضح مخطط النشاط "كيف" بينما تعرض حالة الاستخدام "ماذا" لنظام معين.
 تختلف مستويات التجريد أيضًا لكليهما.  يمكن استخدام مخطط النشاط لتوضيح عملية الأعمال (التنفيذ عالي المستوى) لخوارزمية قائمة بذاتها (التنفيذ على مستوى الأرض).  ومع ذلك ، فإن حالات الاستخدام لها مستوى منخفض من التجريد.  يتم استخدامها لإظهار مستوى عالٍ من التنفيذ فقط.
ما الفرق بين مخطط حالة الاستخدام ومخطط النشاط؟ What is Difference between a Use case diagram and an Activity diagram
الشكل - مخطط نشاط لمشغل موسيقى قائم على المشاعر

 يوضح الشكل أعلاه مخطط نشاط لمشغل موسيقى قائم على المشاعر والذي يمكن استخدامه أيضًا لتغيير الخلفية.

الغرض من مخططات النشاط Purpose of Activity Diagrams

الغرض الأساسي من الرسوم البيانية للنشاط يشبه المخططات الأربعة الأخرى.  انه يلتقط السلوك الديناميكي للنظام.  تُستخدم المخططات الأربعة الأخرى لإظهار تدفق الرسائل من كائن إلى آخر ، لكن يتم استخدام مخطط النشاط لإظهار تدفق الرسائل من نشاط إلى آخر.

 النشاط هو عملية معينة للنظام.  لا تُستخدم مخططات النشاط لتصور الطبيعة الديناميكية للنظام فحسب ، بل تُستخدم أيضًا لإنشاء النظام القابل للتنفيذ باستخدام تقنيات الهندسة الأمامية والخلفية.  الشيء المفقود الوحيد في مخطط النشاط هو جزء الرسالة.

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

 يمكن وصف الغرض من مخطط النشاط بأنه -
  1.  رسم تدفق نشاط النظام.
  2. و صف التسلسل من نشاط إلى آخر.
  3.  وصف التدفق المتوازي والمتفرع للنظام.

ماهي مكونات مخطط النشاط what is the component of activity diagram? 

يتم شرح المكونات المختلفة المستخدمة في الرسم البياني والرموز القياسية أدناه.

ملاحظات مخطط النشاط -

  1. الحالة الأولية Initial State - يتم تصوير حالة البداية قبل حدوث النشاط باستخدام الحالة الأولية.

    مخطط الدولة- UML
    الشكل - تدوين للحالة الأولية أو حالة البداية

    يمكن أن يكون للعملية حالة أولية واحدة فقط إلا إذا كنا نصور الأنشطة المتداخلة. نستخدم دائرة سوداء مملوءة لتصوير الحالة الأولية للنظام. بالنسبة للكائنات ، هذه هي الحالة عند إنشاء مثيل لها. تحدد الحالة الأولية من مخطط نشاط UML نقطة الدخول وحالة النشاط الأولية.

    على سبيل المثال - هنا الحالة الأولية هي حالة النظام قبل فتح التطبيق.

    UML- مخطط النشاط
    الشكل - استخدام رمز الحالة الأولية

  2. حالة النشاط أو الإجراء Action or Activity State- يمثل النشاط تنفيذ إجراء على أشياء أو بواسطة كائنات. نمثل نشاطًا باستخدام مستطيل بزوايا دائرية. في الأساس ، يتم تمثيل أي إجراء أو حدث يحدث باستخدام نشاط.

    UML- مخطط النشاط
    الشكل - تدوين لحالة النشاط

    على سبيل المثال - اعتبر المثال السابق لفتح تطبيق فتح التطبيق حالة نشاط في مخطط النشاط.

    UML- مخطط النشاط
    الشكل - رمز حالة النشاط قيد الاستخدام

  3. تدفق الإجراء أو تدفقات التحكم Action Flow or Control flows- يُشار أيضًا إلى تدفقات الإجراء أو تدفقات التحكم بالمسارات والحواف. يتم استخدامها لإظهار الانتقال من حالة نشاط إلى أخرى.

    مخطط كائن UML
    الشكل - تدوين للتحكم في التدفق

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



    تأمل المثال - هنا تنتقل كلتا الحالتين إلى حالة نهائية واحدة باستخدام رموز تدفق الإجراءات ، أي الأسهم.

    UML- مخطط النشاط
    الشكل - استخدام تدفقات الإجراء للانتقالات

  4. عقدة القرار والتفرع Decision node and Branching- عندما نحتاج إلى اتخاذ قرار قبل تحديد تدفق التحكم ، فإننا نستخدم عقدة القرار.

    UML- مخطط النشاط
    الشكل - تدوين عقدة القرار

    يمكن تسمية الأسهم الصادرة من عقدة القرار بشروط أو تعبيرات حراسة. تتضمن دائمًا سهمين إخراج أو أكثر.

    UML- مخطط النشاط
    الشكل - مخطط نشاط باستخدام عقدة القرار

  5. الحراس Guards- يشير الحارس إلى بيان مكتوب بجوار عقدة قرار على سهم أحيانًا داخل أقواس مربعة.

    UML- مخطط النشاط
    الشكل - وسائل الحماية التي يتم استخدامها بجوار عقدة القرار

    يجب أن يكون البيان صحيحًا حتى يتحول عنصر التحكم في اتجاه معين. يساعدنا الحراس في معرفة القيود والشروط التي تحدد تدفق العملية.

  6. شوكة Fork- تُستخدم عُقد الشوكة لدعم الأنشطة المتزامنة.

    UML- مخطط النشاط
    الشكل - تدوين الشوكة

    عندما نستخدم عقدة فورك عندما يتم تنفيذ كلا النشاطين بشكل متزامن ، أي لا يتم اتخاذ قرار قبل تقسيم النشاط إلى جزأين. يجب تنفيذ كلا الجزأين في حالة وجود تعليمة فورك.
    نستخدم شريطًا مستطيلًا صلبًا مستديرًا لتمثيل تدوين Fork مع سهم وارد من حالة النشاط الأصل والأسهم الصادرة تجاه الأنشطة التي تم إنشاؤها حديثًا.
    على سبيل المثال: في المثال أدناه ، يمكن تقسيم نشاط صنع القهوة إلى نشاطين متزامنين ، وبالتالي نستخدم رمز الشوكة.

    UML- مخطط النشاط
    الشكل - رسم تخطيطي باستخدام شوكة

  7. الربط Join - تُستخدم عقد الربط لدعم الأنشطة المتزامنة المتقاربة في واحدة. بالنسبة إلى رموز الانضمام ، لدينا حافتان واردتان أو أكثر وحافة صادرة واحدة.

    UML- مخطط النشاط
    الشكل - تدوين الصلة



    على سبيل المثال - عند اكتمال كلا النشاطين ، أي تبخير الحليب وإضافة القهوة ، نقوم بدمجهما في نشاط نهائي واحد.

    UML- مخطط النشاط
    الشكل - رسم تخطيطي باستخدام تدوين الربط

  8. حدث دمج أو دمج Merge or Merge Event - تظهر السيناريوهات عندما يتعين دمج الأنشطة التي لا يتم تنفيذها بشكل متزامن. نستخدم ترميز الدمج لمثل هذه السيناريوهات. يمكننا دمج نشاطين أو أكثر في نشاط واحد إذا استمر عنصر التحكم في النشاط التالي بغض النظر عن المسار المختار.

    UML- مخطط النشاط
    الشكل - تدوين الدمج

    على سبيل المثال - في الرسم البياني أدناه: لا يمكننا أن نجعل كلا الجانبين ينفذان بشكل متزامن ، لكنهما أخيرًا يندمجان في واحد. لا يمكن أن يكون الرقم فرديًا أو زوجيًا في نفس الوقت.

    UML- مخطط النشاط
    الشكل - مخطط نشاط يستخدم تدوين الدمج

  9. الممرات المائية Swimlanes- نستخدم الممرات المائية لتجميع الأنشطة ذات الصلة في عمود واحد. تقوم Swimlanes بتجميع الأنشطة ذات الصلة في عمود واحد أو صف واحد. يمكن أن تكون الممرات المائية عمودية وأفقية. تُستخدم الممرات المائية لإضافة نمطية إلى مخطط النشاط. لا يلزم استخدام حارات السباحة. عادة ما تعطي المزيد من الوضوح لمخطط النشاط. إنه مشابه لإنشاء دالة في برنامج. ليس من الضروري القيام بذلك ، لكنها ممارسة موصى بها.

    UML- مخطط النشاط
    الشكل - تدوين حارات السباحة
    نستخدم عمودًا مستطيلًا لتمثيل الحارة كما هو موضح في الشكل أعلاه.

    على سبيل المثال - هنا يتم تنفيذ مجموعة مختلفة من الأنشطة بناءً على ما إذا كان الرقم فرديًا أو زوجيًا. يتم تجميع هذه الأنشطة في الحارة.

    UML- مخطط النشاط
    الشكل - مخطط نشاط يستخدم ممرات السباحة

  10. حدث الوقت Time Event-

    UML- مخطط النشاط
    الشكل - تدوين حدث الوقت

    يمكن أن يكون لدينا سيناريو حيث يستغرق الحدث بعض الوقت حتى يكتمل. نستخدم الساعة الرملية لتمثيل حدث زمني.
    على سبيل المثال - لنفترض أن معالجة الصورة تستغرق الكثير من الوقت. ثم يمكن تمثيلها كما هو موضح أدناه.



    UML- مخطط النشاط
    الشكل - مخطط النشاط باستخدام حدث الوقت

  11. الحالة النهائية أو الحالة النهائية Final State or End State - تُعرف الحالة التي يصل إليها النظام عند انتهاء عملية أو نشاط معين بالحالة النهائية أو الحالة النهائية. نستخدم دائرة مملوءة داخل ترميز دائري لتمثيل الحالة النهائية في مخطط آلة الحالة. يمكن أن يكون للنظام أو العملية حالات نهائية متعددة.

    مخطط الدولة- UML
    الشكل - تدوين للحالة النهائية

كيفية رسم مخطط النشاط  How to Draw an activity diagram -

  1. تحديد الحالة الأولية والحالات النهائية.
  2. تحديد الأنشطة الوسيطة اللازمة للوصول إلى الحالة النهائية من الحالة الأولية.
  3. حدد الشروط أو القيود التي تجعل النظام يغير تدفق التحكم.
  4. ارسم المخطط باستخدام الرموز المناسبة.

UML- مخطط النشاط
الشكل - مخطط النشاط

يطبع الرسم البياني أعلاه الرقم إذا كان فرديًا وإلا فإنه يطرح واحدًا من الرقم ويعرضه.

استخدامات مخطط النشاط -

  • النمذجة الديناميكية للنظام أو العملية.
  • وضح الخطوات المختلفة المتضمنة في حالة استخدام UML.
  • نموذج عناصر البرنامج مثل الأساليب والعمليات والوظائف.
  • يمكننا استخدام مخططات النشاط لتصوير الأنشطة المتزامنة بسهولة.
  • اعرض القيود والشروط والمنطق وراء الخوارزميات.


كيفية رسم مخطط النشاط بالتفاصيل؟ How to  Draw an Activity Diagram more detailed ?

تُستخدم الرسوم البيانية للأنشطة بشكل رئيسي على شكل مخطط انسيابي يتكون من الأنشطة التي يؤديها النظام.  مخططات النشاط ليست مخططات انسيابية بالضبط لأنها تحتوي على بعض القدرات الإضافية.  وتشمل هذه القدرات الإضافية المتفرعة ، التدفق المتوازي ، خط السباحة ، إلخ.

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

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

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

 يتم رسم المخطط التالي مع الأنشطة الأربعة الرئيسية -
  •  إرسال الطلب من قبل العملاء
  •  استلام الطلب
  •  تأكيد الطلب
  •  ارسال الطلب
 بعد تلقي طلب الطلب ، يتم إجراء فحوصات الحالة للتحقق مما إذا كان الأمر عاديًا أو أمرًا خاصًا.  بعد تحديد نوع الأمر ، يتم تنفيذ نشاط الإرسال ويتم تعليمه على أنه إنهاء العملية.
UML Activity Diagram

أين يمكن استخدام مخططات النشاط؟ Where to Use Activity Diagrams?

الاستخدام الأساسي لمخطط النشاط يشبه أربعة مخططات UML أخرى.  الاستخدام المحدد هو نمذجة تدفق التحكم من نشاط إلى آخر.  لا يتضمن تدفق التحكم هذا رسائل.

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

  •  سننظر الآن في التطبيقات العملية لمخطط النشاط.  من المناقشة أعلاه ، من الواضح أن مخطط النشاط يتم رسمه من مستوى عالٍ للغاية.  لذلك يعطي رؤية عالية المستوى للنظام.  طريقة العرض عالية المستوى هذه مخصصة بشكل أساسي لمستخدمي الأعمال أو أي شخص آخر ليس شخصًا تقنيًا.

  •  يستخدم هذا الرسم البياني لنمذجة الأنشطة التي ليست سوى متطلبات العمل.  الرسم التخطيطي له تأثير أكبر على فهم العمل بدلاً من تفاصيل التنفيذ.

 يمكن استخدام مخطط النشاط لـ -
  1.  نمذجة تدفق العمل باستخدام الأنشطة.
  2.  نمذجة متطلبات العمل.
  3.  فهم مستوى عال من وظائف النظام
اقرأ أيضا عن: