(4-8) استخدام أداة رسم الـ UML Class Model لإنشاء نموذج منطقي -Logical Model-

في هذا الجزء من الدرس سوف تقوم بإعادة إنشاء Fusion Order Demo Class Model ، ثم تقوم بتحويله إلى database model ، ومقارنة ذلك بالمعلومات المسترجعة عكسياً من الـ database الحقيقية .

سوف نقوم في هذا الجزء بالتالي :

  1. إعداد بيئة الـ Class Model Diagram .
  2. إنشاء Class Model Diagram .
  3. تحسين الـ Class Model Diagram .

إعداد بيئة الـ Class Model Diagram

1- قم بالضغط بالزر الأيمن على نموذج المشروع الموجود في متصفح التطبيق واختر New من القائمة لعرض الـ New Gallery .

t30101

2- ومن قائمة الـ Categories ، افرد General ، ثم اختر Diagrams ، ومن القائمة الجانبية اختر Class Diagram ، ثم اضغط Ok .

t30102

3- في المربع الحواري Create Class Diagram ، عدّ قيمة الاسم لتكون Logical Database ، واسم الـ Package لتكون logicalmodel ، ثم اضغط Ok .

t30103 وبالتالي سيتم فتح تخطيط الـ database .

4- لإعداد بعض الخصائص للـ class diagram ، اختر Tools –> Preferences .

t30104

5- في المربع الحواري Preferences ، اختر Diagrams –> Class ، وفي Edit Preferences for اختر Class ، وأزل التحديد على الخيار Show Operations لأننا نقوم بعمل logical DB modeling ولا نريد عرض أي Operations .

t30105

6- اضغط على التبويب Attributes ، وأزل التحديد على الخيار Show Visibility لأننا لا نحتاجه ، وأزله أيضاً عن الخيار Sort Alphabetically .

t30106ثم اضغط Ok ، وبالتالي هذه الإعدادات ستكون مطبقة على كل الـ Class diagrams .

7- لاحظ الـ Component Palette على يمين مساحة التصميم . الـ Component Palette مملوءة بمجموعة من العناصر التي يمكنك استخدامها في التصميم ، لو أن الـ Component Palette غير ظاهرة ، افتحها من View –> Component Palette .

إنشاء Class Model Diagram

UML1

1- في الـ Component Palette ، اختر Class ، ثم اسحبها لداخل التصميم ،

t310101 غيّر الاسم ليكون Product Base .

t310101b

2- كرر الخطوات السابقة لإنشاء 2 classes إضافيتين ، وسمّهم Warehouse و Warehouse Stock Level .

t310102

3- أضف العنصر التالي في الـ Product Base class ، اضغط مرة واحدة وبالتالي يتحول الحقل إلى اللون الأزرق الجاهز لإدخال البيانات ثم اضغط مرة ثانية ضغطة واحدة –لا تضغط ضغطتين متتاليتين- وأعد تحرير هذا الحقل بالهيئة التالي : <att name>:<DB type> لتكون القيمة كالتالي : Name : String .

t310103

4- أعد تكرار تلك العملية لتكون الـ classes كالتالي :

t310104

5- اضغط ضغطتين متتاليتين على الـ Product Base class اتحرير خصائصها ، افرد الـ Owned Attribute لعرض الحقول التي تم إنشائها .

t310105 بإمكانك فرد الـ Name لعرض المزيد من خصائصه ، اضغط Ok للخروج .

6- من الـ Component Palette ، اضغط على الأيقونة 1to * Association icon_1-xAssoComponent ثم اضغط على Product Base class وارسم خط وفي نهايته اضغط على Warehouse Stock Level class .

t310106

اضغط مرتين على هذا الرابط الذي أنشئ لفتح خصائصه وافرد الـ Owned End ، وأدخل القيم stocked at و of كأسماء .

t310106c

ثم اضغط Ok .

7- كرر الخطوة السابقة لتكون نفس تلك العلاقة بين الـ Warehouse  والـ Warehouse Stock Level وسمّ النهايات holder of و at .

t310107

8- يجب أن يكون تصميمك كالتالي :

t310109

تحسين الـ Class Model Diagram

مطلوب منك تطوير هذا الـ class model إلى classes جديدة في الـ DB tables . كما ترى في هذا التصميم ، فإن الـ WarehouseStock Level class تسجل الـ Quantity on Hand للمنتج في كل Warehouse .

لإنجاز ذلك قم بالآتي :

1- اختر Warehouse Stock Level واضغط على الخط تحت الـ Quantity on Hand لإضافة الحقل الجديد Reorder Level: Number وحقل آخر Reorder Quantity: Number .

t320101

2- من الـ Component Palette أضف class جديدة إلى التصميم ، وسمّها Stock Reorder .

t320102

3- أضف 2 attributes إضافيين إليها ، Date Reordered: Date و Date Delivered: Date .

t320103

4- في الـ Component Palette اضغط على الأيقونة 1to * Association icon_1-xAssoComponent ثم اضغط داخل الـ Warehouse class وارسم خط ثم اضغط على Stock Reorder class .

t320104

بالتحديد على تلك الـ association وفي الـ property Inspector ، حدد الخيار Show Name في الـ Display Options ، والذي يتيح إظهار اسم الـ Association في التصميم .

t320104aa

غيّر حقل الـ Name باستخدام Property Inspector إلى replenish by .

t320104ab  أزل التحديد من الخيار Show Name في الـ Property Inspector لكي لا تزدحم مساحة التصميم .

t320104ac في التصميم اضغط على الـ endWarehouse label وفي الـ Property Inspector في حقل الـ Name أدخل القيمة replenish by .

t320104ad اضغط على endStock Reorder label وفي الـ Property Inspector في حقل الـ Name أدخل القيمة reordered for .

t320104ae

5- كرر الخطوة السابقة لإنشاء association بين Warehouse Stock Level و Stock Reorder وسمّها on behalf of وتكون نهاياتها كالتالي recipient of و on behalf of .

t320105

6- يجب أن يكون التصميم كالتالي :

t320106

7- من الـ Component Palette وأضف class جديدة إلى التصميم وسمّها Manual .

t320107

وأضف حقل جديد Reorder Quantity: Number .

t320107b

8- باستخدام الأيقونة Generalization icon_Generalization من الـ Component Palette ارسم خط من الـ Manual class إلى الـ Stock Reorder .

t320108

9- من الـ Component Palette ، أضف class جديدة إلى التصميم و سمّها Automatic .

t320109

10- باستخدام الأيقونة Generalization icon_Generalization من الـ Component Palette ارسم خط من Automatic class إلى Stock Reorder .

t3201010 Stock Reorder هي الـ Class العامة لكل من Manual و Automatic . يمكن تحقيق هذا المبدأ في الـ Database oriented representation باستخدام الـ subtypes .

11- اختر الـ Manual class واسحبها داخل الـ Stock Reorder .

t3201011

12- اختر الـ Automatic class واسحبها داخل الـ Stock Reorder .

t3201012 هاتين الـ subclasses يمثلان الطرق المحتملة لتكوين Order ، في الـ database modeling يعتبران subtypes من الـ Stock Reorder .

13- يجب أن يكون التصميم كالتالي :

t3201013

ليست هناك تعليقات:

إرسال تعليق

---- أتشرف بتعليقاتكم ----