قائمة الطعام
مجانا
التسجيل
الصفحة الرئيسية  /  البرامج الثابتة/ مخطط UML. أنواع مخططات UML

مخطط UML. أنواع مخططات UML

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

المنتجات التجارية

مايكروسوفت فيزيو

النوع: برمجيات تجارية

شائع البرمجياتمن Microsoft ، والذي يسمح لك برسم مخططات غنية ، بما في ذلك UML:

بدءًا من إصدار 2010 ، أصبح من الممكن نشر الرسوم التخطيطية على الويب (SharePoint + Visio Services):

عارض Visio- برنامج مجاني يتيح لك عرض مخططات Visio التي تم إنشاؤها مسبقًا. يمكنك التنزيل بواسطة٪ D1٪ 81٪ D1٪ 81٪ D1٪ 8B٪ D0٪ BB٪ D0٪ BA٪ D0٪ B5٪ 20.

٪ 0 أ

Microsoft٪ 20Visual٪ 20Studio٪ 202010

٪ 0 أ

٪ D0٪ A2٪ D0٪ B8٪ D0٪ BF:٪ 20٪ D0٪ BA٪ D0٪ BE٪ D0٪ BC٪ D0٪ BC٪ D0٪ B5٪ D1٪ 80٪ D1٪ 87٪ D0٪ B5٪ D1٪ 81٪ D0٪ BA٪ D0٪ BE٪ D0٪ B5٪ 20٪ D0٪ 9F٪ D0٪ 9E٪ 20 (٪ D0٪ B5٪ D1٪ 81٪ D1٪ 82٪ D1٪ 8C٪ 20٪ D0٪ B1٪ D0 ٪ B5٪ D1٪ 81٪ D0٪ BF٪ D0٪ BB٪ D0٪ B0٪ D1٪ 82٪ D0٪ BD٪ D0٪ B0٪ D1٪ 8F٪ 20Express٪ 20٪ D0٪ B2٪ D0٪ B5٪ D1٪ 80 ٪ D1٪ 81٪ D0٪ B8٪ D1٪ 8F).

٪ 0 أ

٪ D0٪ 92٪ 20٪ D0٪ BF٪ D0٪ BE٪ D1٪ 81٪ D0٪ BB٪ D0٪ B5٪ D0٪ B4٪ D0٪ BD٪ D0٪ B5٪ D0٪ B9٪ 20٪ D0٪ B2٪ D0 ٪ B5٪ D1٪ 80٪ D1٪ 81٪ D0٪ B8٪ D0٪ B8٪ 20 Microsoft٪ 20 بصري٪ 20 استوديو٪ 202010٪ 20٪ D0٪ BF٪ D0٪ BE٪ D1٪ 8F٪ D0٪ B2٪ D0٪ B8٪ D0٪ BB٪ D1٪ 81٪ D1٪ 8F٪ 20٪ D0٪ BD٪ D0٪ BE٪ D0٪ B2٪ D1٪ 8B٪ D0٪ B9٪ 20٪ D1٪ 82٪ D0٪ B8٪ D0٪ BF٪ 20٪ D0٪ BF٪ D1٪ 80٪ D0٪ BE٪ D0٪ B5٪ D0٪ BA٪ D1٪ 82٪ D0٪ B0٪ 20-٪ 20 النمذجة ،٪ 20٪ D0٪ BA٪ D0٪ BE٪ D1٪ 82٪ D0 ٪ BE٪ D1٪ 80٪ D1٪ 8B٪ D0٪ B9٪ 20٪ D0٪ BF٪ D0٪ BE٪ D0٪ B7٪ D0٪ B2٪ D0٪ BE٪ D0٪ BB٪ D1٪ 8F٪ D0٪ B5٪ D1 ٪ 82٪ 20٪ D1٪ 80٪ D0٪ B8٪ D1٪ 81٪ D0٪ BE٪ D0٪ B2٪ D0٪ B0٪ D1٪ 82٪ D1٪ 8C٪ 20٪ D1٪ 80٪ D0٪ B0٪ D0٪ B7 ٪ D0٪ BB٪ D0٪ B8٪ D1٪ 87٪ D0٪ BD٪ D1٪ 8B٪ D0٪ B5٪ 20UML٪ 20٪ D0٪ B4٪ D0٪ B8٪ D0٪ B0٪ D0٪ B3٪ D1٪ 80٪ D0 ٪ B0٪ D0٪ BC٪ D0٪ BC٪ D0٪ B0٪ 20٪ D0٪ B8٪ 20٪ D0٪ BF٪ D1٪ 80٪ D0٪ BE٪ D0٪ B2٪ D0٪ B5٪ D1٪ 80٪ D1٪ 8F ٪ D1٪ 82٪ D1٪ 8C٪ 20٪ D0٪ BD٪ D0٪ B0٪ D0٪ BF٪ D0٪ B8٪ D1٪ 81٪ D0٪ B0٪ D0٪ دينار بحريني٪ D0٪ دينار بحريني٪ D1٪ 8B٪ D0٪ B5 ٪ 20٪ D1٪ 80٪ D0٪ B5٪ D1٪ 88٪ D0٪ B5٪ D0٪ BD٪ D0٪ B8٪ D1٪ 8F٪ 20٪ D0٪ BD٪ D0٪ B0٪ 20٪ D1٪ 81٪ D0٪ BE ٪ D0٪ BE٪ D1٪ 82٪ D0٪ B2٪ D0٪ B5٪ D1٪ 82٪ D1٪ 81٪ D1٪ 82٪ D0٪ B2٪ D0٪ B8٪ D0٪ B5٪ 20٪ D1٪ 81٪ 20٪ D0 ٪ BD٪ D0٪ B5٪ D0٪ BE٪ D0٪ B1٪ D1٪ 85٪ D0٪ BE٪ D0٪ B4٪ D0٪ B8٪ D0٪ BC٪ D0٪ BE٪ 20٪ D0٪ B0٪ D1٪ 80٪ D1 ٪ 85٪ D0٪ B8٪ D1٪ 82٪ D0٪ B5٪ D0٪ BA٪ D1٪ 82٪ D1٪ 83٪ D1٪ 80٪ D0٪ BE٪ D0٪ B9.

٪ 0 أ

٪ D0٪ 9F٪ D0٪ BE٪ D0٪ B7٪ D0٪ B2٪ D0٪ BE٪ D0٪ BB٪ D1٪ 8F٪ D0٪ B5٪ D1٪ 82٪ 20٪ D0٪ B3٪ D0٪ B5٪ D0٪ دينار بحريني ٪ D0٪ B5٪ D1٪ 80٪ D0٪ B8٪ D1٪ 80٪ D0٪ BE٪ D0٪ B2٪ D0٪ B0٪ D1٪ 82٪ D1٪ 8C٪ 20 تسلسل٪ 20 مخطط٪ 20٪ D0٪ BD٪ D0٪ B0٪ 20٪ D0٪ BE٪ D1٪ 81٪ D0٪ BD٪ D0٪ BE٪ D0٪ B2٪ D0٪ B0٪ D0٪ BD٪ D0٪ B8٪ D0٪ B8٪ 20٪ D0٪ BA٪ D0٪ BE٪ D0٪ B4٪ D0٪ B0،٪ 20٪ D0٪ B2٪ D0٪ B8٪ D0٪ B7٪ D1٪ 83٪ D0٪ B0٪ D0٪ BB٪ D0٪ B8٪ D0٪ B7٪ D0٪ B8٪ D1٪ 80 ٪ D0٪ BE٪ D0٪ B2٪ D0٪ B0٪ D1٪ 82٪ D1٪ 8C٪ 20٪ D1٪ 81٪ D0٪ B2٪ D1٪ 8F٪ D0٪ B7٪ D0٪ B8٪ 20٪ D0٪ B2٪ 20 ٪ D0٪ BF٪ D1٪ 80٪ D0٪ BE٪ D0٪ B5٪ D0٪ BA٪ D1٪ 82٪ D0٪ B5٪ 20٪ D0٪ BC٪ D0٪ B5٪ D0٪ B6٪ D0٪ B4٪ D1٪ 83 ٪ 20٪ D0٪ BA٪ D0٪ BE٪ D0٪ BC٪ D0٪ BF٪ D0٪ BE٪ D0٪ BD٪ D0٪ B5٪ D0٪ BD٪ D1٪ 82٪ D0٪ B0٪ D0٪ BC٪ D0٪ B8 ،٪ 20٪ D1٪ 81٪ D0٪ B1٪ D0٪ BE٪ D1٪ 80٪ D0٪ BA٪ D0٪ B0٪ D0٪ BC٪ D0٪ B8٪ 20٪ D0٪ B8٪ 20٪ D1٪ 81٪ D1٪ 81٪ D1٪ 8B٪ D0٪ BB٪ D0٪ BA٪ D0٪ B0٪ D0٪ BC٪ D0٪ B8٪ 20٪ D0٪ B8٪ 20٪ D1٪ 82.٪ D0٪ B4.

٪ 0 أ

٪ D0٪ 9F٪ D1٪ 80٪ D0٪ B8٪ D0٪ BC٪ D0٪ B5٪ D1٪ 80٪ 20 استخدم٪ 20case٪ 20٪ D0٪ B4٪ D0٪ B8٪ D0٪ B0٪ D0٪ B3٪ D1٪ 80 ٪ D0٪ B0٪ D0٪ BC٪ D0٪ BC٪ D1٪ 8B،٪ 20٪ D0٪ BD٪ D0٪ B0٪ D1٪ 80٪ D0٪ B8٪ D1٪ 81٪ D0٪ BE٪ D0٪ B2٪ D0٪ B0٪ D0٪ BD٪ D0٪ BD٪ D0٪ BE٪ D0٪ B9٪ 20٪ D0٪ B2٪ 20Visual٪ 20 استوديو٪ 202010:

٪ 0A٪ 0A

٪ D0٪ 9A٪ D1٪ 80٪ D0٪ BE٪ D0٪ BC٪ D0٪ B5٪ 20٪ D1٪ 82٪ D0٪ BE٪ D0٪ B3٪ D0٪ BE ،٪ 20٪ D0٪ B4٪ D0٪ BE٪ D1٪ 81٪ D1٪ 82٪ D1٪ 83٪ D0٪ BF٪ D0٪ B5٪ D0٪ BD٪ 20Visualization٪ 20and٪ 20Modeling٪ 20F Feature٪ 20Pack٪ 20 (٪ D0٪ B4٪ D0٪ BB٪ D1٪ 8F٪ 20 ٪ D0٪ BF٪ D0٪ BE٪ D0٪ B4٪ D0٪ BF٪ D0٪ B8٪ D1٪ 81٪ D1٪ 87٪ D0٪ B8٪ D0٪ BA٪ D0٪ BE٪ D0٪ B2٪ 20MSDN) ،٪ 20 ٪ D0٪ BA٪ D0٪ BE٪ D1٪ 82٪ D0٪ BE٪ D1٪ 80٪ D1٪ 8B٪ D0٪ B9٪ 20٪ D0٪ BF٪ D0٪ BE٪ D0٪ B7٪ D0٪ B2٪ D0٪ BE ٪ D0٪ BB٪ D1٪ 8F٪ D0٪ B5٪ D1٪ 82:

٪ 0 أ
  • ٪ D0٪ B3٪ D0٪ B5٪ D0٪ BD٪ D0٪ B5٪ D1٪ 80٪ D0٪ B8٪ D1٪ 80٪ D0٪ BE٪ D0٪ B2٪ D0٪ B0٪ D1٪ 82٪ D1٪ 8C٪ 20 ٪ D0٪ BA٪ D0٪ BE٪ D0٪ B4٪ 20٪ D0٪ BD٪ D0٪ B0٪ 20٪ D0٪ B1٪ D0٪ B0٪ D0٪ B7٪ D0٪ B5٪ 20UML٪ 20٪ D0٪ B4٪ D0 ٪ B8٪ D0٪ B0٪ D0٪ B3٪ D1٪ 80٪ D0٪ B0٪ D0٪ BC٪ D0٪ BC٪ 20٪ D0٪ BA٪ D0٪ BB٪ D0٪ B0٪ D1٪ 81٪ D1٪ 81٪ D0 ٪ BE٪ D0٪ B2
  • ٪ 0 أ
  • ٪ D1٪ 81٪ D0٪ BE٪ D0٪ B7٪ D0٪ B4٪ D0٪ B0٪ D0٪ B2٪ D0٪ B0٪ D1٪ 82٪ D1٪ 8C٪ 20UML٪ 20٪ D0٪ B4٪ D0٪ B8٪ D0 ٪ B0٪ D0٪ B3٪ D1٪ 80٪ D0٪ B0٪ D0٪ BC٪ D0٪ BC٪ D1٪ 8B٪ 20٪ D0٪ B8٪ D0٪ B7٪ 20٪ D0٪ BA٪ D0٪ BE٪ D0٪ B4 ٪ D0٪ B0
  • ٪ 0 أ
  • ٪ D0٪ B8٪ D0٪ BC٪ D0٪ BF٪ D0٪ BE٪ D1٪ 80٪ D1٪ 82٪ D0٪ B8٪ D1٪ 80٪ D0٪ BE٪ D0٪ B2٪ D0٪ B0٪ D1٪ 82٪ D1 ٪ 8C٪ 20UML٪ 20٪ D0٪ B4٪ D0٪ B8٪ D0٪ B0٪ D0٪ B3٪ D1٪ 80٪ D0٪ B0٪ D0٪ BC٪ D0٪ BC٪ D1٪ 8B٪ 20٪ D0٪ BA٪ D0 ٪ BB٪ D0٪ B0٪ D1٪ 81٪ D1٪ 81٪ D0٪ BE٪ D0٪ B2 ،٪ 20٪ D0٪ B4٪ D0٪ B8٪ D0٪ B0٪ D0٪ B3٪ D1٪ 80٪ D0٪ B0٪ D0٪ BC٪ D0٪ BC٪ D1٪ 8B٪ 20٪ D0٪ BF٪ D0٪ BE٪ D1٪ 81٪ D0٪ BB٪ D0٪ B5٪ D0٪ B4٪ D0٪ BE٪ D0٪ B2٪ D0٪ B0٪ D1٪ 82٪ D0٪ B5٪ D0٪ BB٪ D1٪ 8C٪ D0٪ BD٪ D0٪ BE٪ D1٪ 81٪ D1٪ 82٪ D0٪ B5٪ D0٪ B9 ،٪ 20٪ D0٪ B4٪ D0٪ B8 ٪ D0٪ B0٪ D0٪ B3٪ D1٪ 80٪ D0٪ B0٪ D0٪ BC٪ D0٪ BC٪ D1٪ 8B٪ 20٪ D0٪ B2٪ D0٪ B0٪ D1٪ 80٪ D0٪ B8٪ D0٪ B0 ٪ D0٪ BD٪ D1٪ 82٪ D0٪ BE٪ D0٪ B2٪ 20٪ D0٪ B8٪ D1٪ 81٪ D0٪ BF٪ D0٪ BE٪ D0٪ BB٪ D1٪ 8C٪ D0٪ B7٪ D0٪ BE ٪ D0٪ B2٪ D0٪ B0٪ D0٪ BD٪ D0٪ B8٪ D1٪ 8F٪ 20٪ D1٪ 81٪ 20XMI٪ 202.1
  • ٪ 0 أ
  • ٪ D1٪ 81٪ D0٪ BE٪ D0٪ B7٪ D0٪ B4٪ D0٪ B0٪ D0٪ B2٪ D0٪ B0٪ D1٪ 82٪ D1٪ 8C٪ 20٪ D0٪ B4٪ D0٪ B8٪ D0٪ B0 ٪ D0٪ B3٪ D1٪ 80٪ D0٪ B0٪ D0٪ BC٪ D0٪ BC٪ D1٪ 8B٪ 20٪ D0٪ B7٪ D0٪ B0٪ D0٪ B2٪ D0٪ B8٪ D1٪ 81٪ D0٪ B8 ٪ D0٪ BC٪ D0٪ BE٪ D1٪ 81٪ D1٪ 82٪ D0٪ B5٪ D0٪ B9٪ 20٪ D0٪ B4٪ D0٪ BB٪ D1٪ 8F٪ 20ASP.NET،٪ 20C٪ 20٪ D0٪ B8٪ 20C ++٪ 20٪ D0٪ BF٪ D1٪ 80٪ D0٪ BE٪ D0٪ B5٪ D0٪ BA٪ D1٪ 82٪ D0٪ BE٪ D0٪ B2
  • ٪ 0 أ
  • ٪ D1٪ 81٪ D0٪ BE٪ D0٪ B7٪ D0٪ B4٪ D0٪ B0٪ D0٪ B2٪ D0٪ B0٪ D1٪ 82٪ D1٪ 8C٪ 20٪ D0٪ B8٪ 20٪ D0٪ BF٪ D1 ٪ 80٪ D0٪ BE٪ D0٪ B2٪ D0٪ B5٪ D1٪ 80٪ D1٪ 8F٪ D1٪ 82٪ D1٪ 8C٪ 20 طبقة٪ 20 مخططات٪ 20٪ D0٪ B4٪ D0٪ BB٪ D1٪ 8F٪ 20C ٪ 20٪ D0٪ B8٪ 20C ++٪ 20٪ D0٪ BF٪ D1٪ 80٪ D0٪ BE٪ D0٪ B5٪ D0٪ BA٪ D1٪ 82٪ D0٪ BE٪ D0٪ B2
  • ٪ 0 أ
  • ٪ D0٪ BF٪ D0٪ B8٪ D1٪ 81٪ D0٪ B0٪ D1٪ 82٪ D1٪ 8C٪ 20٪ D1٪ 81٪ D0٪ BE٪ D0٪ B1٪ D1٪ 81٪ D1٪ 82٪ D0٪ B2 ٪ D0٪ B5٪ D0٪ BD٪ D0٪ BD٪ D1٪ 8B٪ D0٪ B5٪ 20٪ D0٪ BF٪ D1٪ 80٪ D0٪ BE٪ D0٪ B2٪ D0٪ B5٪ D1٪ 80٪ D0٪ BA ٪ D0٪ B8٪ 20٪ D0٪ B4٪ D0٪ BB٪ D1٪ 8F٪ 20 طبقة٪ 20 مخططات
  • ٪ 0 أ

٪ D0٪ A1٪ D0٪ BA٪ D0٪ B0٪ D1٪ 87٪ D0٪ B0٪ D1٪ 82٪ D1٪ 8C٪ 20Visualization٪ 20and٪ 20Modeling٪ 20Feature٪ 20Pack٪ 20٪ D0٪ BC٪ D0٪ BE٪ D0 ٪ B6٪ D0٪ BD٪ D0٪ BE٪ 20٪ D0٪ BF٪ D0٪ BE٪ 20٪ D1٪ 81٪ D1٪ 81٪ D1٪ 8B٪ D0٪ BB٪ D0٪ BA٪ D0٪ B5:٪ 20 http://msdn.microsoft.com/ru-ru/vstudio/ff655021٪28en-us٪29.aspx.

آي بي إم راشيونال روز

الاحتمالات:

  • استخدم الرسم البياني
  • مخطط النشر (مخططات طوبولوجيا) ؛
  • مخطط Statechart
  • الرسم النشاط
  • مخطط التفاعل
  • مخطط تسلسل
  • مخطط التعاون
  • مخطط الفصل
  • مخطط مكون

لقطات:

برامج مفتوحة المصدر

ستارومل

الاحتمالات:

  • دعم UML 2.0
  • MDA (نموذج معماري مدفوع)
  • بنية المكونات الإضافية (يمكنك الكتابة بلغات متوافقة مع COM: C ++ ، و Delphi ، و C # ، و VB ، ...)

تمت كتابة StarUML بشكل أساسي في دلفي ، ولكن يمكنك إضافة مكونات بلغات أخرى ، على سبيل المثال ، C / C ++ ، Java ، البصرية الأساسية، دلفي ، JScript ، VBScript ، C # ، VB.NET. يتم عرض عدة لقطات أدناه.

مخطط الفصل:

استخدم الرسم البياني:

أرغوومل

الرسوم البيانية المدعومة:

  • فصل
  • ولاية
  • حالة الاستخدام
  • نشاط
  • تعاون
  • تعيين
  • تسلسل

الاحتمالات:

  • دعم تسعة مخططات UML 1.4
  • منصة مستقلة (Java 5+)
  • UML 1.4 Metamodel القياسي
  • دعم XMI
  • تصدير إلى GIF و PNG و PS و EPS و PGML و SVG
  • اللغات: EN ، EN-GB ، DE ، ES ، IT ، RU ، FR ، NB ، PT ، ZH
  • دعم OCL
  • إلى الأمام ، عكس الهندسة

لقطة شاشة:

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

خطة عمل

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

بعد قراءة الأقسام الأخرى (مثال ، تطبيق) ، يمكنك تجربة رسم مخططات الحالة بنفسك.

ملاحظات (وصف)

هذه هي مجموعة الأحرف الأساسية مخططات الدولةمطلوب لتتمكن من قراءة الرسم التخطيطي. بعد قراءة الأقسام الأخرى ("مثال" ، "التطبيق") ، ستتمكن من التأليف مخططات الدولةعلى المرء!

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

كيفية تطبيق تقنية الإبداع

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

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

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

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

كيف تتعلم

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

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

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

مثال على الاستخدام

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

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

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

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

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

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

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

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

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

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

الأنشطة الداخلية في مخطط الدولة

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

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

في التين. يظهر الشكل 10.2 أيضًا الأنشطة الخاصة: أنشطة المدخلات والمخرجات. نشاط الإدخاليتم تنفيذه كلما دخلت دولة ؛ نشاط الإخراج- كلما غادرت الدولة. ومع ذلك ، لا تبدأ الأنشطة الداخلية أنشطة المدخلات والمخرجات؛ هذا هو الفرق بين الأنشطة الداخلية والتحولات الذاتية .

حالات النشاط في مخطط الحالة

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

ولاية يبحثفي التين. 10.3 هي مثل هذه الحالة حالة النشاط: النشاط الجاري يشار إليه بالرمز فعل /؛ ومن هنا المصطلح افعل النشاط (كن فعالا)... بعد اكتمال البحث ، يتم إجراء الانتقالات بدون نشاط ، على سبيل المثال ، إظهار معدات جديدة (عرض جهاز جديد)... إذا حدث الإلغاء ( إلغاء)، ومن بعد افعل النشاطإنها تقاطع فقط ونعود إلى الدولة نافذة تحديث الجهاز.

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

الخامس UML 1تم الإشارة إلى الأنشطة المشتركة بواسطة المصطلح عمل(عمل) والمصطلح نشاط(النشاط) تم استخدامه فقط من أجل القيام بأنشطة.

دول عظمى

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

الدول الموازية

يمكن تقسيم الدول إلى عدة حالات متزامنة تعمل في نفس الوقت. في التين. يعرض الإصدار 10.5 منبهًا بسيطًا يمكنه تشغيل قرص مضغوط أو راديو وإظهار الوقت الحالي أو وقت التنبيه.

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

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

تنفيذ مخططات الحالة

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

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

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

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

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

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

اشترك في أخبار الموقع ، يمكنك العثور على نموذج الاشتراك في العمود الأيمن من الموقع.

إذا كنت تريد أن تتعلم العمل الحر بشكل احترافي ، فنحن ندعوك إلى الدورة "".

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

نبذة تاريخية عن UML

بحلول منتصف التسعينيات ، تم اقتراح عدة عشرات من طرق نمذجة OO من قبل مؤلفين مختلفين ، استخدم كل منهم تدوينه البياني الخاص. علاوة على ذلك ، كان لأي من هذه الأساليب الخاصة بها نقاط القوة، لكنها لم تسمح ببناء نموذج كامل بما فيه الكفاية لـ PS ، لإظهاره "من جميع الجوانب" ، أي جميع الإسقاطات الضرورية (انظر المادة 1). بالإضافة إلى ذلك ، فإن عدم وجود معيار نمذجة OO جعل من الصعب على المطورين اختيار الطريقة الأنسب ، مما حال دون الاستخدام الواسع لنهج OO لتطوير البرامج.

بناءً على طلب مجموعة إدارة الكائنات (OMG) - المنظمة المسؤولة عن اعتماد المعايير في مجال تقنيات الكائنات وقواعد البيانات ، تم حل المشكلة الملحة المتمثلة في التوحيد والتوحيد القياسي من قبل مؤلفي طرق OO الثلاثة الأكثر شيوعًا - G قام بوخ ود. رامبو وأ. جاكوبسون ، الذين وحدوا جهودهم ، بإنشاء UML 1.1 ، والذي تمت الموافقة عليه من قبل OMG في عام 1997 كمعيار.

UML هي لغة

تتكون أي لغة من مفردات وقواعد لدمج الكلمات للحصول على تراكيب ذات معنى. لذلك ، على وجه الخصوص ، يتم ترتيب لغات البرمجة ، مثل UML. السمة المميزة لها هي أن قاموس اللغة يتكون من عناصر رسومية. يحتوي كل رمز رسومي على دلالات محددة ، لذلك يمكن فهم النموذج الذي تم إنشاؤه بواسطة أحد المطورين بشكل لا لبس فيه بواسطة مطور آخر ، وأيضًا أداة البرمجياتتفسير UML. من هذا ، على وجه الخصوص ، يترتب على ذلك أن نموذج PS المقدم في UML يمكن ترجمته تلقائيًا إلى لغة برمجة OO (مثل Java و C ++ و VisualBasic) ، أي إذا كانت هناك أداة نمذجة مرئية جيدة تدعم UML عند بناء النموذج ، سوف نتلقى إعدادًا لكود البرنامج المقابل لهذا النموذج.

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

مفردات UML

يتم تمثيل النموذج في شكل كيانات وعلاقات فيما بينها ، والتي تظهر في الرسوم البيانية.

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

صلةتظهر العلاقات المختلفة بين الكيانات. تحدد UML الأنواع التالية من العلاقات:

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

المخططات.يوفر UML المخططات التالية:

  • مخططات تصف سلوك النظام:
    • مخططات الدولة ،
    • مخططات النشاط ،
    • مخططات الكائن ،
    • مخططات التسلسل
    • مخططات التعاون
  • مخططات تصف التنفيذ المادي للنظام:
    • مخططات المكونات
    • مخططات النشر

عرض التحكم في النموذج. الحزم.

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

ما يقدمه UML.

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

وآخر ...

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

حاشية. ملاحظة: موضوع هذه الدورة هو UML - لغة النمذجة الموحدة. في المحاضرة السابقة تحدثت عن ماهية UML ، عن تاريخها ، الغرض منها ، طرق استخدام اللغة ، هيكل تعريفها ، المصطلحات والتدوين. لوحظ أن نموذج UML عبارة عن مجموعة من الرسوم البيانية. في هذه المحاضرة سننظر في مثل هذه الأسئلة: لماذا تحتاج عدة أنواع من الرسوم البيانية؟ أنواع المخططات OOP وتسلسل التخطيط

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

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

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

لماذا تحتاج عدة أنواع من الرسوم البيانية

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

نظام- مجموعة من الأنظمة الفرعية الخاضعة للرقابة المترابطة ، التي توحدها غرض مشترك للعمل.

نعم ، ليست مفيدة للغاية. ما هو النظام الفرعي إذن؟ لتوضيح الموقف ، دعنا ننتقل إلى الكلاسيكيات:

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

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

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

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

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

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

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

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

المعادلة الموضحة أعلاه هي أيضًا نموذج ، ولكن هذا نموذج رياضي ، ويصف حركة نقطة مادية تحت تأثير الجاذبية.

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

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

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

أنواع المخططات

تعريف UML 1.5 اثني عشر نوعًا من المخططاتمقسمة إلى ثلاث مجموعات:

  • أربعة أنواع من الرسوم البيانية تمثل الهيكل الثابت للتطبيق ؛
  • خمسة تمثل الجوانب السلوكية للنظام ؛
  • ثلاثة تمثل الجوانب المادية لعمل النظام (مخططات التنفيذ).

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

ومع ذلك ، فإن العدد الدقيق الرسوم البيانية الكنسيإنه غير مهم على الإطلاق بالنسبة لنا ، لأننا لن نأخذ في الاعتبار جميعها ، بل بعضها فقط - لأن عدد أنواع المخططات لنموذج معين لتطبيق معين ليس ثابتًا بشكل صارم. بالنسبة للتطبيقات البسيطة ، ليست هناك حاجة لإنشاء جميع المخططات بدون استثناء. على سبيل المثال ، بالنسبة لتطبيق محلي ، ليس من الضروري إنشاء رسم تخطيطي للنشر. من المهم أن نفهم أن قائمة المخططات تعتمد على تفاصيل المشروع الجاري تطويره ويتم تحديدها من قبل المطور نفسه. إذا كان القارئ الفضولي لا يزال يرغب في معرفة كل مخططات UML ، فسنحيله إلى معيار UML (http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML). تذكر أن الغرض من هذه الدورة ليس وصف جميع إمكانيات UML تمامًا ، ولكن فقط لتقديم هذه اللغة ، لإعطاء فكرة أولية عن هذه التقنية.

لذلك ، سوف ننظر بإيجاز إلى أنواع الرسوم البيانية مثل:

  • استخدم الرسم البياني;
  • مخطط الفصل
  • مخطط الكائن;
  • مخطط تسلسل؛
  • مخطط التفاعل
  • الرسم التخطيطي للدولة؛
  • الرسم النشاط;
  • مخطط النشر.

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

استخدم الرسم البياني

تم تصميم أي أنظمة (بما في ذلك البرامج) مع مراعاة حقيقة أنه سيتم استخدامها من قبل الأشخاص و / أو التفاعل مع أنظمة أخرى أثناء عملهم. يتم استدعاء الكيانات التي يتفاعل معها النظام في سياق عمله القطاعات، ويتوقع كل فاعل من النظام أن يتصرف بطريقة محددة بدقة ويمكن التنبؤ بها. دعنا نحاول إعطاء تعريف أكثر صرامة لـ ector. للقيام بذلك ، سوف نستخدم مفردات مرئية رائعة لـ UML. زيكوم منتور:

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

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

قد يسأل القارئ اليقظ السؤال على الفور: لماذا هو ممثل وليس ممثلا؟ نحن نتفق على أن كلمة "ector" تقطع أذن روسي قليلاً. السبب في أننا نتحدث بهذه الطريقة بسيط - يتكون ector من الكلمة عمل، وهو ما يعني في الترجمة عمل... الترجمة الحرفية لكلمة "ector" هي الممثل- طويل جدًا وغير مريح للاستخدام. لذلك ، سوف نستمر في الحديث بهذه الطريقة.


أرز. 2.1.

ربما لاحظ نفس القارئ اليقظ كلمة "سابقة" التي تومض عبر تعريف ector. ما هذا؟ هذا السؤال سيثير اهتمامنا أكثر إذا تذكرنا أننا نتحدث عنه الآن استخدم الرسم البياني... لذا،

حالة الاستخدام- وصف لجانب معين من سلوك النظام من وجهة نظر المستخدم (Booch).

التعريف واضح وشامل تمامًا ، لكن يمكن توضيحه أكثر بقليل باستخدام نفس التعريف زيكوم منتور"أوم:

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

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

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

    هناك العديد من الكتب الجيدة التي تصف بالتفصيل عن UML (في بعض الأحيان بتفصيل كبير) ، أود أن أجمع في مكان واحد المفاهيم الأساسية حول المخططات والكيانات والوصلات بينها للاسترجاع السريع ، شيء مثل ورقة الغش.

    تستخدم المذكرة مواد من الكتب: إيفانوف دي يو ، نوفيكوف ف أ. لغة النمذجة الموحدة UMLو ليونينكوف. البرنامج التعليمي UML.

    أولاً ، دعنا نقرر المحرر. في نظام Linux ، جربت محررات UML مختلفة ، أحببت UMLet في الغالب ، على الرغم من أنه مكتوب بلغة Java ، إلا أنه يتحرك بسرعة كبيرة ومعظم قوالب الكيانات موجودة فيه. يوجد أيضًا ArgoUML ، محرر UML متعدد الأنظمة ، مكتوب أيضًا بلغة Java ، غني وظيفيًا ، لكنه يبطئ أكثر.

    استقرت على UMLet، ضعه تحت قوس لينكسو أوبونتو:

    # لـ Arch Linux yaourt -S umlet # لـ Ubuntu sudo apt-get install umlet

    في UML ، يمكن تقسيم جميع الكيانات إلى الأنواع التالية:

    • الهيكلي؛
    • سلوكية
    • التجمع.
    • حاشية. ملاحظة؛

    هناك أربعة أنواع رئيسية من العلاقات المستخدمة في UML:

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

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

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

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

    الخامس UML 2ويعرف 13 أنواع الرسوم البيانية. وفقًا للمعايير ، يجب أن يحتوي كل مخطط على مربع به مستطيل (الزاوية اليمنى السفلية مشطوفة) في الزاوية اليسرى العليا ، مما يشير إلى معرف المخطط (العلامة) والعنوان.

    مخططات لتصوير هيكل النظام:

    • مخطط مكون (علامة مكون);
    • مخطط النشر (علامة تعيين);
    • مخطط الفصل (مخطط الفصل ، العلامة صف دراسي);
    • مخطط الكائن (علامة يعارض);
    • مخطط الهيكل الداخلي (مخطط الهيكل المركب ، العلامة صف دراسي);

    مخططات لتصوير سلوك النظام:

    • مخطط التفاعل (العلامة توقيت);
    • مخطط النشاط (علامة نشاط);
    • مخطط التسلسل (علامة sd);
    • مخطط الاتصال (العلامة بالاتصالات);
    • مخطط آلة الدولة (العلامة آلة الدولة);
    • علامة مخطط نظرة عامة على التفاعل تفاعل);

    الرسوم البيانية تقف منفصلة:

    • مخطط الاستخدام (استخدم مخطط الحالة ، استخدم علامة الحالة) ؛
    • مخطط الحزمة (علامة حزمة);

    مخطط الاستخدام

    مخطط الاستخدام(مخطط حالة الاستخدام) هو التمثيل الأكثر عمومية للغرض الوظيفي للنظام.

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

    يستخدم مخطط الاستخدام نوعين من الكيانات الأساسية: حالات الاستخدام والجهات الفاعلة ، والتي يتم من خلالها إنشاء الأنواع الأساسية التالية من العلاقات.

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

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

    يشار إلى علاقة الامتداد بين حالات الاستخدام بخط متقطع مع سهم (حالة علاقة التبعية) يشير بعيدًا عن حالة الاستخدام التي تعد امتدادًا لحالة الاستخدام الأصلية.

    علاقة التعميميعمل على توضيح حقيقة أن حالة استخدام معينة A يمكن تعميمها لاستخدام الحالة B. في هذه الحالة ، سيكون الخيار A تخصصًا للخيار B. في هذه الحالة ، يُطلق على B اسم الجد أو الوالد بالنسبة إلى A ، و الخيار A هو تابع فيما يتعلق باستخدام خيار V.

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

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

    نسبة الشمولبين حالتي استخدام يشير إلى أن بعض السلوك المحدد لحالة استخدام واحدة يتم تضمينه كمكون مركب في تسلسل السلوك لحالة الاستخدام الأخرى.

    تشير علاقة التضمين من حالة الاستخدام A لاستخدام الحالة B إلى أن كل مثيل للخيار A يتضمن الوظيفة المحددة للخيار B.

    بيانياً ، يتم الإشارة إلى هذه العلاقة بخط متقطع مع سهم (حالة علاقة التبعية) يشير من حالة الاستخدام الأساسية إلى حالة الاستخدام المضمنة.

    مخطط الفصل

    مخطط الفصل(مخطط الفصل) هو الطريقة الرئيسية لوصف الهيكل الثابت للنظام.

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

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

    تُصوَّر علاقة التبعية بيانياً بخط منقط بين العناصر المقابلة مع سهم في أحد طرفيها ، مع السهم الذي يشير من فئة العميل التبعية إلى فئة مستقلة أو فئة المصدر.

    فوق السهم قد يكون هناك خاص الكلمات الدالة(الأفكار النمطية):

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

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

    نسبة التجميعيحدث بين عدة فئات في حالة أن أحد الفئات عبارة عن كيان يتضمن كـ اجزاء المكوناتكيانات أخرى. يتم استخدامه لتمثيل علاقات النظام جزئيًا.

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

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

    مخطط آلي

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

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

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

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

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

    الرسم النشاط

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

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

    يتمثل الاتجاه الرئيسي لاستخدام مخططات النشاط في تصور خصائص تنفيذ عمليات الفصل ، عندما يكون من الضروري تقديم خوارزميات لتنفيذها.

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

    مخطط تسلسل

    مخطط تسلسل(مخطط التسلسل) هو وسيلة لوصف سلوك النظام "بالأمثلة".

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

    في مخطط التسلسل ، يتم استخدام نوع رئيسي واحد من الكيانات - حالات المصنفات المتفاعلة (الفئات والمكونات والممثلين بشكل أساسي) ، ونوع واحد من العلاقات - الروابط التي يتم من خلالها تبادل الرسائل.

    أنواع الرسائل الممكنة (الصورة مأخوذة من larin.in):

    مخطط الاتصال

    مخطط الاتصال(مخطط الاتصال) - طريقة لوصف السلوك ، مكافئ لغويًا لمخطط التسلسل. في الواقع ، هذا هو نفس الوصف لتسلسل تبادل الرسائل لمثيلات المصنف المتفاعلة ، والتي يتم التعبير عنها فقط بوسائل رسومية أخرى.

    وبالتالي ، في مخطط الاتصال ، وكذلك في مخطط التسلسل ، يتم استخدام نوع رئيسي واحد من الكيانات - حالات المصنفات المتفاعلة ونوع واحد من العلاقات - الروابط. ومع ذلك ، فإن التركيز هنا ليس على الوقت ، ولكن على هيكل الروابط بين حالات معينة.

    مخطط مكون

    مخطط مكون(مخطط المكون) - يوضح العلاقة بين الوحدات (المنطقية أو الفيزيائية) التي تشكل النظام المحاكى.

    النوع الرئيسي من الكيانات في مخطط مكون هو المكونات نفسها ، وكذلك الواجهات التي يتم من خلالها تحديد العلاقة بين المكونات. في مخطط مكون ، تنطبق العلاقات التالية:

    • التطبيقات بين المكونات والواجهات (المكون ينفذ واجهة) ؛
    • التبعيات بين المكونات والواجهات (يستخدم المكون واجهة) ؛

    مخطط التنسيب

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

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

    مخطط الكائن

    مخطط الكائن(مخطط الكائن) - مثال على مخطط فئة.

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

    مخطط الهيكل الداخلي(مخطط الهيكل المركب) يستخدم لعرض أكثر تفصيلاً للمصنفات الهيكلية ، في المقام الأول الفئات والمكونات.

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

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

    مخطط التزامن

    مخطط التزامن(مخطط التوقيت) هو شكل خاص من مخطط التسلسل ، حيث يتم إيلاء اهتمام خاص لتغيير حالات الحالات المختلفة للمصنفات وتوقيتها.

    مخطط الحزمة

    مخطط الحزمة(مخطط الحزمة) هي الأداة الوحيدة التي تسمح لك بإدارة تعقيد النموذج نفسه.

    العناصر الرئيسية للتدوين هي الحزم والتبعيات ذات القوالب النمطية المختلفة.

    نموذج العلاقة بين الكيانات (نموذج ER)

    التناظرية مخططات الفصل(UML) ربما نموذج ERوالتي تستخدم في تصميم قواعد البيانات (نموذج العلائقية).

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

    يمكن تمثيل أي جزء من نطاق الموضوع كمجموعة من الكيانات ، يوجد بينها عدد من الاتصالات.

    مفاهيم أساسية:

    الجوهر(الكيان) هو كيان يمكن تحديده بطريقة ما تميزه عن الكيانات الأخرى ، على سبيل المثال العميل 777... الكيان هو في الواقع مجموعة من السمات.

    مجموعة الكيان(مجموعة الكيانات) - مجموعة كيانات من نفس النوع (لها نفس الخصائص).

    اتصال(العلاقة) هي ارتباط تم إنشاؤه بين كيانات متعددة.

    اختصاص(المجال) - مجموعة من القيم (نطاق) السمة.

    هناك ثلاثة أنواع من الروابط الثنائية:

    • واحد لواحد- مثيل واحد لكيان من فئة ما يرتبط بمثيل واحد لكيان من فئة أخرى ، على سبيل المثال ، HEAD - DEPARTMENT ؛
    • من 1 إلى N.أو واحد لكثير- مثيل واحد لكيان من فئة واحدة يرتبط بالعديد من الأمثلة لكيان من فئة أخرى ، على سبيل المثال ، DEPARTMENT - EMPLOYEE ؛
    • N إلى M.أو الكثير للكثيرين- ترتبط العديد من الأمثلة لكيان من فئة واحدة بالعديد من الأمثلة لكيان من فئة أخرى ، على سبيل المثال ، الموظف - المشروع ؛
    • مسرد بمفاهيم UML الأساسية

      موضوع- كيان فريد من نوعه ويلخص الحالة والسلوك.

      فصل- وصف لمجموعة كائنات ذات سمات مشتركة تحدد الحالة والعمليات التي تحدد السلوك.

      واجهه المستخدم- مجموعة محددة من العمليات تحدد مجموعة من الخدمات التي يمكن أن يطلبها المستهلك ويقدمها مزود الخدمة.

      تعاون- مجموعة من الأشياء التي تتفاعل لتحقيق الهدف.

      الممثل- كيان خارج النظام النموذجي ويتفاعل معه بشكل مباشر.

      مكون- جزء معياري من النظام مع مجموعة محددة جيدًا من الواجهات المطلوبة والمقدمة.

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

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

      تهدف الكيانات السلوكية إلى وصف السلوك. لا يوجد سوى كيانين أساسيين للسلوك: الحالة والعمل.

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

      عمل- الحساب الذري البدائي.

      آلةهي حزمة تحدد مجموعة من المفاهيم الضرورية لتمثيل سلوك كيان نموذجي في شكل مساحة منفصلة مع عدد محدود من الحالات والانتقالات.

      مصنفهو واصف لمجموعة من الكائنات من نفس النوع.

      قراءة إضافية

      • فاولر م. الأساسيات ، الإصدار الثالث
      • بوش جي ، رامبو د ، جاكوبسون آي UML. دليل المستخدم