Site icon FREEHOW

النمذجة والبروتوتايب

النمذجة والبروتوتايب هي عملية تطوير نسخة من المنتج أو النظام المطلوب إنتاجه، ويكون الناتج هو نسخة مصغرة من المنتج أو النظام بهدف الحصول على تعليقات من العميل حول هذا النموذج الأولي، ويعد هذا الأسلوب من نماذج دورة حياة تطوير البرمجيات (Software Development Lifecycle Models)، ويستخدم هذا النموذج عند عدم معرفة العملاء لمتطلبات المشروع مسبقا.

خطوات النمذجة والبروتوتايب Modeling and Prototype Steps

لغة التصميم الموحدة Unified Modeling Language (UML)

لغة التصميم الموحدة هي لغة متعددة الأغراض ومتخصصة في النمذجة والبروتوتايب، ولكن الهدف الرئيسي منها هو تحديد طريقة لتخيل كيفية تصميم الأنظمة، فهي تشبه تماما المخططات (Blueprints) الموجودة في معظم مجالات الهندسة، ولكنها ليست لغة برمجة، بل لغة بصرية.

لماذا نحتاج لغة التصميم الموحدة Why do we need UML

أنواع مخططات لغة التصميم الموحدة Types of UML Diagrams

المخططات الهيكلية Structural Diagrams

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

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

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

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

يستخدم مخطط الحزم في رسم طريقة تنظيم الحزم داخل النظام، والحزم هي ناتج جمع الوحدات (modules) الصغيرة للنظام، والأنظمة الكبيرة تحتوي على حزم عديدة، كما يوضح المخطط التبعيات (dependencies) بين الحزم المختلفة، والتركيب الداخلي للحزمة.

المخططات السلوكية Behavioral Diagrams

تستخدم مخططات حالة الاستخدام كمخطط أساسي في بناء النمذجة والبروتوتايب لأنظمة البرمجيات، حيث تعرض وظائف النظام أو جزء منه، وتستخدم عادة لوصف المتطلبات الوظيفية (Functional Requirements) للنظام وتفاعلها مع العميل الخارجي للنظام أو الفاعل (Actor).

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

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

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

أدوات لغة التصميم الموحدة UML Tools

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

لغة التصميم الموحدة والنموذج الرشيق UML and Agile

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

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

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

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

Exit mobile version