التطوير التكراري والتراكمي
التطوير التكراري والتزايدي هو أي مزيج من التصميم التكراري (أو الطريقة التكرارية) ونموذج البناء التزايدي للتطوير .
بدأ استخدام مصطلح "التكراري" في تطوير البرمجيات ، حيث تم اقتراح الجمع بين مصطلحي "التكراري" و "التزايدي" [ 1 ] على نطاق واسع لمشاريع التطوير الكبيرة. على سبيل المثال، يذكر معيار وزارة الدفاع الأمريكية رقم 2167 الصادر عام 1985 [ 2 ] (في القسم 4.1.2): "أثناء تطوير البرمجيات، قد يكون هناك أكثر من تكرار واحد لدورة تطوير البرمجيات قيد التنفيذ في الوقت نفسه." و"يمكن وصف هذه العملية بأنها نهج "اكتساب تطوري" أو "بناء تزايدي"." في مجال البرمجيات، تتحدد العلاقة بين التكرارات والتزايدات من خلال عملية تطوير البرمجيات الشاملة .

ملخص

تعتمد الفكرة الأساسية وراء هذه الطريقة على تطوير النظام من خلال دورات متكررة (تكرارية) وعلى مراحل صغيرة (تراكمية)، مما يسمح لمطوري البرامج بالاستفادة مما تم تعلمه خلال تطوير الأجزاء أو الإصدارات السابقة من النظام. يأتي التعلم من تطوير النظام واستخدامه على حد سواء، حيث تبدأ الخطوات الرئيسية في العملية، كلما أمكن، بتنفيذ بسيط لمجموعة فرعية من متطلبات البرنامج، ثم يتم تحسين الإصدارات المتطورة بشكل تكراري حتى يتم تنفيذ النظام بالكامل. في كل تكرار ، تُجرى تعديلات على التصميم وتُضاف إمكانيات وظيفية جديدة. [ 3 ]
تتألف العملية من ثلاث خطوات: التهيئة، والتكرار، وقائمة التحكم بالمشروع. تُنشئ خطوة التهيئة نسخة أساسية من النظام، وتهدف هذه الخطوة إلى إنتاج منتج تفاعلي يُمكن للمستخدم من خلاله التفاعل معه. ينبغي أن يُقدّم هذا المنتج لمحة عن الجوانب الرئيسية للمشكلة، وأن يُوفّر حلاً بسيطاً وسهل الفهم والتطبيق. ولتوجيه عملية التكرار، تُنشأ قائمة تحكم بالمشروع تتضمن سجلاً بجميع المهام المطلوبة، بما في ذلك الميزات الجديدة التي سيتم تنفيذها، ومجالات إعادة تصميم الحل الحالي. وتُراجع قائمة التحكم باستمرار نتيجةً لمرحلة التحليل.
تتضمن الدورة التكرارية إعادة تصميم وتنفيذ، وهي مصممة لتكون بسيطة ومباشرة ووحداتية، مما يدعم إعادة التصميم في تلك المرحلة أو كمهمة مستقبلية تُضاف إلى قائمة التحكم في المشروع. لا يُحدد النهج التكراري مستوى تفاصيل التصميم. في مشروع تكراري بسيط، قد يُمثل الكود المصدر الرئيسي لتوثيق النظام؛ بينما في مشروع تكراري بالغ الأهمية، قد تُستخدم وثيقة تصميم برمجية رسمية . يعتمد تحليل الدورة التكرارية على ملاحظات المستخدمين وأدوات تحليل البرامج المتاحة. ويشمل تحليل البنية، والوحداتية، وسهولة الاستخدام ، والموثوقية، والكفاءة، وتحقيق الأهداف. تُعدّل قائمة التحكم في المشروع في ضوء نتائج التحليل.

المراحل
يقسم التطوير التدريجي وظائف النظام إلى أجزاء (مراحل). في كل مرحلة، يتم تقديم جزء من الوظائف من خلال عمل متعدد التخصصات ، بدءًا من تحديد المتطلبات وصولًا إلى النشر . تُصنّف العملية الموحدة المراحل/التكرارات إلى مراحل: التأسيس، والتوسع، والبناء، والانتقال.
- تحدد مرحلة التأسيس نطاق المشروع والمتطلبات (الوظيفية وغير الوظيفية) والمخاطر على مستوى عالٍ ولكن بتفصيل كافٍ بحيث يمكن تقدير العمل.
- يوفر التطوير بنية عملية تخفف من المخاطر الرئيسية وتلبي المتطلبات غير الوظيفية.
- يقوم البناء تدريجياً بملء البنية البرمجية برمز جاهز للإنتاج تم إنتاجه من خلال تحليل وتصميم وتنفيذ واختبار المتطلبات الوظيفية.
- تُدخل عملية الانتقال النظام إلى بيئة التشغيل الإنتاجية.
يمكن تقسيم كل مرحلة من المراحل إلى دورة واحدة أو أكثر، وعادةً ما تكون هذه الدورات محددة زمنيًا وليست محددة بالميزات. يعمل المهندسون المعماريون والمحللون دورة واحدة قبل المطورين والمختبرين للحفاظ على قائمة مهامهم ممتلئة.
الاستخدام والتاريخ
تم تقديم العديد من الأمثلة على الاستخدام المبكر في مقالة كريج لارمان وفيكتور باسيلي بعنوان "التطوير التكراري والتزايدي: تاريخ موجز"، [ 4 ] وكان أحد أقدمها مشروع ميركوري التابع لناسا في الستينيات .
شكّل بعض مهندسي برنامج ميركوري لاحقًا قسمًا جديدًا داخل شركة آي بي إم ، حيث كان "أحد الأمثلة المبكرة والبارزة على نجاح كبير لمنهجية التصميم المتكامل والتكاملي (IID) هو جوهر برمجيات مكوك الفضاء التابع لناسا - نظام برمجيات إلكترونيات الطيران الرئيسي، الذي قاموا بتطويره بين عامي 1977 و1980. طبّق الفريق منهجية IID في سلسلة من 17 دورة على مدار 31 شهرًا، بمتوسط ثمانية أسابيع لكل دورة. وكان دافعهم لتجنب دورة حياة الشلال هو أن متطلبات برنامج المكوك تغيرت أثناء عملية تطوير البرمجيات." [ 4 ]
بعض المنظمات، مثل وزارة الدفاع الأمريكية، تفضل المنهجيات التكرارية، بدءًا من MIL-STD-498 "الذي يشجع بوضوح على الاكتساب التطوري و IID".
نصت تعليمات وزارة الدفاع رقم 5000.2 الصادرة عام 2000 على تفضيل واضح لـ IID:
هناك منهجان للوصول إلى القدرة الكاملة: المنهج التطوري والمنهج المتتالي (الخطوة الواحدة). يُفضّل المنهج التطوري. في هذا المنهج، تُقسّم القدرة النهائية المُقدّمة للمستخدم إلى جزأين أو أكثر، مع زيادات تدريجية في القدرة. يجب أن يتبع تطوير البرمجيات عملية تطوير حلزونية تكرارية، حيث تستند إصدارات البرمجيات المتوسعة باستمرار إلى التعلم من التطويرات السابقة. ويمكن أيضًا تنفيذ ذلك على مراحل.
لم تعد التعديلات الأخيرة على توجيهات وزارة الدفاع الأمريكية رقم 5000.02 تشير إلى "التطوير الحلزوني"، ولكنها تدعو إلى اتباع النهج العام كأساس لبرامج التطوير/المشتريات التي تعتمد بشكل مكثف على البرمجيات. [ 5 ] إضافةً إلى ذلك، تستخدم الوكالة الأمريكية للتنمية الدولية (USAID) نهجًا تطويريًا تكراريًا وتدريجيًا في دورة برامجها لتصميم مشاريع التنمية الدولية ومراقبتها وتقييمها والتعلم منها وتكييفها، وذلك من خلال نهج إدارة مشاريع يركز على دمج استراتيجيات التعاون والتعلم والتكيف لتكرار البرامج وتكييفها. [ 6 ]
الاستخدام في الأجهزة والأنظمة المدمجة
بينما بدأ مصطلح التطوير التكراري والتزايدي في صناعة البرمجيات، فإن العديد من جهود تطوير الأجهزة والبرمجيات المدمجة تستخدم تقنيات تكرارية وتزايدية.
يمكن ملاحظة أمثلة على ذلك في عدد من الصناعات. ومن بين القطاعات التي تأثرت بشكل كبير بهذا التحول الفكري مؤخرًا، صناعة إطلاق المركبات الفضائية ، حيث ظهرت قوى تنافسية جديدة وكبيرة نتيجة للابتكار التكنولوجي الأسرع والأكثر شمولًا الذي أتاحته الشركات الخاصة العاملة في مجال إطلاق المركبات الفضائية. هذه الشركات، مثل سبيس إكس [ 7 ] وروكيت لاب [ 8 ] ، تقدم الآن خدمات إطلاق مدارية تجارية خلال العقد الماضي، وهو أمر لم تكن سوى ست دول قد فعلته قبل عقد من الزمن [ 9 ] . وقد ساهم الابتكار الجديد في أساليب تطوير التكنولوجيا، والتسعير، وعروض الخدمات - بما في ذلك القدرة التي لم تكن متاحة إلا منذ عام 2016 على التحليق إلى الفضاء باستخدام مرحلة معززة سبق استخدامها (قابلة لإعادة الاستخدام) - في خفض تكلفة الوصول إلى الفضاء. [ 10 ] [ 7 ]
لقد أوضحت شركة سبيس إكس جهودها لإدخال ممارسات التصميم التكراري في صناعة الفضاء، وتستخدم هذه التقنية في المركبات الفضائية، ومركبات الإطلاق، والإلكترونيات، وأنظمة الطيران، وعمليات معدات الطيران التشغيلية. [ 11 ]
مع بدء تغير صناعة الإطلاق، بدأت شركات منافسة أخرى في هذا المجال بتغيير ممارساتها التطويرية طويلة الأجل مع الوكالات الحكومية . فعلى سبيل المثال، بدأت شركة يونايتد لونش ألاينس (ULA) ، وهي شركة أمريكية كبيرة تقدم خدمات الإطلاق، في عام 2015 مشروعًا يمتد لعقد من الزمن لإعادة هيكلة أعمالها في مجال الإطلاق، وذلك بتقليص عدد مركبات الإطلاق من اثنتين إلى واحدة ، باستخدام نهج تدريجي وتكراري للوصول إلى نظام إطلاق قابل لإعادة الاستخدام جزئيًا وبتكلفة أقل بكثير خلال العقد القادم. [ 12 ]
انظر أيضاً
مراجع
- ↑ لارمان، كريغ (يونيو 2003). "التطوير التكراري والتراكمي: تاريخ موجز" ( ملف PDF) . مجلة الكمبيوتر . 36 (6): 47-56 . doi : 10.1109/MC.2003.1204375 . ISSN 0018-9162 . S2CID 9240477.
كنا نطبق التطوير التراكمي منذ عام 1957 في لوس أنجلوس، تحت إشراف بيرني ديمسديل [في شركة سيرفيس بيورو التابعة لشركة آي بي إم]. كان زميلًا لجون
فون نيومان
، لذا ربما تعلمه هناك، أو اعتبره أمرًا بديهيًا. أتذكر هيرب جاكوبس (بشكل أساسي، على الرغم من مشاركتنا جميعًا) وهو يطور محاكاة كبيرة لشركة موتورولا، حيث كانت التقنية المستخدمة، على حد علمي...
- ↑ DOD-STD-2167 تطوير برمجيات أنظمة الدفاع (4 يونيو 1985) على موقع everyspec.com
- ↑ فارسيتش، فيكتور (21 يناير 2014). "نماذج تطوير البرمجيات: التطوير التكراري والتراكمي" . حوارات تكنولوجية . مؤرشف من الأصل في 25 مارس 2014.
- 1 2 التطوير التكراري والتزايدي: تاريخ موجز ، كريج لارمان وفيكتور باسيلي، مجلة IEEE Computer، يونيو 2003
- ↑ كيندال، فرانك؛ جيلمور، ج. مايكل؛ هالفورسن، تيري (2017-02-02). "تشغيل نظام الاستحواذ الدفاعي" (ملف PDF) . منشورات وزارة الدفاع . وكيل وزارة الدفاع للاستحواذ والتكنولوجيا واللوجستيات. الصفحات 12-14 . مؤرشف من الأصل (ملف PDF) بتاريخ 2017-08-09 . تم الاطلاع عليه بتاريخ 2017-08-09 .
- ↑ الوكالة الأمريكية للتنمية الدولية. "السياسة التشغيلية لدورة برنامج الفصل 201 من برنامج ADS". مؤرشف بتاريخ 23 أكتوبر 2019 في أرشيف الإنترنت . تم الاطلاع عليه بتاريخ 19 أبريل 2017.
- 1 2 بيلفيوري، مايكل (9 ديسمبر 2013). "ذا روكيتير" . السياسة الخارجية . مؤرشف من الأصل في 10 ديسمبر 2013. تم الاسترجاع في 11 نوفمبر 2018 .
- ↑ "نظرة حصرية من الداخل على مصنع روكيت لاب الضخم الجديد الذي كان سريًا سابقًا!" . رائد الفضاء اليومي . ١١ أكتوبر ٢٠١٨. مؤرشف من الأصل في ١٢ أكتوبر ٢٠١٨. تم الاطلاع عليه في ١١ نوفمبر ٢٠١٨ .
- ↑ كلارك، ستيفن (28 سبتمبر 2008). "نجاحٌ باهرٌ أخيرًا لصاروخ فالكون 1" . سبيس فلايت ناو . تم الاطلاع عليه في 11 نوفمبر 2018.
أول صاروخ يعمل بالوقود السائل تم تطويره من قبل القطاع الخاص يصل بنجاح إلى المدار.
- ↑ بيرغر، إريك (25 يونيو 2018). "صاروخ بروتون الروسي، الذي يسبق برنامج أبولو، سيتوقف عن الطيران نهائيًا. المشاكل التقنية وصعود شركة سبيس إكس من العوامل المساهمة" . arsTechica . تم الاطلاع عليه بتاريخ 26 يونيو 2018.
أدى الصعود السريع للبدائل منخفضة التكلفة، مثل صاروخ فالكون 9 التابع لشركة سبيس إكس، إلى انخفاض عدد عمليات إطلاق بروتون سنويًا من حوالي ثماني عمليات إلى عملية أو عمليتين فقط.
- ↑ فيرنهولز، تيم (21 أكتوبر 2014). "ما تطلّبه الأمر من شركة سبيس إكس التابعة لإيلون ماسك لإحداث ثورة في بوينغ، وتجاوز ناسا، والتحول إلى شركة فضاء رائدة" . كوارتز . تم الاطلاع عليه في 11 نوفمبر 2018.
لكن سبيس إكس لطالما اعتبرت نفسها شركة تقنية، وكثيراً ما اتخذت خلافاتها مع ناسا شكلاً مألوفاً لمطوري الحواسيب - أو أي شخص مطلع على الإطلاق المتعثر لموقع healthcare.gov - باعتباره خلافاً بين الأجيال. اتبعت سبيس إكس عملية تصميم تكرارية، حيث حسّنت النماذج الأولية باستمرار استجابةً للاختبارات. تتطلب إدارة المنتجات التقليدية خطة محكمة تُنفذ حتى الاكتمال، وهو ما يؤدي غالباً إلى تجاوزات في التكاليف.
- ↑ غروس، مايك (24 أبريل 2015). "تطور الخطة : مسؤولو شركة ULA يشرحون المنطق وراء خيارات تصميم فولكان" . أخبار الفضاء . تم الاطلاع عليه في 25 أبريل 2015. أعلنت شركة ULA في 13 أبريل أنها ستطور صاروخًا يُطلق عليه اسم فولكان باستخدام نهج تدريجي، حيث أن
النسخة الأولى منه هي في الأساس صاروخ أطلس 5 مُجهز بمرحلة أولى جديدة.
قراءات إضافية
- الدكتور أليستر كوكبيرن (مايو 2008). "استخدام التطوير التدريجي والتكراري" (ملف PDF) . STSC CrossTalk . 21 (5). مركز دعم تكنولوجيا البرمجيات التابع للقوات الجوية الأمريكية : 27-30 . ISSN 2160-1593 . مؤرشف من الأصل (ملف PDF) بتاريخ 26 مايو 2012. تاريخ الاسترجاع: 20 يوليو 2011 .
- كريغ لارمان، فيكتور ر. باسيلي (يونيو 2003). "التطوير التكراري والتراكمي: تاريخ موجز" (ملف PDF) . مجلة IEEE Computer ، المجلد 36 ، العدد 6. جمعية IEEE Computer: 47-56 . doi : 10.1109/MC.2003.1204375 . ISSN: 0018-9162 . S2CID : 9240477. تاريخ الاسترجاع: 10 يناير 2009 .
- فلسفات تطوير البرمجيات
- إدارة مشاريع البرمجيات
