Spiral model
تم تقديم
تلك الطريقة بواسطة باري دبليو بوهم Barry W. Boehm سنة 1988 و كان الدافع لذلك هو التعرف علي الأخطاء و المشاكل الغير متوقعة
و التعديلات في المتطلبات التي غالباً ما تصيب تقدم المشروع.
وهو عبارة عن نموذج يستخدم في تحليل النظام
أي دورة حياة النظام البرمجي Software
life cycle,إن
الفكرة الرئيسية خلف هذا النموذج هي فكرة الدورات, حيث يتكون هذا النموذج من مجموعة
من الدورات فكل دورة من هذه الدورات تغطي مجموعة من مراحل تطوير البرنامج, ويتم اختيار
عناصر كل دورة على حسب الأهمية فمثلاً البدء بأهم المتطلبات ثم إعداد المجسمات لهذه
المتطلبات لتأكد من صحتها ثم ينتقل فريق تطوير البرنامج الى مرحلة التصميم ثم المراحل
التي تليها حتى الانتهاء من هذا الجزء, في الدورة التالية يقوم فريق تطوير البرنامج
بتحديد العناصر لهذه الدورة وإنهاءها على أن يتم ربطها بجميع المنتجات السابقة, وتستمر
هذه الدورات الى أن ينهي فريق تطوير البرنامج إنتاجه للبرنامج.
خطوات تنفيذ النموذج الحلزوني (Spiral Model)
1.
أخذ المتطلبات من الزبون (Requirements)
2. تحليل جزء من المشكلة وتسمى (Analysis).
3.
طرح حلول المشكلة وتسمى (Design).
4.
التأكد من المواصفات (Specification)
5.
تنفيذ التصميم ويسمى (Implementation).
6.
إجراء اختبار ويسمى (Testing).
7.
نشر هذا الجزء من البرنامج ويسمى (Deployment).
8.
صيانة الأخطاء التي تظهر فيه وتسمى (Maintenance).
يتضح بأن كل دورة ستكون وحدة متكاملة لإنتاج
مرحلة من مراحل المشروع وبالتالي فإن الفكرة الرئيسية لهذه الطريقة هي أنك لا تقلق
بأن يحدث خطأ ما أو تعديل ما فأنك سوف تكون قادراً علي إصلاح والقيام به في الدورة
القادمة وهكذا حتى تنتهي الدورات ويخرج المشروع للنور
و تعتمد مراحل الطريقة الحلزونية تقريبا علي نفس
مراحل الطرق السابقة لكن مع بعض التعديلات‚ فتأتي المرحلة الأولى مرحلة الاستكشاف discovery كأول مرحلة وهي المتعلقة بجمع المتطلبات
وتحديد الأهداف Objectives . و في خلال مرحلة الاستكشاف ربما نضطر لكتابة بعض الأكواد الأولية Prototypes
أما المرحلة الثانية وهي أكبر المراحل أهمية هي
التقييم Evaluation فهي المنوطة بتقدير المهام الأكثر خطورة في الدورة الحالية
أما المرحلة الثالثة هي مرحلة البناء والتطوير Development ويتم فيها بناء المهمات التي تم توضيح
خطورتها في مرحلة التقييم ( المرحلة الثانية ) و نضرب لذلك مثالاً: لو نتج عن مرحلة
التقييم أن الخوارزم Algorithm المكتوب يحتمل أن يكون صعباً جداً أو ربما مستحيلاً فستكون المهمة الرئيسية
في المرحلة الثالثة في الدورة الحالية هي تمثيل بناء و اختبار ذلك الخواريزم
و نصل إلي المرحلة الرابعة و هي التحليل و التخطيط
و بهذا نكون قد أنهينا دورة كاملة في الحلزون و
ننتقل للدروة التالية وهكذا حتى ننتهي ومن المتوقع أن يكون كل دورة قصيرة الوقت وهذا يعتمد علي نتائج الدورة السابقة
وهنالك عدة مزايا لهذا النموذج ومنها:
أن المتطلبات الأساسية التي عرفت في الدورات
الأولى سوف تختبر جيداً في كل دورة.
أن هذا النموذج يوافق طبيعة العمل وخاصة
في مرحلة جمع المتطلبات لأنه يبدأ مع الأهم والأكثر عمومية ثم ينتقل الى الكثر تفصيلاً.
أنه يقبل التغيير والتعديل وذلك لأنه كما
ذكرنا سابقاً انه يعطي فرصة اكبر لفهم التفاصيل وان أي تغيير يمكن أن يضاف في الدورات
القادمة.
اعطائنا الأولية للقيام بالمهام الأكبر خطورة يعطي فرصة أكبر لنجاح المشروع لأنك تتجنب الكثير من المخاطر التي غالباً ما تحدث في أي مشروع أو تحت ضغط المتطلبات الجديدة التي قد تطرأ علي النظام و هذا يمثل ميزة كبيرة للطريقة الحلزونية و بتكرار التحليل و التخطيط و تجديدهما في كل دورة من دورات الطريقة الحلزونية فذلك يزيل معظم العوائق الكامنة في طريق إنهاء المشروع. فإنك مع كل دورة من الدورات تحصل علي ميزة جديدة و معرفة أكبر بالمشروع مما يثري التصميم و يصب ذلك كملة في مصلحة المشروع و خروجة بشكل قوي.
اعطائنا الأولية للقيام بالمهام الأكبر خطورة يعطي فرصة أكبر لنجاح المشروع لأنك تتجنب الكثير من المخاطر التي غالباً ما تحدث في أي مشروع أو تحت ضغط المتطلبات الجديدة التي قد تطرأ علي النظام و هذا يمثل ميزة كبيرة للطريقة الحلزونية و بتكرار التحليل و التخطيط و تجديدهما في كل دورة من دورات الطريقة الحلزونية فذلك يزيل معظم العوائق الكامنة في طريق إنهاء المشروع. فإنك مع كل دورة من الدورات تحصل علي ميزة جديدة و معرفة أكبر بالمشروع مما يثري التصميم و يصب ذلك كملة في مصلحة المشروع و خروجة بشكل قوي.
من الواضح أن هذا النموذج صعب الإدارة وخاصةً
اذا اخطاء فريق تطوير البرنامج في اختيار عناصر كل دورة.
العيوب:
النموذج الحلزوني “قلل من المشاكل بشكل
كبير “ولكن يمكن أن تظهر نفس المشكلة في التي كانت تظهر في النموذج الأول" الشلال" ..
حيث في حال أكتشف المبرمج أن هناك خطأ أو
نقص في التصميم لا يمكن العودة للخلف ويجب الانتظار حتى البدء في الدورة الثانية
صعوبة الحصول علي مخرج نهائي أو تقييم لتطور المشروع بعد كل دورة من الدورات، وربما في أسأ الحالات تتحول الطريقة إلي طريقة الشلال بسبب تضخم كل دورة علي حدى.
صعوبة الحصول علي مخرج نهائي أو تقييم لتطور المشروع بعد كل دورة من الدورات، وربما في أسأ الحالات تتحول الطريقة إلي طريقة الشلال بسبب تضخم كل دورة علي حدى.
إن إخراج تصور مبدئي لعدد الدورات التي
ستكون كفيلة بإخراج المشروع ربما تكون مستحيلة لأن ذلك سيختلف من مشروع لآخر.
العبئ الثقيل الناتج من القيام بأربع
مراحل في كل دورة وصعوبة عمل التربيط اللازم لتلك الدورات وتعظم المشكلة، لو انقسم
فريق العمل إلي عدة فرق عمل في آن واحد فعندها غالباً ما سنفقد التزامن Synchronization في عمل تلك الفرق.
الحل أنهم قاموا بتطوير نموذج الحلزوني
(Spiral Model) إلى نموذج جديد يسمى: النموذج المتكرر (Iterative Model)..
وفي النهاية قد قاموا بالجمع بين النماذج
الشلال والحلزوني والمتكرر (Waterfall,
Spiral, Iterative Models).
البعض سماه النموذج الحلزوني أيضا, والآخرون قالو أنه النموذج الحلزوني المتكرر ( Spiral- Iterative Model )..
البعض سماه النموذج الحلزوني أيضا, والآخرون قالو أنه النموذج الحلزوني المتكرر ( Spiral- Iterative Model )..
وتعد الطريقة الحلزونية فرد من أفراد
عائلة إدارة هندسة البرمجيات بطريقة العمليات التكرارية Iterative process وهي تكرار خوارزم كل مسألة محددة بحيث يكون المخرج
من أي مرحلة هو المدخل للمرحلة الثانية
أخوكم
خالد أحمد أبو دقة
مشكور أخي على هذه المعلومات.
ReplyDeleteGreat brother
ReplyDeleteالف شكر لك
ReplyDeleteشكرا جزيلا على هذه المعلومات القيمة
ReplyDeleteالف شكر
ReplyDelete