حال هندسة البرمجيات في الوطن العربي

السلام عليكم ورحمة الله وبركاته

لماذا هذا البرنامج يفشل في أداء مابرمج لأجله؟

لماذا زادت فاتورة هذا المشروع بأكثر من 50% من سعر الاتفاق؟

لماذا هذا الموقع اسرع من غيره ؟ مالسر وراء ذلك؟

لماذا هذا التطبيق يزداد مستخدميه يوماً بعد آخر ولايؤثر ذلك على أدائه , بل ويصبح أفضل؟

لماذا هذا المطور مستواه قوي جداً ومشاريعه خير دليل على ذلك؟

أعزائي المطورين أتمنى أن تنقلوا لنا تجاربكم مع تطبيق مبادئ وأسس هندسة البرمجيات في مشاريعكم , أياً كانت

وايضاً واقع ومستقبل هذا التخصص في الجامعات العربية.

دمتم بود.

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

سأبدأ وعلى بركة الله سلسلة عن الموضوع

في البداية هناك بعض الجمل التي توضح مدى أهمية تطبيق مبادئ هندسة البرمجيات في الشاريع البرمجية , وسأخص هنا جانب اختبار البرمجيات.

١- كلما كانت البرمجيات ذات جودة , اصبحت حياتنا ذات جودة.

٢-كلما زادت جودة الاختبار , كلما قلت التكاليف.

٣-كلما كان سلوك البرمجيات دقيق , كلما اصبحت حياتنا دقيقة.

٤-كلما كان الاختبرا احترافي , كلما حصلت على نظام او برنامج معتمد.

٥- كلما كبر سوق العمل , كلما كثرت المتطلبات وازداد تعقيد البرمجيات.

٦-كلما كانت الانظمة ليست ذات جودة , كلما أصبح فشلها كارثي جداً.

يتبع

٧-كلما زادت جودة الاختبار , كلما قلت الثغرات الامنية وبالتالي يزداد الأمان.

٨-كلما كان هناك fault كثيرة , كلما ازدادت الثغرات.

٩-كلما ازداد توزيع الانظمة , كلما ازدات المخاطر.

تقريباً الى حد ما اوضحت الجانب الرئيسي في عملية نجاح نظام او برنامج ما , وكل ذلك معتمد بصورة اساسية على عملية الاختبار التي توضح هل تم بناء النظام بطريقة ادارية صحيحة بحسب المتطلبات , وكذلك هل تم بناء النظام بطريقة هندسية صحيحة بحسب مبادئ هندسة البرمجيات

سأحكي هنا عن واقع هندسة البرمجيات كتخصص جامعي في الوطن العربي ككل .

طلاب هذا التخصص لديهم مواد أكثر من غيرهم من طلاب كليات الحاسوب تركز على المجال الهندسي في تطوير البرمجيات.

فنجد أنهم في الحد الادنى يأخذون مقررات في هندسة المتطلبات البرمجية ويعرفون الفروق بين انواع المتطلبات وكذلك طرق استخراجها واكتشافها وفي الاخير كتابة وثيقة متطلبات احترافية تكون بمثابة اشارة انطلاقة المرحلة الثانية وهي التصميم والعمارة.

سأتوقف قليلاً في مقرر هندسة المتطلبات البرمجية وقس على ذلك بقية المواد الهندسة البرمجية

يتم تدريس الطالب بمبدأ التلقين ! واحفظ صفحة كذا ولديك اختبار يقيس قدرتك على الحفظ في الفصل كذا....الخ

تم اختزال المادة هذه في الحفظ وياليتهم مافعلوا ذلك .

من الاشياء الهامة في هذه المادة هو تطبيقها بشكل عملي , على سبيل المثال تطبيق واتساب "تطبيق عملاق"

اقوم بكتابة كل المتطلبات الواضحة لي من المتطلبات الرئيسية مثل ارسال رسالة ورفع صورة وتحميل فديو وتسجيل صوت واخفاء ظهور وحذف رسائل ...الخ

وهكذا يتعلم الطالب بشكل عملي على ماهية المتطلبات , وايضاً يقوم بالنزول الى جهات يتم استخدام البرمجيات لتسيير عملها ويسألهم عن المتطلبات ويعرف مساوئ النظام الحالي وميزاته وماهي المتطلبات التي يحبذون وجودها في النظام .

وهذا هو الاصل في هذه المادة جانب نظري وجانب عملي تطبيقي.

نقطة مهمة قبل الانتقال لنقطة أخرى هي أن هندسة البرمجيات تعنى بالمشاريع الكبرى والعملاقة , فلا يصح أن تطبق مبادئها على

مشروع صغير "تطبيق خلفيات على ios " فلايجب أن تقوم بإعداد وثيقة المتطلبات البرمجيةSRS بشكل احترافي وبقالب

IEEE , وتقوم بعمل هيكل وتغوص في التفاصيل في مرحلة التصميم ...الخ لا لا لا .

كل ذلك سيعتبر مضيعة للوقت والجهد والمال !

استخدم مثلاً طريقة Use Case لكي تعرف المتطلبات بصورة اولية ثم بعد ذلك خطط لاقسام التطبيق برمجياً وما مكونات كل قسم , وتكون الاكواد نظيفة واحترافية ثم ابدأ وعلى بركة الله بناء التطبيق

"طوبى لمهندسي البرمجيات فهم من سهلوا السفر بالطائرات وجعلوه آمناً , وهم من يسروا الاتصالات ....الخ , فطوبا لهم"