التنفيذ والنشر والصيانة

أنواع صيانة الأنظمة

18 دقيقة الدرس 8 من 10

أنواع صيانة الأنظمة

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

الصيانة ليست دليلاً على فشل المشروع؛ بل هي دليل على أن النظام يُستخدم فعلاً وأن العمل يتطور. تُشير الدراسات باستمرار إلى أن الصيانة تستهلك 60–80% من إجمالي تكلفة دورة حياة النظام. بوصفك محلل أنظمة، يُمكّنك فهم أنواع الصيانة الأربعة من تحديد نطاق طلبات التغيير، وإدارة توقعات أصحاب المصلحة، والتخطيط للخارطة التقنية، وتبرير ميزانيات تقنية المعلومات.

النموذج الرباعي للتصنيف

يُصنِّف معيار ISO/IEC 14764 (والتصنيف السابق لـ Lientz وSwanson الذي رسّخه) صيانة البرمجيات إلى أربعة أنواع متمايزة. يجيب كلٌّ منها على سؤال مختلف وينطلق من حدث مغاير.

Four Types of System Maintenance System Maintenance Corrective Fix known defects Triggered by: bug reports, system failures, data errors ~20% of maintenance effort Adaptive Adapt to changed environment Triggered by: OS/DB upgrades, regulations, new hardware ~25% of maintenance effort Perfective Improve function or performance Triggered by: user requests, performance reviews, feedback ~50% of maintenance effort Preventive Prevent future failures Triggered by: audits, tech-debt reviews, risk assessments ~5% of maintenance effort
الأنواع الأربعة للصيانة وفق معيار ISO/IEC 14764 مع الحصص التقريبية من جهد الصيانة الفعلي.

الصيانة التصحيحية (Corrective Maintenance)

تُعالج الصيانة التصحيحية العيوب الموجودة في النظام التي لم تُكتشف قبل الإطلاق، أو تلك التي تظهر نتيجة تركيبة غير متوقعة من المدخلات تكشف خللاً كامناً. المحرك دائماً هو إخفاق ما: مبلغ خاطئ في فاتورة العيادة، خطأ 500 عند إدخال رمز بريدي يحوي حرفاً في بوابة اللوجستيات، أو انهيار المهمة الليلية بسبب مؤشر null.

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

في بوابة تتبع الشحنات، قد تُصلح صيانة تصحيحية خللاً يُعرض شحنات مُسنَدة لسائق محذوف كسجلات "أشباح" تعرقل طابور الإرسال. يستعيد الإصلاح السلوك المطابق للمواصفة الأصلية.

الصيانة التكيفية (Adaptive Maintenance)

تُعدِّل الصيانة التكيفية النظام لإبقائه يعمل بصورة صحيحة في بيئة متغيرة — النظام نفسه لم يتعطل، لكن العالم المحيط به تحوَّل. تشمل المحركات الشائعة: ترقية إصدارات نظام التشغيل أو قواعد البيانات، هجرة واجهات برمجية خارجية، استبدال الأجهزة، والتغييرات التشريعية التي تُلزم بحقول أو حسابات جديدة.

  • متجر إلكتروني يتكامل مع بوابة دفع يضطر للتكيف حين تُوقف تلك البوابة واجهتها القديمة وتستلزم الانتقال إلى النسخة الجديدة — لا عيب في المتجر، لكن بيئته تغيرت.
  • نظام حجز عيادة يجب أن يُضيف حقلاً إلزامياً جديداً حين تُعدِّل وزارة الصحة متطلبات جمع البيانات.
  • وحدة كشف الرواتب تُعيد حساب شرائح الضريبة كل سنة مالية مع تغيّر الحدود الحكومية.
للمحللين دور محوري في الصيانة التكيفية. حين تتغير لائحة تنظيمية، يجب أن يُحلَّل أثرها على نماذج البيانات وقواعد العمل والتقارير وواجهات المستخدم قبل تغيير أي سطر برمجي. هذا تحليل أنظمة حقيقي، حتى لو جرى بعد سنوات من إغلاق المشروع الأصلي.

الصيانة التحسينية (Perfective Maintenance)

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

  • تحسينات الميزات — بوابة اللوجستيات التي كانت تعرض شحنات اليوم الحالي فقط، يطلب المستخدمون عرض سجل 30 يوماً. لا عيب هناك؛ بل تكتسب النظام قدرة جديدة.
  • تحسينات الأداء — تقرير حجز في عيادة يستغرق 45 ثانية يُعاد كتابته ليعمل في أقل من ثانيتين بعد اكتشاف فهرس مفقود.
  • تحسينات سهولة الاستخدام — إعادة هيكلة إتمام الشراء في المتجر من معالج بأربع خطوات إلى صفحة واحدة بعد اختبار A/B.
تعامل مع طلبات الصيانة التحسينية كمشاريع مصغرة. يحتاج كلٌّ منها إلى بيان متطلبات، ودراسة جدوى، وتقدير جهد، وقرار تحديد أولويات. تُوجِّه عملية تغيير ناضجة هذه الطلبات عبر لجنة استشارية للتغيير (CAB) أو حقيبة عمل المنتج، لتجنب تضخم النطاق واضطراب غير مخطط في بيئة الإنتاج.

الصيانة الوقائية (Preventive Maintenance)

تُعيد الصيانة الوقائية هيكلة النظام أو توثيقه أو إعادة صياغته لتقليل احتمال الفشل المستقبلي وخفض تكلفة التغييرات القادمة — دون تغيير أي وظيفة مرئية. تعالج الدَّين التقني: الاختصارات المُتخذة أثناء التطوير التي تتراكم فوائدها بمرور الوقت في صورة كود أصعب تعديلاً واختباراً.

  • إعادة الهيكلة — إعادة بناء منطق التسعير المتشعب حتى تستغرق كل تعديل مستقبلي في قواعد الأسعار ساعات بدلاً من أيام.
  • تحديث التوثيق — تحديث قاموس البيانات ومخطط ERD ليتوافق مع المخطط الحالي بعد عامين من التغييرات التكيفية والتحسينية.
  • تعزيز الأمان — ترقية تبعيات الإطار، وتدوير مفاتيح التشفير، وتشديد صلاحيات قاعدة البيانات قبل استغلال أي ثغرة.

الصيانة الوقائية هي الأصعب تمويلاً لأنها لا تُقدِّم ميزة جديدة مرئية. يُقنَع بها عبر تكميم المخاطر: "وحدة المصادقة لم تُلمَس منذ أربع سنوات؛ المكتبة التي تستخدمها تحمل ثلاث ثغرات CVE معروفة؛ اختراق هنا يُعرِّض 50,000 سجل مريض للخطر ويستدعي غرامات تنظيمية."

مقارنة الأنواع الأربعة في طلب تغيير

Maintenance Type Comparison Table Type Trigger Changes Specification? User Visible? Corrective Fix a defect Bug report / system failure No — restores intended behaviour Sometimes Adaptive Fit changed environment External change (law, API, OS) Yes — new constraints added Usually yes Perfective Improve system User request / feedback Yes — extends functionality Yes Preventive Reduce future risk Audit / tech-debt review No — internal quality only No
مقارنة سريعة بين أنواع الصيانة الأربعة — مفيدة عند تصنيف طلبات التغيير الواردة.

تصنيف طلبات التغيير الفعلية

في الواقع العملي، تتداخل الأنواع الأربعة أحياناً. تحسين أداء (تحسيني) يُكتشف أثناء تدقيق (وقائي) ويُصحح تسرباً في الذاكرة (تصحيحي) في آنٍ معاً ليس بالأمر النادر. ما يهم هو عادة السؤال: لماذا نحتاج هذا التغيير؟

  • "يتعطل النظام حين يُرسل مستخدمان طلباً في وقت واحد." ← تصحيحي
  • "بوابة الدفع ستوقف واجهتها القديمة خلال 90 يوماً." ← تكيفي
  • "هل يمكن إضافة تصدير CSV لتسهيل معالجة تقارير الحسابات؟" ← تحسيني
  • "مكتبة المصادقة لدينا متأخرة إصدارَين رئيسيَّين والفريق قلق من الثغرات." ← وقائي

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

مسؤولية المحلل في مرحلة الصيانة: نادراً ما تصل طلبات التغيير مُصنَّفة مسبقاً. دورك هو مقابلة الطالب، وإعادة إنتاج السيناريو، وتحديد المحرك الجذري قبل أن يصل الطلب إلى فريق التطوير. تصنيف خطأ لعيب تصحيحي باعتباره تحسينياً قد يؤخر إصلاحاً حرجاً أسابيع بينما يجلس في حقيبة العمل.

مقاييس الصيانة الجديرة بالمتابعة

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