قديم 11-20-2005, 07:00 AM   رقم المشاركة : 1
معلومات العضو
مشرف سابق

 
إحصائية العضو






اخر مواضيعي
 

الطلحي غير متواجد حالياً


افتراضي هندسة البرامج

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

ردا على مقالي السابق، قارئ يدعى سكوت راسلني قائلا:

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

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

لا تعتقد ان معظم المبرمجين يهتمون فعلا ان كانت اكوادهم جيدة ام لا، فمعظمهم يهتم بالناتج النهائي اكثر من التصميم الجيد والكتابة المنظمة، هم اتوا لانه تم استئجارهم من قبل الشركة، لذلك سيفعلوا كل ما يستطيعون فعلهم لضمان حصولهم على اجرهم في النهاية وليس شئ غير ذلك. هذه طبيعة الناس، استطيع ان اقول 10% من الناس قد يهتم بالجودة بالدرجة الاولى، اما الباقي لا. لذلك هي مسؤولية المدراء في محاولة توجيهم ومراقبتهم للاهتمام بجودة اكوادهم"

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

لاحظت ان السيد سكوت تطرق الى نقطتين رئيسيتين، وانا سأرد عليها.

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

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

مع ذلك، لا يمكننا عذر او تجاهل المبرمج الذي كتب تلك الشيفرة السيئة، فالشيفرة السيئة هي شيفرة سيئة. وبالنسبة للمصممين والمدراء والمختبرين وباقي اعضاء فريق التطوير فهم لم يكتبوا الشيفرة وليس لهم اي علاقة بكتابة الاكواد. المشكلة في تلك الشيفرة لم تكن لها علاقة بمرحلة او دورة حياة بناء البرنامج (من الحصول على المتطلبات، والتحليل، والتصميم ...الخ). لذلك لا يمكنك تجاهل لوم المبرمج فهو المسؤول الاول والاخير عن كتابة الاكواد.

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

عندما كنت اعمل، كنت اتخيل اني اجلس يوميا بجوار المستخدم الذي سيتعامل مع برنامجي واتفرج عليه. كل مرة يواجه مشكلة سيتحول علي ويأتيني بنطرة قهر وضغطه مرتقع ويقول لي: ماذا تريد ان تفعل بي؟! لذلك علي ان افكر بحلول وطرق اخرى حتى يتبسم لي ويقول: هذا مذهل !

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

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

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






رد مع اقتباس
قديم 11-20-2005, 07:55 AM   رقم المشاركة : 2
معلومات العضو
عضو

 
الصورة الرمزية أبو فيصل
 

 

 
إحصائية العضو







اخر مواضيعي
 

أبو فيصل غير متواجد حالياً


افتراضي مشاركة: هندسة البرامج

[align=center]مشكووور اخووي .. الطلحي على المعلومات القيمه .. وتم نسخها وحفطها في الجهاز .. وانا اول واحد استفد منها

تقبل تحيتي

أبو فيصل[/align]






التوقيع

[align=center][/align]

رد مع اقتباس
قديم 11-20-2005, 08:17 AM   رقم المشاركة : 3
معلومات العضو
مشرف سابق

 
إحصائية العضو






اخر مواضيعي
 

الطلحي غير متواجد حالياً


افتراضي مشاركة: هندسة البرامج

في خدمة اعضاء المنتدى :)






رد مع اقتباس
إضافة رد


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


الساعة الآن 02:44 PM


Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. TranZ By Almuhajir
الحقوق محفوظة لشبكة هذيل