بتـــــاريخ : 2/15/2011 2:18:00 AM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 992 0


    مقالة: القابلية للصيانة و التحديث Maintainability & Updateability

    الناقل : elmasry | العمر :42 | الكاتب الأصلى : neo | المصدر : www.arabteam2000-forum.com

    كلمات مفتاحية  :

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

    سوف أتحدث أليكم اليوم عن شئ مهم جدا و مطلوب تنفيذة فى صناعة البرمجيات و سوف أسرد بعض ما أراه من وجهة نظري فى هذا الموضوع.
    الموضوع الذي أود التحدث فيه هو أحد أهم الخواص التى لابد من وجودها فى أى برنامج ناجح أو أى برنامج يراد له النجاح و هى القابلية للصيانة و التحديث Maintainability & Updateability الخاصيتان مطلوبتان فى أى نوع من أنواع البرمجيات الناجحة سوف أسرد بعض الأحداث التى من الممكن أن تطلب هاتان الخاصيتان.
    تخيل معى أنك تقوم بتطوير أحد البرامج و تم بالفعل أصدار البرنامج و تم بيعه فى السوق. و بعد فترة أكتشف بعض الأخطاء فيه و التى تطلب أعادة ضبطها Bugs, غالبا و ما يحدث كالأتى وهو أنك تقوم بعمل Debugging و التى تستغرق فى بعض الأحيان الكثير من الوقت, لأسباب ما تأخذ وقت كبير و سوف أقوم بتوضيح أحدى الطرق التى تسرع من هذه العملية, و بعد هذا تقوم بأصلاح الخطأ و بعد ذلك تقوم بأعادة توزيع البرنامج مرة أخرى و بعد فترة يظهر خطأ جديد نتج عن التعديل الذي قمته به لأصلاح الخطأ الأول وهكذا تظل فى هذه الدومة الى أن ينتهى البرنامج بوضع يرضى به العميل,
    هذا هو السيناريو الأول لعملية أصلح الأخطأ Debugging و الأن سوف أوضح بعض الحلول التى من شأنها تسريع هذه العملية و التى من الممكن أن تستهلك الكثير من الوقت و المجهود, وسوف أضع بعض النصائح التى قد تفيد فى هذا الموضوع.
    1- عمل قاعدة بيانات صغيرة و التى سوف تحتوى على الدوال و ما تحتوية من ندائات لدوال أخرى Function Reference calls و هذه مفيدة فى حالة أنك تود أن تعرف من الذي يتعامل مع الدالة التى سوف تقوم بالتعديل فيها

    من المهم جدا أن تقوم بعمل Error Handling لكل داله فى برنامجك و أن تقوم بتعريف رقم الخطأ فى كل دالة و كما نرى فى المثال السابق لقاعدة البيانات المخصصة لدوال أنه سوف تقوم بأرجاع شجرة الندائات فى برنامج Function Calling Tree.
    من هنا لابد و أن نستنتج شئ يمكننا الأستفادة منه و هو على سبيل المثال عند ظهور الخطأ رقم 20354 للمستخدم كل ما عليك فعله هو الدخول على قاعدة البيانات الخاقة بالدوال و البحث عن الخطأ و ترى الدالة المراد التعديل فيها و منها تقوم بالبحث عن الأعتمادية Dependence بمعنى ترى الدالة و ما تقوم به من ندائات و ترى أعتماد الدوال الأخرى على هذه الدالة و ما يجب مراعته.
    هناك شئ أخر لابد مراعته أثناء عمل البرنامج وهو أنه فى عملية الـError Handling لابد و أن تقوم بعمل حفظ لتفاصيل الخطأ بأى شكل من الأشكال
    وسوف أوضح ما أقصد بمثال بسيط


    try
    {

    }
    catch (Exception ex)
    {
    int ErrorID=ErrorHandler.SaveErrorToDatabase(this.GetFormInformation(),ex.Message, ex.Source, this.GetGlobalVarible());
    ErrorHandler.ShowErrorForm(ErrorID);
    }


    on error goto ErrHandler
    'Code here
    End sub
    ErrHandler:
    Dim ErrorID As Integer
    ErrorID=ErrorHandler.SaveErrorToDatabase(me.GetFormInformation(),Err.Message, Err.Source, me.GetGlobalVarible())
    ErrorHandler.ShowErrorForm(ErrorID)


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

    ErrorHandler.SaveErrorToDatabase(me.GetFormInformation(),Err.Message, Err.Source, me.GetGlobalVarible())

    فى هذا المقطع من الكود قمن بعمل شئ بسيط جدا وهو أننا قمنا بالنداء على Static Function و التى تقوم بحفظ البيانات المرسلة اليها فى قاعدة بيانات ( XML, Access, SQL Server, … ) تأذ المتغيرات التالية Parameters أولا تأخذ بيانات المكان الحالى حيث تقوم بأخذ معلومات عن النافذة أو الدالة فى شكل سلسلة حرفية String و هذه السلسة تحتوى على الأتى

    Application_Name=??????????
    Form_Name=???????
    Name_Space=??????
    Class_Name=?????
    Function_Name=?????

    ثم الرسالة التى هى موجودة فى الكائن Err و التى هى بأسم Message و أيضا نقوم بحفظ المصدر Source و فى النهاية تقوم بعمل دالة و التى ترجع بأسماء المتغيرات و محتواها فى سلسة حرفية
    <intCount> ??? </intCount>
    <strDirection> ??? </intCount>
    من المفضل أن تكون محفوظة بشكل XML ليسهل التعامل معها
    و الأن و بعد حفظ هذه البيانات فى قاعدة البيانات

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

    للموضوع بقية و سوف أكمل بأذن الله فى موضوع الـUpdateability و كيفية التطبيقى المثلى للـMaintainability بمثال حى و قوى,

    و لمناقشة الموضوع بشكل أكبر يرجى الدخول على منتدى الفريق العربي للبرمجة www.arabteam2000.com

    أدعوا لنا الله أن يوفقنا و يحسن أخرتنا




    أخوكم أحمد عصام Neo_4583 أو Neo



    من الممكن أن يكون هناك أخطأ, لذا أرجوا أن نفتح باب المناقشة لتصحيح المعلومات مع العلم أن هذا المقال كله وجهة نظر شخصية فأذا كان هناك خطأ أرجوا التصحيح





    هذه وصلة للموضوع كاملا
    http://www20.brinkst...tainability.rar

    كلمات مفتاحية  :

    تعليقات الزوار ()