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