هندسة البرمجيات الجزء الثاني Software methodologies

حسنا انتهينا في المرة الماضية الي الأسباب التي أدت إلى ظهور هندسة البرمجيات وقد دردشنا حول أشهر نموذج يتم استخدامه في العمل الا وهو نموذج الشلال سنتكلم اليوم عن المزيد من Software methodologies

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

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

الهدف النهائي هو أن المشروع يدخل كفكرة ...... ويخرج من الجهة الاخرى كمنتج جاهز للاستخدام.

ما حصل فعليا في النقاط بين البداية والنهاية هي الطريقة المتبعة لإخراج المشروع وهي من مهمة software methodology، وسنحاول أن نستعرض بعض هذه المنهجيات.

اثناء سير البرنامج من بدايته الى نهايته يمر في عدة مراحل كما اتفقنا، هذه العملية تسمى دورة حياة المشروع software life cycle

في دورة حياة المشروع هنالك مجموعة عمليات وانشطة وفعاليات ومهام تقسم وتوزع، طريقة سير هذه المهام تسمى نموذج model

لنكمل اليوم في باقي النماذج المستخدمة ومزاياها وعيوبها ومتى نستخدمها

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

منطقيا أول نموذج استخدمه البشر او المبرمجون هو نموذج الأنموذج، الي العمل بدون وجود نموذج، وهو ما يسمي حاليا بنموذج ابني وصلح او كود وصلح  build and fix، code and fix

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

العديد من النماذج الأخرى قمت بشرحها في فيديو كامل، يمكنكم مشاهدته من هنا

https://www.youtube.com/watch?v=Foy6AFp8fyk&list=PL8ZMJXBA_pHYkUJ9WGkwbPQNAD3tHvOQs&index=2

 

وبعد نهاية الجزء الثاني يحق لنا ان نسأل سؤال الان أنتم ستجيبون عليه

 لماذا تفشل غالبا تطبيقات او برمجيات او مشاريع الطلاب الفردية

السؤال الثاني

لماذا يستغرق مشروع توكله الي طالب او مبرمج مستقل مدة شهرين، في حين أنك لو أوكلته الي شركة فإنها ستستغرق ضعف هذا الوقت