لماذا نحتاج UML؟ أو كيف تحفظ أعصابك ووقتك

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


غالبًا ما يكون هذا البيان صحيحًا إذا كانت المهمة صغيرة جدًا وكانت مؤهلات المبرمج كافية لتحديد الحل الأمثل.

ينقسم المبرمجون الذين لا يستخدمون UML إلى عدة مجموعات:

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

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

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

إذا كنت قد بدأت بالفعل في وصف مهمتك على الورق ، فهذه ميزة إضافية بالفعل.

ما هو UML؟


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

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

إيجابيات وسلبيات تصميم UML


سلبيات:

  • مضيعة للوقت ؛
  • الحاجة إلى معرفة مختلف المخططات وترميزاتها.

الايجابيات:

  • فرصة للنظر في مهمة من وجهات نظر مختلفة ؛
  • يجد المبرمجون الآخرون أنه من الأسهل فهم جوهر المهمة وكيفية تنفيذها
  • من السهل نسبيًا قراءة المخططات بعد التعرف بسرعة على تركيبها.

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

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

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

أولاً ، <...> ، ثم <...> ، ثم ... رسم تسلسلي


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

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

ما هو عيب هذا النهج؟ انه ليس بصريا.

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

بديل لهذا النهج هو استخدام مخطط التسلسل الموضح في الشكل أدناه.


مخطط تسلسل

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

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


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

لنفترض أننا نبرمج ساعة إلكترونية سوفيتية.


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

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


مخطط الدولة

اقرأ المزيد عن مخطط الدولة هنا .

مخطط الفصل ، أو كيفية التحدث عن التعليمات البرمجية الخاصة بك دون رمز


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


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

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

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

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

مخطط الطبقة

أهم مزايا هذا المخطط هي:

  • توفير الوقت عند شرح المهمة للمبرمجين الآخرين ؛
  • تمثيل أكثر دقة والبصرية لهيكل العناصر الرئيسية للنظام.

تشمل العيوب تكاليف وقت كبيرة ، شريطة أن يكون هناك نقص في الخبرة في هذا المخطط.

يمكنك قراءة المزيد عن مخطط الفصل الدراسي هنا ، وعن نموذج الزائر هنا .

مخطط النشاط


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

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


مخطط النشاط

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

يمكنك قراءة المزيد عن مخطط النشاط هنا .

استنتاج


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

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

Source: https://habr.com/ru/post/ar458680/


All Articles