خرافاتٌ حولَ هندسةِ البرمجيّاتِ
إنّ أحدَ أهمِّ عُلُومِ #الحاسوب في وقتنا الحاليِّ هو علمُ هندسَةِ البَرمجيّات (software engineering)، حيث يُعدُّ الأساسَ الذي يَعتمد عليه جميع المُبرمِجين في كافّة المَجالات في التّجهيز والتّحضير لبناء تطبيقاتهم واختبارها، ومن ثَمَّ نَشرُها للاستخدام.
ولبيان صُعُوبة التّخطيط لصناعة و #برمجة تطبيقٍ ناجحٍ، نشرت شركة IBM دراسة تقول: “إن 31% مِن المشاريع البرمجيّة يَتمُّ إلغاؤها قبلَ أنْ تكتمل، بينما 53% مِن المشاريع البرمجيّة تتجاوز الكُلفةَ المُتوقَّعة لها بـ 189%، كما أن 94 مشروعًا من بين 100 مشروعٍ يَتمُّ إعادة بنائها مِن الصِّفر”.
ومن الجدير بالذكر أنّ كُلفة إنتاج برنامج أو تطبيق تفوق بكثير كُلفة إنتاج العتاد المادّيّ للحاسوب، وأنّ كُلفة الصّيانة للبرمجيّات بعدَ نشرها قد تفوق أضعافَ أضعافِ كُلفةِ إنتاجها.
بعض الأمثلة التي تدُلُّ على مدى صعوبة إنتاج #تطبيقاتآمنة وفعّالة:
الحادِثة الشّهيرة لبرنامج ariane 5 space roket الخاصِّ بأبحاث الفضاء، حيث تمَّ صرفُ ما يُقارِب 700 مليون دولار أمريكيّ عليه على مدى عشر سنوات، ولكنّ الصاروخ -وللأسف- دُمِّرَ بعدَ 39 ثانية من لحظة إطلاقه؛ بسبب خطأ برمجيٍّ في التحويل من صيغة برمجيّة إلى أخرى في المدخلات الخاصّة بالإقلاع.
وعليه نَعرِضُ بعضَ الخُرافاتِ المُنتشِرةِ عن علمِ #هندسة البرمجيّات:
1. مِن السهل تغيير البرمجيات.
2. تُقدِّم الحواسبُ وُثُوقيَّةً أكبرَ مِن التي تُقدِّمُها الأجهزة المُختَصّة التي يَتمُّ استبدالُها بها.
3. عمليّة اختبارِ البرمجيّاتِ بشكل صحيح سوف تقوم بإزالة جميع الأخطاء البرمجيّة فيها.
4. إعادةُ استخدام البرمجيّات تزيدُ مِن الأمان فيها.
5. البرمجيّات تَعمَلُ بشكلٍ صحيحٍ مِن المرّة الأولى.
6. من المُمكِن تصميمُ البرمجيّات بشكلٍ كافٍ لتفادي جميع المشاكل فيها.
7. كونُ التّطبيقِ يحوي المزيدَ مِن المَيْزات يَعني أنّه تطبيقٌ أفضلُ.