السلام عليكم و رحمة الله و بركاته.
سؤالي قد يكون بسيط..أو غريب ...لو كان كذلك أرجو حذف الوضوع ..
إذا كنت مطور برمجبات.. و تعمل في شركة (محترمة)..ما هي الخطوات التي تتبعها انت في عملك كي تبني المنتج البرمجي من الصفر ...
لحظة قبل أن يهجم علي رواد هندسة البرمجيات و محللو و مصممو النظم ....
انت طالما تقرأ موضوعي, فأنت إما مبرمج أو مطور .. تعمل في شركة عربية ..أو شركة متعددة الجنسيات ..أو شركة أجنبية ....أو طالب تدرس ....
أيا كنت من هؤلاء الأفاضل ..
لو أخذنا أبسط مثال ....نظام إدارة الموظفين ..(الله يساعد هذا النظام الذي كلما ظهرت شركة برمجيات ... أو تعلم شخص البرمجة ... يريد بناء هذا النظام ... ليس هذا موضوعنا) ...و طلب منك بناؤه ..هل تبدأ لنقل من قاعدة البيانات .. وترسم مخطط تدفق البيانات.. و الكينونات ..و المتفاعلين مع هذه الكينونات ...أم تبدأ بأحد نماذج حياة المنتج البرمجي..كنموذج الشلال... و تبدأ بالتحليل و رسم حالات الاستخدام و مخطط الصفوف .. و المخطط التتابعي و مخطط التعاون بين الكائنات ...
كيف تلتقي كينونات قاعدة البيانات مع صفوف النظام ..علما أنه يوجد أدوات كثيرة للتحويل من الكينونات إلى الصفوف أو العكس ....أي المخططين هو البداية ...أم أن الأمور متداخلة ...
تعلمنا في الجامعة أن خطوات بناء المنتج البرمجي هي كذا و كذا و....تصميم .. تحليل .. مخططات ... لكن هل فعلا يمكن استخدام هذه الأمور .. في واقع العمل ....
معظم البرمجيات مفتوحة المصدر ... ليس لها هذه المخططات العجيبة التي تتكلم عن حالات الاستخدام و المتفاعلين مع النظام .و الكينونات ..أو مخططات الحالة ..أو ..أي مخطط من مخططات لغة النمذجة الموحدة ..
أريد جوابا من الذين في شركات ... كيف يبدؤون ببناء المنتج البرمجي ...
أعتقد أنه في معظم الشركات تحصل سيناريوهات مشابهة للتالي ..
يذهب محلل النظام أو استشاري الأعمال إلى الزبون (تذكر أن صنعة البرمجيات هي مهنة إرضاء زبون) و يصور له ان النظام الذي ستقوم شركته ببنائه هو كل شئ ...الفانوس السحري .. الذي يخرج منه المارد ...و أن ...و أن ..و يأخذ منه لنقل متطلبات الزبون التي توضع في ملف المتطلبات .. ثم يأتي الماستر (الفنان الأسود) (لأن البرمجة و التصميم لا تزال حتى الآن فناَ أسود (black art) ) و يقول هذه هي الجداول المطلوبة ..ثم يأتي المسكين المبرمج و يبدأ بكتابة الكود ... ليكتشف أن المخططات و الصفوف الموضوعة لا تفيد في شئ ..
و البعض منكم ربما بعرف باقي القصة ..
باختصار ...أنا شاهدت كثيرا من الانظمة مفتوحة المصدر ... ERP .. لكن لم أشاهد مخططات للصفوف أو تدفق البيانات ... أو المتطلبات ....أو المنهجيات ...
هل الشركات تتبع خطوات معينة لبناء منتج برمجي .. أم تعتمد على ما سمي بـــ صنعة البرمجيات ...التي ترى أنت المخططات و المنهجيات هي شئ غير مجدي ..
أنت في الشركة التي تعمل بها .. كيف تطورون منتجا برمجيا ..
أترككم برعاية الله