هيا للننمذج تمهيد
كما وسبق أن وعدت بتقديم مثال متكامل للنمذجة بلغة UML، فأنا أقدم بين يدي القارئ الكريم هذه المحاولة المتواضعة مني. عسى أن يجعلها ربنا سبحانه وتعالى ذات فائدة.
مقدمة
تبدأ هذه الورقة بشرح متطلبات المشروع )المثال( المراد شرحه ومن ثم تبين مراحل النمذجة ابتداء من المتطلبات حتى كتابة الكود )الشفرة( بأي لغة كانت )في هذا المثال سنتبع طريقة java أو #C( .
المتطلبات
لنفترض أن زبوننا أراد برنامجا لتنظيم البريد في مكتب الخدمات البريدية. وبعد إجراء اللازم من طرق جمع المتطلبات من مقابلة وقراءة للوثائق وغيرها من الطرق المعروفة لدينا.
ولنفترض أن مجموعة المتطلبات هي كالاتي:
- يستطيع المشترك أن يعمل ثلاث أشياء:
o الإرسال
o الاستقبال
o يغير عنوانه
- يتكون الارسال من أشياء معينة
o ارسال سريع
o ارسال عادي
هذا يكفي وإذا احتجنا متطلبات إضافية ، سوف نقوم بسؤال الزبون عنها.
الخطوة الأولى
الآن نحن في مرحلة جمع المتطلبات وتحليلها. لذا علينا أن ننمذج ما فهمنا حتى الآن من النظام لكي يتبين لنا مدى مقدار فهمنا للنظام الصغير. سنحتاج هنا إلى تطوير ثلاث نظرات للنظام وهي نظرة على العمليات و نظرة على التصرف ونظرة على التركيب. قد يتبادر لذهن القارئ في هذه اللحظة أني أتكلم عن شيء غريب جدا ولكن مع نهاية الورقة سيتبين هذه النظرات ويستطيع التفريق بينها.
إن النمذجة تحتاج الى هذه الثلاث نظرات لتشمل جميع الجوانب الممكنة للبرنامج. أيضا نحتاج الى طريقة للتأكد من أن هذه النظرات متجانسة وتتكلم عن نفس الشيء.
النظرة الأولى نظرة على العمليات
إن UML تقدم نوع من الرسم يدعى Case Use Diagram أو رسمة إستخدام الحالة وأنا أفضل أن أستخدم هنا المصطلح الإنجليزي لأن الترجمة الحرفية للرسمة قد لا تكون دقيقة ولا تؤدي المعنى.
إن Use Case تتكون من ثلاث أشياء رئيسية هي:
1- Use Case وهو عبارة عن مجموعة من العمليات تنفذ عن طريق المستخدم تخدم في النهاية عمل واحد فقط. وتمثل في الرسم بشكل بيضاوي يكتب فيه اسم العملية التي تنفذها الـUse Case.
2- الممثل أو Actor وهو أي شيء يتعامل مع النظام من الخارج قد يكون المستخدم المباشر أو شخص متأثر بالنظام أو حتى نظام آخر يتعامل مع النظام. ويرمز للمثل في هذه الرسمة بشكل رسمة الرجل الاسود.
3- العلاقة أو Acociation or Relation. وهي ما يربط بين "اليوس كيس" وبين الممثل ويرمز لها بخط وله أنواع تجدها في وثائق UML.
مثال على المكونات:
مثال تطبيقي على النظام المعطى:
يتبع =====
على فكرة في النهاية سأحمل الملف النهائي باكامل مثل العادة