UML للصغار: مخطط الفصل





افي ، المبرمج! يوضح مخطط فئة UML بنية النظام ، ويصف الفئات وخصائصها وطرقها والعلاقات بين الكائنات.



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



بالنسبة لأولئك الذين هم كسالى جدا لقراءة:



الشخصية الرئيسية







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



بشكل أساسي ، يصف الفصل ما يمكن أن يكون عليه الكائن.







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



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



يُكتب النوع الذي يمكن أن ترجعه الطريقة بعد النقطتين في نهاية توقيع الطريقة. تظهر معدّلات النطاق أمام سمات وطرق الفئة.







يمكن أن تحتوي كل معلمة في الطريقة أيضًا على وصف لاتجاه الطريقة: in ، out ، inout.

في هذا الرسم التوضيحي ، تستخدم الطريقة 1 p1 كمدخل ويتم استخدام قيمة p1 بطريقة ما بواسطة الطريقة ، ولا تغير الطريقة p1.



تأخذ الطريقة 2 p2 كمعامل إدخال / إخراج ، ويتم استخدام قيمة p2 بطريقة ما بواسطة الطريقة وتأخذ ناتج الطريقة ، ولكن يمكن للطريقة نفسها أيضًا تغيير p2.



يستخدم Method3 p3 كمعامل إخراج ، وبعبارة أخرى ، تعمل المعلمة كمستودع لقيمة مخرجات الطريقة.



وجهات نظر حول الرسوم البيانية للفصل في دورة حياة تطوير البرمجيات



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







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







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







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

وبالتالي ، إذا كنت تأخذ منظورًا للتنفيذ ، فأنت تنظر إلى تنفيذ البرنامج.



أنواع العلاقات



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



جمعية.





مثل الروابط التي تربط الكائنات ، تربط الجمعيات فئات. من أجل أن يكون للكائنات اتصال ، يجب أن يكون هناك ارتباط بينها.



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



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



على سبيل المثال ، يمكن لطالب واحد أن يتعلم من العديد من المعلمين.

لكن يمكن للمدرس تعليم العديد من الطلاب.



الميراث







أو أحيانًا يطلق عليه أيضًا - التعميم.



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

مثال كلاسيكي للوراثة: فئات المربع ، والمستطيل ، والدائرة ، التي ترث من فئة الشكل الأصل.



لدينا الحق في تصوير الميراث على حدة لكل فئة والجمع بينهما.

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



التنفيذ







عادةً ما يعني هذا العلاقة بين الواجهة والكائنات التي تقوم بتنفيذ هذه الواجهة.



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



التبعية يمكن







لكائن من فئة ما استخدام كائن من فئة أخرى في طريقته.

إذا لم يتم تخزين الكائن في حقل الفئة ، فسيتم نمذجة هذا النوع من العلاقة بين الفئات كتبعية.



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



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



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



التجميع







نوع خاص من العلاقات بين الفئات حيث يكون الفصل جزءًا من الآخر.



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



يظهر التجميع كخط مستمر مع ماسة مجوفة موجهة من الفئات التي تشكل جزءًا من فئة إلى فئة المجمّع.



تكوين







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



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



يشار إلى التركيب بطريقة مشابهة للتجميع ، ولكن هذه المرة يتم ملء الماس بالكامل.



فاينتشكا



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



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



افي!



All Articles