- التاريخ
- خلق
- بديل لنموذج الشلال
- ملامح النموذج الحلزوني
- السيطرة على المخاطر
- وصف اللولب
- عام
- مرنة
- النموذج المرجعي
- مراحل
- تحديد الأهداف والبدائل والمعوقات
- تقييم المخاطر
- التطوير والاختبار
- التخطيط للدورة القادمة
- مثال
- مميزات
- الهيكل الدوري
- إدارة المخاطر
- مشاركة العملاء وردود الفعل
- مثالي للمشاريع الكبيرة
- سلبيات
- مكلفة
- السكون المكتمل
- إدارة الوقت
- خطوات عديدة
- المراجع
و النموذج الحلزوني هو النموذج الأصلي للعملية تطوير التطبيقات. يعتمد على فرضية أن تطوير البرمجيات هو دورة تكرارية تتكرر حتى تتحقق الأهداف المحددة. لديه القدرة على التعامل مع عدد كبير من المخاطر التي يمكن أن تحدث عند تطوير أي برنامج.
إنه أحد أهم النماذج لدعم إدارة المخاطر. كما يوحي اسمه ، يظهر هذا النموذج على شكل حلزوني ، حيث يتم توزيع مراحل النموذج المختلفة في دورات مختلفة. عدد الدورات في النموذج غير ثابت ويمكن أن يختلف من مشروع إلى آخر.
التحليل والتقييم والتخطيط والتطوير. المصدر الحلزوني لتطوير البرمجيات: Beao commons.wikimedia.org
التاريخ
خلق
تم تحديد النموذج الحلزوني من قبل عالم الرياضيات الأمريكي وأستاذ هندسة البرمجيات باري بوم. بعد تقديم مفهومه في عام 1986 لتطوير التطبيقات المعقدة ، نشر نموذجه في عام 1988 في إطار أكثر شمولاً في مقالته "نموذج حلزوني لتطوير البرامج وتحسينها".
صور جزء من هذا المنشور لعام 1988 نموذجًا لولبيًا بيانياً ، موضحًا تمامًا كيف تبدو عملية تطوير البرامج بطريقة لولبية ومدعومة بالدورات.
يشتهر Boehm بمساهماته العديدة في هندسة البرمجيات ، مثل نموذج التكلفة البناء (COCOMO) ، والنموذج الحلزوني لعملية البرنامج ، ونهج G-Theory (الفوز) لتحديد المتطلبات وإدارتها. من البرنامج.
بديل لنموذج الشلال
في منشوره ، وصف بوم النموذج الحلزوني كبديل محتمل لنموذج الشلال الذي تم إنشاؤه سابقًا ، والذي كان أيضًا بمثابة أساس لممارسته.
لم يكن النموذج الحلزوني أول من ناقش التطور الدوري ، لكنه كان أول نموذج يشرح سبب أهمية التكرار. كما هو مخطط له في الأصل ، فقد تم استهدافه في المشاريع الكبيرة والمعقدة التي تتراوح تكراراتها عادة من 6 أشهر إلى سنتين.
لا يفترض هذا النموذج أن مهام تطوير البرامج مصممة بشكل خطي ، على عكس نموذج الانحدار ، بل يراها كمهام متكررة.
أثر هذا النموذج الدوري على هندسة البرمجيات القائمة على النموذج (MBASE) والبرمجة المتطرفة.
ملامح النموذج الحلزوني
السيطرة على المخاطر
ما يميز هذا النموذج بشكل كبير عن نماذج العمليات البرمجية الأخرى هو أنه يتعرف صراحة على المخاطر. وبالتالي ، فإنه يقلل بشكل كبير من فشل مشاريع البرامج الكبيرة من خلال التقييم المتكرر للمخاطر والتحقق من المنتج قيد التطوير في كل مرة.
يحتوي نموذج الكمبيوتر هذا على مكونات من كل نموذج آخر تقريبًا لدورة حياة البرنامج ، مثل نموذج الشلال ونموذج النماذج الأولية والنموذج التكراري والنموذج التطوري ، إلخ.
لهذا السبب ، فهي قادرة على التعامل مع أي نوع من المخاطر التي لا تتعامل معها النماذج الأخرى بشكل عام. ومع ذلك ، نظرًا لوجود العديد من المكونات ، يعد هذا النموذج أكثر تعقيدًا من نماذج تطوير البرامج الأخرى.
وصف اللولب
يمثل كل منعطف في اللولب دورة كاملة ، تمر خلالها الأرباع الأربعة دائمًا ، وتمثل المراحل الأربع للنموذج.
مع زيادة حجم اللولب ، يزداد التقدم المحرز. لذلك ، لا يتم تنفيذ المراحل مرة واحدة فقط ، بل عدة مرات بطريقة حلزونية.
على الرغم من أن هذا التكرار الدوري يجعل المشروع يقترب ببطء من الأهداف المحددة ، فإن خطر فشل عملية التطوير يتم تقليله بشدة.
عام
تنفذ المراحل الأربع فقط الأهداف الأساسية للدورة ، لكن لا يجب أن تظهر في كل دورة.
لم يتم تحديد ترتيب كل دورة بشكل صارم أيضًا. لذلك ، يمكن دمج النموذج في أي وقت مع الطرز الأخرى.
مرنة
إنه مرن للغاية ، حيث ينفذ تعريف الأهداف ، وتحليل المخاطر ، وعمليات التطوير والتخطيط بشكل منفصل لكل مرحلة من مراحل المشروع.
النموذج المرجعي
يعتبر نموذجًا metamodel لأنه يتضمن النماذج الأخرى. على سبيل المثال ، إذا كان الحلزوني عبارة عن دورة واحدة ، فإنه سيمثل نموذج الشلال ، لأنه يتضمن النهج التدريجي لهذا النموذج الكلاسيكي.
كما أنه يستخدم نهج النماذج الأولية ، حيث يقوم في بداية كل دورة بتجميع نموذج أولي لإدارة المخاطر.
بالإضافة إلى ذلك ، فهو متوافق مع النموذج التطوري ، لأن تكرارات اللولب يمكن اعتبارها مستويات تطورية ، يتم من خلالها بناء النظام النهائي.
مراحل
تحديد الأهداف والبدائل والمعوقات
يتم تحديد متطلبات النظام بأكبر قدر ممكن من التفاصيل ، بما في ذلك الأداء ، وواجهات الأجهزة / البرامج ، والمؤشرات الرئيسية للنجاح ، وما إلى ذلك. وما هي الأهداف التي يجب أن ترتبط بدورة التنمية الحالية التي يتم النظر فيها.
بالإضافة إلى ذلك ، يتم فحص البدائل المختلفة لتنفيذه ، مثل build vs. شراء أو إعادة استخدام المكونات الموجودة أو الاستعانة بمصادر خارجية ، إلخ.
وبالمثل ، يتم تحديد القيود مثل التكلفة والجدول الزمني والواجهات واستهلاك الوقت وما إلى ذلك.
تقييم المخاطر
يتم تقييم جميع البدائل المقترحة. تعمل الأهداف والقيود كمراجع لتحديد أفضل الحلول.
بالإضافة إلى ذلك ، يتم تحديد المخاطر التي قد تعيق نجاح المشروع ، مثل نقص الخبرة ، والتقنيات الجديدة ، والجداول الزمنية الضيقة ، والعمليات السيئة ، وما إلى ذلك ، وتنفيذ أكثر الاستراتيجيات ربحية بأقل المخاطر.
أخيرًا ، يتم استخدام طرق مثل النماذج الأولية والمحاكاة والنماذج التحليلية واستطلاعات المستخدم.
التطوير والاختبار
يتم تنفيذ جميع التطويرات اللازمة باستخدام التكنولوجيا والحلول المختارة. مع كل تكرار يتم إنشاء نسخة أفضل من التطبيق.
تتم كتابة الكود الفعلي واختباره عدة مرات حتى يتم الوصول إلى النتيجة المرجوة ، والتي ستكون بمثابة الأساس لخطوات التطوير المستقبلية.
التخطيط للدورة القادمة
عند الانتهاء من دورة واحدة ، يبدأ التخطيط للدورة التالية. يمكن أن يكون هذا التخطيط هو الاستمرار في المشروع بشكل طبيعي إذا تم الوصول إلى هدف الدورة ، مع الأخذ في الاعتبار تحديد الهدف التالي.
يمكن أن يكون أيضًا إيجاد حلول أخرى ، إذا ثبت أن المرحلة السابقة من التطوير خاطئة. يمكن استبدال الاستراتيجية الحالية بأحد البدائل المحددة مسبقًا أو بديل جديد. بهذا ، ستبدأ محاولة جديدة للوصول إلى الهدف المحدد.
مثال
اعتمد جيش الولايات المتحدة النموذج الحلزوني لتطوير وتحديث برنامج تحديث أنظمة القتال المستقبلية (SCF).
تم إطلاق صواريخ SCF رسميًا في عام 2003 لتزويد القوات بمركبات متصلة في الوقت الفعلي بشبكة سريعة ومرنة بشكل غير عادي من ساحات القتال.
تم تقسيم المشروع إلى أربع دورات تطوير كل منها حوالي عامين. كان من المقرر أن يبدأ Spiral 1 في عام 2008 ويقدم نماذج أولية للاستخدام والتقييم.
بعد الانتهاء من spiral 1 ، كان من المقرر أن تبدأ spiral 2 في عام 2010. وكان من المقرر تسليم تطوير المنتج النهائي في عام 2015.
في أغسطس 2005 ، أعلنت شركة Boeing عن الانتهاء من أول إنجاز رئيسي للمشروع ، وهو الإصلاح الوظيفي للأنظمة. وكانت شركة Boeing and Science Applications International هي القائدة المشاركة للمشروع.
ومع ذلك ، في أكتوبر 2005 أوصى البنتاغون بتأجيل المشروع بسبب التأثير الكبير على تكاليف حرب العراق والمساعدات من إعصار كاترينا.
تم إلغاء المشروع في عام 2009 بعد ظهور تخفيضات في الميزانية ، دون التمكن من إثبات فوائد النموذج الحلزوني في هذه المهمة
مميزات
الهيكل الدوري
بسبب هذا النوع من البنية ، يتم حل المشكلات بين التصميم والمتطلبات التقنية للبرنامج بشكل ضمني ، وذلك بفضل الفحوصات الدورية.
إدارة المخاطر
يتم تحليل المخاطر في كل مرحلة من مراحل المنتج قبل المضي قدمًا. هذا يساعد في التغلب على المخاطر المحتملة أو تخفيفها.
يستفيد جميع الموظفين من الأهمية الكبيرة لتحليل المخاطر في هذا النموذج ، مما قد يمثل أكبر ميزة لهم على نماذج العمليات الأخرى.
يعد التقييم المنتظم للمخاطر ذا قيمة عند استخدام بيئات تقنية جديدة ، والتي ترتبط عمومًا باحتمالية مخاطر معينة بسبب عدم وجود قيم تجريبية.
مشاركة العملاء وردود الفعل
يشارك العملاء في كل مرحلة من مراحل المشروع ، حتى اكتمال المشروع. لذلك ، يمكن جمع ردود فعل مختلفة لتحسين الإصدار التالي من المشروع.
أيضًا ، يمكن الحصول على التعليقات في أي وقت بسبب التقدم على شكل حلزوني. وبالتالي ، يمكن دمج العملاء والمستخدمين من البداية في عملية التطوير.
مثالي للمشاريع الكبيرة
إنها تحظى بشعبية وبارزة بشكل خاص للمشاريع الكبيرة والمعقدة ، حيث يكون التحكم في الميزانية من أولويات العملاء والمطورين. لديك أقصى قدر من التحكم في تكاليف وموارد وجودة مشروع البرنامج.
سلبيات
مكلفة
يمكن أن يكون مكلفًا للغاية ، حيث يتطلب مستوى عالٍ من الخبرة لتحليل المخاطر. بالإضافة إلى ذلك ، تستغرق المشاريع وقتًا طويلاً لتطويرها ، مما قد يؤدي إلى زيادة النفقات العامة.
السكون المكتمل
مطلوب إدارة نشطة ومعقدة للغاية للمشروع ، حيث يتم التحكم في كل دورة وتوثيقها بشكل مستمر ودقيق.
إنه أكثر تعقيدًا نسبيًا من النماذج الأخرى ، نظرًا لوجود العديد من الدورات ، كل منها يمر بمراحل مختلفة ، مما يزيد من جهد عملية التوثيق.
المعرفة بتحليل وإدارة المخاطر ، والتي غالبا ما تكون غير متوفرة ، ضرورية.
إدارة الوقت
من الصعب إدارة الوقت لأن عدد الدورات غير معروف. بالإضافة إلى ذلك ، يمكن أن تتأخر عملية التطوير في أي وقت إذا كان يجب اتخاذ قرارات مهمة خلال دورة واحدة أو من خلال إجراءات إضافية عند التخطيط للدورة التالية.
خطوات عديدة
إن اتخاذ العديد من الخطوات في تطوير البرامج ليس دائمًا مناسبًا لأنه على الرغم من تعدد استخدامات الاختبار ، يمكن أن تصل الأجزاء غير المكتملة من البرنامج إلى النظام النهائي.
نتيجة لذلك ، هناك دائمًا خطر أن يؤثر أي خطأ مفاهيمي أو تناقض على المنتج النهائي.
المراجع
- فيكتور فونت جونيور (2019). النموذج الحلزوني. الدليل النهائي لـ SDLC. مأخوذة من: ultimatesdlc.com.
- ايونوس (2019). النموذج الحلزوني: نموذج عملية تطوير البرامج المدفوعة بالمخاطر. مأخوذة من: ionos.com.
- Techuz (2018). ما هو النموذج الحلزوني؟ شرح مبسط لدورة حياة تطوير البرمجيات الحلزونية (SDLC). مأخوذة من: techuz.com.
- One Stop Testing (2020). نموذج حلزوني. مأخوذة من: onestoptesting.com.
- Geeks for Geeks (2020). هندسة البرمجيات - النموذج الحلزوني. مأخوذة من: geeksforgeeks.org.
- تشاندو (2019). النموذج الحلزوني في هندسة البرمجيات. مأخوذة من: medium.com.