أخر الأخبار
دروس باسكال
منذ بضع اعوام

دورة إحترافية باسكال و دلفي - Write and Writeln in...

 دورة إحترافية باسكال و دلفي - Write and Writeln in Pascalراينا في دروس سابقة معنى البلوك البرم...
اقرأ المزيد
دروس باسكال
منذ بضع اعوام

دورة إحترافية باسكال و دلفي - أنواع البيانات في لغة...

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

دورة إحترافية باسكال و دلفي - مفردات البرامج في الباسكال

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

دورة إحترافية باسكال و دلفي - هيكل البرمجة في لغة...

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

دورة إحترافية باسكال و دلفي المتغيرات

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

دورة إحترافية باسكال و دلفي تنصيب باسكال على محرر...

تنصيب باسكال على محرر الأكواد  Visual Studio Codeالبرمجة بلعة باسكال اصبحت تعتمد على العديد من ...
اقرأ المزيد
دروس باسكال
منذ بضع اعوام

دورة إحترافية باسكال و دلفي - تنصيب برنامج Pascal ABC.net

دورة إحترافية باسكال و دلفي - تنصيب برنامج Pascal ABC.netلغة باسكال لغة باسكال هي لغة برمجة صُممت...
اقرأ المزيد
مذكرت تخرج
منذ بضع اعوام

مذكرة تخرج تسيير مكتبة للجامعة

التخرج ثمرة جهد سنين من التعليم و التمهين ع...
اقرأ المزيد
نسخ الدلفي
منذ بضع اعوام

نسخة دلفي 7 -- Delphi7_Lite_Full_Edition_7.3.4.3_Build_20110801

دائما مع نسخ الدلفي هذه المرة النسخة التي يبحث عنها الجميع نسخة دلفي 7 Delphi7_Li...
اقرأ المزيد
نسخ الدلفي
منذ بضع اعوام

نسخة دلفي xe 8 ---- XE8 version update 1

دائما مع النسخ المتقدمة من الدلفي لشركة اومبركاديرو و هذه المرو مع النسخة XE8 version u...
اقرأ المزيد

لغة النمدجة الموحدة UML الدرس الرابع عشر

مخططات صنفيات تصميم
في مرحلة التفصيل، كنا قد قمنا ببناء نموذج مفاهيمي conceptual model. النموذج المفاهيمي يحوي تفاصيل عن مشكلة الزبون، و يركز على مفاهيم الزبون، و خصائص تلك المفاهيم. لم نقم بتحديد سلوك أيا من تلك المفاهيم.
الآن و قد بدأنا ببناء مخططات التعاون، يمكننا تطوير النموذج المفاهيمي، و نبنيه في مخطط صنفية تصميم حقيقي Design Class Diagram. بعبارة أخرى، مخطط يمكننا أن نؤسس عليه التوليف code النهائي لبرنامجنا.
إنتاج مخطط صنفية تصميم هي عملية آلية تماما. في هذا الفصل سوف نفحص مثالا لواقعة استخدام، و كيف يتم تعديل النموذج المفاهيمي بسببها.

مديونية و دائنية الحسابات

في نهاية واقعة الاستخدام “place bet” (وضع رهان)، يبعث الكائن “bet” (رهان) برسالة إلى كائن “Account” (حساب) الخاص بالزبون، يخبره فيها بوجوب تخفيض قيمته. النموذج المفاهيمي التالي كان أساس هذا التصميم:

شكل 48: النموذج المفاهيمي لهذا المثال
من النموذج المفاهيمي، (جزء من) التعاون التالي تم تطويره:



شكل 49: جزء من تعاون واقعة "وضع رهان"

خطوة 1: إضافة العمليات

من مخطط التعاون، يمكن أن نرى أن صنفية “Account” (حساب) يجب أن يكون لديها السلوك “debit” (مدين / اجعله مدينا). لذا نضيف هذه العملية operation إلى النصف السفلي من رمز الصنفية.

شكل 50: صنفيتان مع عملية تم إضافتها
لنلاحظ أن معظم الناس لا يهتمون بإضافة عملية create (خلق)، حتى لا يتم التشويش على المخطط (من المفهوم أن معظم الصنفيات تحتاج إليها).

خطوة 2: إضافة الاتجاهات

تم أيضا إضافة اتجاه الرسائل التي يتم تمريرها عبر الرابط association. في هذه الحالة، الرسالة تم إرسالها من صنفية bet إلى صنفية account، لذا نحن نوجه الرابط من المنادي إلى المستقبل:


شكل 51: صنفية حساب و قد تم إضافة وجهة الحركة فيها
أحيانا، تظهر حالة يجب فيها تمرير الرسالة في كلا الاتجاهين عبر الرابط. ماذا نفعل عندئذ؟ ترميز UML لهذه الحالة أن يتم ببساطة إزالة رأس السهم من الرابط – رابط مزدوج الاتجاه bi-direction.
الكثير من المنمذجين modelers يعتقدون بأن الروابط مزدوجة الاتجاه خاطئة و يجب إزالتها بطريقة ما من النموذج. في الحقيقة، لا يوجد أي خطأ من حيث المبدأ في العلاقات المزدوجة ، لكنها توحي بتصميم سيئ. سوف نستكشف هذه المشكلة في فصل لاحق.

خطوة 3: تحسين السمات

يمكننا أيضا في هذه المرحلة  تحديد نوع بيانات datatype السمات attributes. هنا قررنا تخزين الرصيد balance الخاص بالحساب كعدد غير صحيح float.

شكل 52: إضافة نوع البيانات

خطوة 4: تحديد المنظورية

أحد المفاهيم الأساسية في المنحى الكائني هو التغليف encapsulation – فكرة أن البيانات التي يحملها الكائن تبقى خاصة به و محجوبة عن العالم خارجه (عن غيره من الكائنات).
يمكننا أن نضع إشارة تبين أي من السمات و العمليات تكون عامة public أو خاصة private في مخطط صنفية UML، من خلال اسباق اسم السمة/العملية بعلامة زائد (بالنسبة للعامة) و علامة ناقص (بالنسبة للخاصة).
كل السمات ستكون خاصة، ما لم يكون هناك سبب جيد وملح (و نادرا ما يكون). عادة، العمليات تكون عامة، ما لم تكن وظائف مساعدة، التي لن تستخدم إلا من قبل العمليات التي تتضمنها الصنفية نفسها.

شكل 53: مخطط الصنفية، مكتملا!
الآن و قد اكتمل مخطط الصنفية، لدينا الآن ما يكفي من المعلومات لإنتاج التوليف code. سوف نختبر عملية التحول إلى توليف في فصل لاحق.

التجمع

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

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

التكون

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

شكل 55: الكتاب مكون من صفحة أو أكثر

إيجاد التجمع و التكون

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

ملخص

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

قد يعجبك ايضا
تعليقات
تعليقات Bloggerتعليقات Disqus



حجم الخط
+
16
-
تباعد السطور
+
2
-