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