تجميد (هندسة البرمجيات)

في هندسة البرمجيات ، يُشير مصطلح "التجميد" إلى نقطة زمنية في عملية التطوير تُصبح بعدها قواعد إجراء التغييرات على شفرة المصدر أو الموارد ذات الصلة أكثر صرامة، أو الفترة التي تُطبق خلالها هذه القواعد. [ 1 ] يُساعد التجميد على دفع المشروع قُدماً نحو إصدار أو نهاية دورة تطويرية من خلال تقليل نطاق التغييرات أو تكرارها، ويمكن استخدامه للمساعدة في تحقيق أهداف خارطة الطريق .

تختلف القواعد الدقيقة باختلاف نوع التجميد وعملية التطوير المتبعة؛ فعلى سبيل المثال، قد تقتصر على السماح بالتغييرات التي تُصلح الأخطاء فقط ، أو السماح بالتغييرات بعد مراجعة دقيقة من قِبل أعضاء آخرين في فريق التطوير. وقد تُحدد أيضًا الإجراءات المُتبعة في حال تطلب الأمر تغييرًا مُخالفًا للقواعد، كإعادة بدء فترة التجميد. ومن أنواع التجميد الشائعة:

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

التطبيقات

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

انظر أيضاً

مراجع

  1. ماسيتيللي، رونالد (1 يناير 2007). دليل تطوير المنتجات الرشيقة: كل ما يحتاجه فريق التصميم لتحسين الكفاءة وتقليل وقت الوصول إلى السوق . مجلة تكنولوجي بيرسبكتيفز. ص  111. ISBN 9780966269734.