Shagrouni 

لا تقم بالعمل وحدك

عادات في البرمجة

أخر تعديل: 01 سبتمبر 2003


العمل مع آخرين

اشرك الآخرين في عمليات التنفيذ:

معظم المبرمجين يقومون بكامل العمل لوحدهم.

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

تخطيط و تحليل إحتياجات: دراسة مكونات العمل و مناقشة المستفيد، استقراء، و تصنيف، وتحديد الشروط و القواعد الوظيفية و الفنية.

تصميم: وضع مخططات البرنامج وفقا لنتائج تحليل الإحتياجات ونطاق العمل المتفق عليه و وفقا للميزانية المرصودة له (أو الثمن المدفوع فيه) و الزمن المحدد له.

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

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

اختبار: اختبار وحدات البرنامج ثم المنتوج البرمجي للتأكد من عمله وفق المواصفات والتصاميم الموضوعة له، والتأكد من خلوّه من أية ثغرات برمجية.

ادارة:  التحضير للعمل و مراجعة تنفيذه، و المعاملات الإدارية و المالية.

من

 

لنحاول توزيع وزن كل قسم من حيث الوقت و القيمة ضمن مجمل العمل البرمجي:

 وفقا للأعراف البرمجية، فإن منظومة نمطية متوسطة الحجم مكتوبة بإحدى الأدوات البرمجية السريعة (دلفي/فيجوال بيسك) يكون توزيع بنودها كالتالي:

الوقت الوزن
تخطيط و تحليل 20 4
تصميم 10 24
برمجة 10 30
اختبار 50 10
توثيق 12
إدارة 5 20

 

ما هي ميزات العمل المشترك؟

الإلتزام المشترك بالمواصفات المحددة سابقا، بعبارة أخرى التقليل من فرص التوسّع والإضافة غير المحسوبة أو المقرّرة سلفا.

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

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

 

Shagrouni 2001-2003 Khaled Shagrouni   khaled@shagrouni.com