نموذج الشلال Waterfall Model

ما هو نموذج الشلال؟

نموذج الشلال (Waterfall Model): نموذج تشغيلي يُستخدم في دورة حياة تطوير النظم أو البرمجيات، وذُكر هذا المصطلح لأول مرة في ورقة بحثية نشرها الباحث “وينستون رويس” (Winston W. Royce) في عام 1970.

عادة ما يستخدم “نموذج الشلال” في مجال تطوير البرمجيات، إلا أنه يمكن أن يشمل مجالات أخرى مثل البناء وتكنولوجيا المعلومات.

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

مراحل نموذج الشلال

يمر نموذج الشلال بخمس مراحل أساسية هي:

  • مرحلة تحليل المتطلبات والمواصفات (Requirements Analysis and Specification Phase): يتم فيها تسجيل جميع المتطلبات المحتملة لتطوير النظام وتوثيقها في وثيقة مواصفات المتطلبات؛ مما يسمح بالتخطيط لكل المراحل الأخرى دون التواصل مع العملاء حتى اكتمال المنتج؛
  • مرحلة التصميم (Design Phase): يتم فيها دراسة مواصفات المتطلبات من المرحلة الأولى وإعداد تصميم النظام وفق المواصفات المحددة؛
  • التنفيذ واختبار الوحدة (Implementation and Unit Testing): يتم فيها تطوير النظام أولاً في برامج صغيرة تسمى الوحدات التي تُدمج في المرحلة القادمة، لكن بعد تطوير كل وحدة واختبارها لوظائفها مسبقاً؛
  • التكامل واختبار النظام (Integration and System Testing): يتم فيها دمج جميع الوحدات التي طُوّرت في مرحلة التنفيذ في نظام موحّد بعد اختبار كل وحدة، ثم اختبار النظام المتكامل بحثاً عن أي اختلالات أو أعطال؛
  • مرحلة التشغيل والصيانة (Operation and Maintenance Phase): تشغيل النظام وتسليمه للعميل، وحل المشكلات التي تظهر في بيئة العميل من خلال إصدار التصحيحات ضمن إصدارات مطوّرة.

مزايا نموذج الشلال

يتميز هذا النموذج بمجموعة من المزايا هي:

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

عيوب نموذج الشلال

يُعاني هذا النموذج من مجموعة من النقائص هي:

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

اقرأ أيضاً: