محاور استخدام المقاييس الحصائية في اسناد جودة النظم البرمجية
الدكتور سعد محمد عبد العزيز دكتوراه في علوم الحاسب /هندسة برمجيات E-mail:
[email protected]
225
محاور استخدام المقاييس الحصائية في اسناد جودة النظم البرمجية الدكتور سعد محمد عبد العزيز دكتوراه في علوم الحاسب /هندسة برمجيات E-mail:
[email protected]
مستخلص البحث ()Abstract تناولت الورقجة البحثيجة جانجب القياس لغراض بناء مقاييجس لتقويجم جودة المنتجج البرمججي . وعلى الرغجم مجن تكريجس العديجد مجن الجهود التجي تسجتهدف هذا الجانجب فقجد باتجت معظجم نتاجات هذه الجهود محدودة التعبير بمواضع اهتمامهجا .ولكون جودة المنتج البرمجي متعدد البعاد فلذلك غالباً ما تكون المقاييجس المطلقجة (التقليديجة) تشكجو مجن عججز فجي تقويجم جوانجب عديدة مهمجة للمنتجج البرمججي. وجودة المنتجج البرمججي مجن أهجم السجمات التجي مجع الكلفجة تقود لتحقيجق صجناعة برمجيات فاعلة .وعلى ذلك يحقجق اسجتخدام الدوات الحصجائية والمقاييجس التجي تنتجج عنهجا تعظيجم لدللة المقاييجس ونجاح فجي وصف جودة المنتج البرمجي .ولهذا فقد اهتم موضوع الورقة البحثية ببيان دراسة محاور استخدام المقاييس الحصائية في استاد جودة البرمجيات بما يرمي شمول السمات الخاضعة للتقويم بما يتلئم واظهار سماتها التي جعلت استخدام المقاييس الحصائية مناسبة .وهكذا فقد احيلت المقاييس المطلقة التعبير والمقاييس الحصائية المواصفات للقياس بنوعي المقاييس المستخدم منها المطلقة (التقليدية) والمقاييججس الحصججائية للوقوف على السججتدللت المهمججة التججي تدعججم مفاهيججم الجودة لتطويججر القدرة التعبيرية كما تبين فقرات البحث.
226
)1تمهيد: أصبحت صناعة البرمجيات لمجتمعاتنا المعاصرة صناعة استراتيجية ترتبط وثيقًا بمستلزمات حياته ونموه وازدهاره .و هكذا أصبحت واقع للمجتمعات المتقدمة وطموح للعديد من الدول النامية ومنهججا فججي وطننججا العربججي .والجودة للمنتججج الصججناعي إضافججة للكلفججة تمثججل المرتكججز السججاس للقدرة التنافسية في سوق البرمجيات. يوفجر الحصجاء المؤشرات الكميجة للسجتدلل على مجا تشيجر له ا لبيانات التجي تجم جمعهجا عجن أي حالة دراسجية والدوات المسجتخلصة لهجا .لذلك فالحصجاء أداة ضروريجة وفاعلة ل غنجى عنجه فجي دعجم أي نشاط تقويمي (.)Evaluation activity كان للقياس والمقاييس دوراً فاعلً في عبر مسيرة التاريخ النساني في جميع النشطة الحيوية للمجتمجع .وليمكجن السجيطرة على أي عمليجة انتاجيجة ول تنفيجذ أي عمليجة تطويجر وليمكجن تقويجم أي نشاط أو إدارته بغياب المقاييس الفاعلة[ ]1و [.]2 كذلك الحصاء يهتم بتسهيل دراسة كل ما يمكن متابعته من خلل جمع بيانات واضحة المعنى والدللة عنججه ويوفججر الدوات المناسججبة والسججاليب الناجحججة لجمججع تلك البيانات وإختبار صججحتها وإكتشاف العلقات التججي تربطهججا ضمججن نفججس المجموعججة أو بيججن المجاميججع المتباينججة .فالتحليججل الحصجائي للبيانات بتجج عنجه مؤشرات تعكجس سجمات إجمالي البيانات وخواصجها ممجا يعيننجا على فهجم الظواهججر والنشطججة التججي ندرسججها أو نقومهججا .لذلك فالمؤشرات الحصججائية التججي تنتججج مججن التحليججل الحصججائي توجججه مناقشتنججا وتسججاعد فججي تصججويب قرارنججا .والمؤشرات الحصججائية تجعلنججا نحججس بالمدلولت الضمنية لجمالي البيانات وعلقتها مع البيئة المحيطة بها. لذلك تهجيججن المقاييججس بالمؤشرات الحصججائية ينتججج مقاييججس عظيمججة الدللة وأقدر على دعججم الحقائق وتسجهيل وصجفها وأعظجم فجي تنميجة الحسجاس بمجا نقوم بتقويمجه ممجا يسجاهم فجي ترشيجد قرارنجا. وهكذا تساهم عملية تهجين المقاييس في تصويب قرارنا وحسن توجيه عملنا الداري ونجاح تقويمنا. كذلك يوفجر الحصجاء التمثيجل التخطيطجي ( )Graphical Representationللبيانات وقيجم المقاييجس بعجد إشتقاقهجا يعظجم عمليجة الحسجاس والدللة ويسجهل عمليجة التحليجل ومناقشجة النتائج ومجا يسجتند على ذلك.
227
)2القياس و المقاييس: صجناعة البرمجيات تحتاج لتوجيجه العمليات الصجناعية والسجيطرة عليهجا لضمان منتجج ذو جودة عاليجججة بطرق متوازنجججة الكلف .وهذا أحجججد الهداف السجججاس لهندسجججة البرمجيات [ .]2والسجججتنتاج الحدسججي ليتيججح السججيطرة على أي مهمججة أو نشاط أو حدث أو السججيطرة على موجود خلل تفعيججل نشاطه. فالقياس ))Measurementيمكججن تعريفججه بعمليججة اشتقاق أعداد أو رموز مرافقججة لخصججائص الشياء الحقيقية لتسهيل شرحها وفق معايير واضحة [ ]3و[.]4 والمقاييس ))Measures or Metricsمؤشرات دالة ( )Indicatorsلخصائص الشياء كميا ً و يسجتوجب تحديجد قيجم واضحجة ومحددة لهجا نتيجةً لعمليجة القياس [ ]3و [ .]4فالمقاييجس تمكننجا مجن التعبير عن الشياء وخواصها بأرقام أو رموز ذات دللة تمكننا الحساس بها. القياس والمقاييجس مجن الدعامات السجاسية للدراسجات والبحوث العلميجة وتسجاعد فجي السجيطرة وتوجيجه أي عمليجة فجي البيئة الواقعيجة .والمقاييجس تسجاهم بشكجل مباشجر وفاعجل فجي توفيجر الجهجد و التكاليجف الماديجة .والقياس يسجاعدنا فجي اتخاذ القرار الصجائب واختيار البديجل الفضجل .فالمهندس الذي يصمم وينفذ بناية دون العتماد على القياس قد يكون سبباً لكارثة .والمقاييس الكمية تساعد في توحيد القرار .و توحيد القرار في تصنيع البرمجيات يعني الحصول على منتجات برمجية عالية الجودة بأقل كلفجة وجهجد يسجهل إدامتهجا وتنفيذهجا وتطويرهجا وفجق المسجتجدات المتجددة للمسجتفيد وبالتالي الحصجول على رضاه .ورضاء المسجتفيد مجن أهجم مقاييجس الجودة للمنتجج ( )Productيسجعى المصجنع لتحقيقهجا. لذلك فالمفاهيجم الهندسجية التقليديجة مميزة بإتاحجة مقاييجس دقيقجة و مفهومجة و موزونجة ضمجن المعاييجر المقبولة .والمقاييجس العلميجة تحتاج إلى خلفيجة نظريجة وقواعجد تقويجم ( )Validationلتتمتجع بإمكانيجة وصفها للهدف المشتقة من أجله بالدقة المتوقعة منها. هناك سجؤال يججب أن نجيجب عليجه قبجل التقدم فجي الدراسجة " ماذا نقيجس" ؟ .والجواب هجو يمكجن تمييز ثلثة أصناف من الشياء التي يمكن قياس خواصها في إنتاج البرمجيات [:]5 .1عمليات التنميجججججة للبرمجيات Process
))Developmentوتطويجججججر
البرمجيات وفجق عامجل الزمجن .الطريقجة الوحيدة لتطويجر أيجة عمليجة ،شأنهجا شأن تطوير أي شيء ،تتم بقياس سمات محددة ))Attributesلها وتطوير 228
مقاييججس مكتملة المعنججى ( )Meaningfulتسججتند لهذه السججمات ومججن ثججم اسججتخدام المقاييججس لتوفيججر مؤشرات تقودنججا إلى إسججتراتيجيات للتنميججة و التطوير. هنالك طرق معتمدة فججي تقويججم نضججج العمليات .ولهميججة هذا المحور أهتججم الباحثون ،ضمججن الشركات المتخصصة والمؤسسات البحثية ،في تطوير توجهات ))Approachesتساعد في تطوير هذه العمليات و تحديجد مواطجن الخلل والعلل ))Defectبدقجة مجن أنشطجة عمليات التنميجة .ونجاح هذه التوجهات يسجتند إلى خلق بيئة واضحجة لبناء مقاييجس متينجة يمكجن اعتمادهجا والعتماد عليهجا فجي عملية التطويجر .ومثالً على هذه التوجهات مجا تجم تطويره سجنة 1992مجن قبجل شركجة ( )IBMوأطلق على هذه الطريقجة .))Orthogonal Defect Classificationوهذا التوججه يسجتند على تصجنيف العلل ( )Failureفي أنشطة مراحل عمليات تنمية البرمجيات ضمن فئات منفصلة يسبق إعدادها استناداً إلى قائمجججة معرفججة بوضوح تام عججن أنواع العلل ومعانيهججا .ويتسججم هذا التوجججه بسجججمة أسججاسية هججي ( )Orthogonallyبسجبب وقوع كجل علة مكتشفجة فجي صجنف واحجد فقجط .وهذا ييسجر وضوح تحديجد مراحل عملية التنمية التي تكثر فيها العلل و تدعم بناء و تطوير المقاييس و تطويرها. .2المنتتج :Productناتجج عمليجة التصجنيع المهيجأ لتسجليمه للمسجتفيد أو الوثائق التجي تنشجأ مجن دورة حياة البرمجيات .والمنتجج هجو موطجن الهتمام الوحيجد للمسجتفيد .ورضاء المسجتفيد مجن أهجم المقاييجس التجي يحرص عليهجا المصجنع لكونهجا الدعامجة السجاسية التجي تزيجد مجن قوتجه التنافسجية فجي السجوق .لذلك فالمقاييس الموجهة نحو المنتج يجب أن تعكس حاجات المستفيد والمصنع. .3الموارد التجججججججي تشكجججججججل مفردات المدخلت لعمليجججججججة إنتاج وتنميجججججججة البرمجيات.والموارد يمكججن تقسججيمها إلى أربججع أصججناف أسججاسية :ماديججة وبشريجة وماليجة ومعلوماتيجة .وتقويجم هذه الموارد وتطويرهجا يسجاهم بشكجل فاعججل فججي تطويججر عمليات التنميججة ذاتهججا .لذلك انطلقًا مججن المبدأ السججاس لكون أيججة عمليججة تنميججة وتطويججر ل تتججم بغياب المقاييججس ،فتطويججر مقاييججس واضحجة ودقيقجة ضروريجة لتطويجر وتنميجة هذه الموارد وبالتالي فالمقاييجس، ولو بشكل غير مباشر،ضرورية جدا لعمليات التنمية والتطوير.
229
في تهيئة المقاييس هنالك مشكلتين أساسيتين يمكن تشخيصهما هما:
230
أ .مشكلة التمثيل (.)Representation Problem نعنججججي بمشكلة التمثيججججل إيجاد الشروط الكافيججججة ( )Sufficient Conditionsلوجود دالة ( )Functionتنقججل النظام (الذي تحججت الختبار) إلى نظام رياضياتججي (صججيغ رياضياتيججة) .وبصججيغة تشكيليجججة ( )Formallyو نحجججن بحاججججة ليجاد شروط تكفجججي لوجود دالة تنطلق مجججن نظام علئقجججي تجريججججبي ( )Particular Empirical Relational Systemإلى نظام علئقججججي رقمججججي ( .)Numerical Relational Systemنعني بالشروط الكافية تحديدها وإنجازها تحت القياس .ومن أكثر القضايا أهمي ًة في تمثيل المشكلة هي قابلية نظام القياس لتوفير نتائج تمكننا من: -1فهم الخاصية التي يجري قياسها للشيء المبحوث فيه. التميز بين من الشياء التي يجري فحصها ،إما كأشياء شخصية أو خلل مجموعات متمايزة. مثال: النتائج التي نحصل عليها من قياس عدد الشقق السكنية في قرية محددة نسبة لقرب كيلومتر قد تؤدي إلى وقوع جميع الشقق في مجموعة واحدة. ب .مشكلة توحيد التمثيل (.)Uniqueness Problem المشكلة السجاسية الثانيجة تعريجف الخواص وعمليات التحقجق لنظجم قياس متباينجة وتحديجد ميزان Scaleلنظجم القياس .وعجن طريجق الميزان يمكجن توحيجد مدلولت المقاييجس .وعلى سجبيل المثال يوججد مقياسان لدرجات الحرارة (المئوي والفهرنهايتي) ولكن هناك ميزان محدد لتحويل أي قياس من نظام إلى آخر. )3جودة البرمجيات: قال أحد الباحثين ( " )Kitchen hamالجودة صعبة التعريف مستحيلة القياس" .فهي مفهوم غامجض نوعجي ( . )Qualitativeومناقشجة غموض الجودة وتعريفهجا ميجز اتجاه العديجد مجن البحوث المهمجة .وموارد الغموض التجي تكتنجف جودة البرمجيات وقياسجها عديدة .ولعجل أهجم موارد الغموض يرجججع إلى صججعوبة بيان المقصججود بتعججبير "جوده "Qualityواسججتحالة حصججر المؤشرات الكميججة لقياسجها :فمسجاحة الرض يسجهل تحديدهجا بدقجة ،بينمجا قياس جودتهجا قجد يثيجر جدل كجبير .وأرججع Kan ]]5الغموض في مفهوم الجودة للسباب التالية: 231
.1الجودة مفهوم متعدد البعاد .وأبعاد الجودة كما حددها Kanتشمل: .1موضتع الهتمام ( :)Entity of Interestإن موضجع اهتمام المقوم للمنتجج البرمججي يرتبجط وثيقاً بحاججة المقوم وموقعجه وخجبرته .حيجث جودة النظام البرمججي للرواتجب والجور قجد يكون فيهجا تبايججن بيججن مججن مهمتججه تقتصججر على إدخال البيانات وبيججن الموظججف المسججؤول عججن النظام فججي قسججم الحسجابات وبيجن مديجر الحسجابات وبيجن مديجر المؤسجسة .وذلك لتبايجن مواضجع الهتمام لكجل مجن الفئات المشار إليهجا .حيجث الموظجف المسجؤول عجن إدخال البيانات قجد يركجز موضجع اهتمامجه لتعريجف الجودة على الجوانججب التشغيليججة مججن شاشات منسججقه وعدم تكرار أي مدخججل لتقليججل الجهججد وغيججر ذلك مججن التسججهيلت ذات العلقججة بمهمتججه بينمججا يهتججم الموظججف المسججؤول عججن النظام بالجوانججب ذات العلقججة بموثوقية نتائجه والتقارير الناتجة عنه .في حين مدير الحسابات قد يهتم بالقيمة الفنية التي يساهم بها مجن خلل تفاعله وتعامله مجع النظجم الخرى لدعجم النظام المالي للمؤسجسة و إعداد الميزانيجة وسجهولة متابعتها .أما الدارة العليا للمؤسسة قد تهتم بالدعم الذي يوفره النظام لتطوير خدمات المؤسسة ومدى فاعليتجه فجي إسجناد التخطيجط ودعجم القرار .لذا فإن خجبرة واتجاه كجل مجن أشيجر لهجم قجد تؤثجر على تحديجد موضع الهتمام. .2سمات الجودة لذلك الموضع ( :)Quality Attribute to That Entityسمات الجودة هجي التجي تعكجس موضجع الهتمام للجودة وتكون قابلة للقياس لتسجاهم مباشرة فجي تحديجد مفهوم الجودة. و تحديد هذه السمات وتقويمها قد يختلف من شخص لخر وإن اتفقا في موضع الهتمام .فذلك يعتمد على عوامججل عديدة منهججا خججبرته فججي التقويججم وعلقتججه بالمنتججج البرمجججي .وعلى سججبيل المثال تحديججد السجمات التجي تتيجح تقويجم مدى اسجتجابة المنتجج للدامجة والتوسجع (باعتبارهجا موضجع اهتمام للمسجتفيد والشخجص الذي يقوم بعمليجة النتاج) قجد ينتجج عنهجا خلف .فالمسجتفيد قجد يهتجم بسجهولة وسجرعة خدمات الدامجة بينمجا الشخجص المنتجج للبرمجيات يضيجف إلى ذلك الكلف المترتبجة عليجه فجي عمليات الدامجة والتوسع. .3وجهتة النظتر لموضتع الهتمام ( :)Viewpoint on That Entityقجد يتفجق أشخاص على تحديجد مواضجع الهتمام ولكجن قجد يختلفون فجي تحديجد أسجبقية أهميتهجا ممجا يقود إلى خلف فجي قرار الجودة. وحدد ( )Garvinسنة 1988الجودة (كما أشار ) ]Wiele ]7في سبع مواضع اهتمام:
232
.1الداء ( )Performanceالممثل بالخواص التشغيلية. .2السمات .))Features .3الموثوقية (.)Reliability .4التطابق مع المتطلبات أو المعايير ))Standardsالمنتخبة مسبقا. .5قدرة التحمل أو قابلية المحافظة على البقاء (.)Durability .6سهولة وسرعة خدمات الدامة. .7الجمالية .))Aesthetics ومتتن بيتتن الدراسججات الجادة التججي اهتمججت بمناقشججة مفهوم الجودة فججي البرمجيات ،دراسججة ( Kitchenو )Pfleegerستنة ]1[ 1996والتجي حددت ثلث مواضجع للهتمام هجي :جودة المنتجج ))Quality of Productوجودة العمليجة التجي ينتجج عنهجا المنتجج ( )Quality of Processوجودة الخدمات والمردودات الخرى التي يحققها المنتج في البيئة العملية (Quality in the Context of . )Business Environmentأما بالنسبة لوجهة النظر فقد تختلف لعديد من العوامل ولعل أهمها علقة المقجوم بالنجظام .فالمستفيد تعني له الجودة تحقيق متطلباته وتوقعاته لما يحصل عليه من النظام بأسججلوب سججهل فججي التعلم والتنفيججذ .فججي حيججن المنتججج تعنججي له الجودة رضاء المسججتفيد وسججهولة تنفيذه لخدمات مججا بعججد البيججع بكلف معقولة وإمكانيججة إعادة اسججتخدام أجزاء منججه فججي منتجات جديدة .أمججا بخصجوص سجمات الجودة فغالباً المسجتفيد يهتجم بالسجمات الخارجيجة بينمجا المنتجج يضيجف إلى اهتماماتجه السمات الداخلية [.]5 .2كتل مفهوم قجد يحدد بمسجتويات متباينجة مجن التجريجد ( .)Abstractionفعنجد الكلم عججن الجودة ،قججد يشار له بالمعنججى الشامججل أو بمعنججى محدد .ويعنججي التجريججد بناء تشكيججل المفهوم مججن خلل تحديججد العناصججر الفاعلة فججي الواقججع والمؤثرة فيجه [ .]4لذلك قجد يكون تقويمنججا لجودة البرنامجج مجن خلل تحديججد عناصججر عامججة فاعلة أو عناصججر تحتاج إلى تفاصججيل أدق .ولتوضيججح ذلك نطرح بعجض مسجتويات التجريجد التجي يمكجن أن نتبناهجا فجي حكمنجا على جودة البرمجيات [:]4 •جمالية واجهاته (شاشاته) و تنظيم مخرجاته وسهولة التحاور معه.
233
•حسن تنظيم وثائقه وسهولة متابعته و مقروئيته (.)Readability •أسجججلوب المواجهجججة معجججه ومدى اسجججتخدامه للدوال القياسجججية و تماسجججك ( )Cohesiveوحداته البرمجية ودرجة دقة نتائجه. ثلث مسججتويات مججن التجريججد تجعججل مفهوم الجودة قججد يتبايججن فججي قرارنججا على مجموعججة مججن البرمجيات المعروضجة للتقويجم .وقجد يضجم التجريجد بعجض العناصجر التجي تحتاج إلى تفاصجيل دقيقجة أو تفاصجيل موجهجة نحجو هدف محدد .ونظجم المعلومات الواقعيجة لغرض ميكنتهجا بالطرق التقليديجة ،يسجتند بناء نموذج لها من خلل تعريف الوظائف التي تتقاسم نشاطهجا .في حين اعتماد التوجه الكينوني في الميكنة يقتضي بناء نموذج من خلل الكائنات التي تشكل بنية النظام الواقعي. .3تعبير الجودة متداول ضمن حديثنا اليومي وقد يختلف المعنى المتداول عما يقصد باستخدامه في المجال المهني لوجهة النظر الهندسية أو الدارية.
.4تطور إدارة فكر الجودة (:)Evolution in Quality Thinking Management إن اسججتخدام فكججر الجودة قديججم وتمتججد أصججوله فججي عمججق تاريججخ الحضارة النسججانية .فأي عمليججة مقارنججة لختيار الفضججل لمتطلبات الحياة السججاسية أو تهيئتهججا أو تطويرهججا أو تنميتهججا يكون لمفهوم الجودة موقجع أسجاسي فيهجا .فالجودة فكراً اسجتراتيجيًا مؤثراً فجي حياة المجتمعات وحاجاتهجا السجاسية [ .]2لذلك اهتججم الكثيججر مججن الباحثيججن بإدارة فكججر الجودة وتطويره .والجودة نظام (كمججا عرفججه [) ]6 تراكججم مججن الخطججط و النشطججة والحداث التججي ينبغججي توفيرهججا لضمان تحقيججق المنتججج أو العمليججة أو الخدمة للحتياجات المتوقعة منها .وأشار ]Wiele ]7في دراسته لتطور فكر الجودة وميزه بأربعة مراحل هي: .1فحص الجودة ))Quality Inspection الفحص يستند ببساطة على اختبار خاصية أو اكثر للمنتج أو الخدمة أو النشاط وقياسها بالمقارنة مع مجموعة من المتطلبات باعتبارها معايير لتخمين المطابقة (.)Conformity ب ضبط الجودة ()Quality Control ضبجط الجودة هجي خطوة متقدمجة عجن فحجص الجودة و مطورة عنهجا .ففجي ضبجط الجودة تسجتخدم بعض الطرق والليات والدوات التي قد يكتنفها بعض التعقيد لدارة الجودة .ففي نظم ضبط الجودة
234
نتوقججع الحاجججة لبعججض السججتعدادات مججع تهيئة إجراءات الضبججط و فحججص بعججض مراحججل المنتجات الوسجطية ( )Intermediate Productsفجي المنتجات البرمجية:مثل تعريف المتطلبات ومواصفاتها و التصميم و البرمجة وهكذا .إضافة لتهيئة البيانات والمعايير التي نحتاجها في فحص ومعالجة الداء وغيرها مما له علقة بإدارة الجودة وضبطها. وأشار ( Wieleمرجتتع [ )]27أن ضبججط الجودة ل تعنججي تطويججر الجودة وتحسججينها وإنمججا فقججط تشخيججص أو إنارة ( )Highlightمواطججن عدم تطابججق أو انسجججام المنتججج أو الخدمججة مججع المتطلبات. وأحيانًا قججد يعجججز توجججه ضبججط الجودة عججن تحديججد سججبب عدم التطابججق أو النسجججام .وكمججا أشار ]Sommerville ]2أن ضبجط الجودة هجو ضمان إتباع فريجق العمجل للجراءات وللمعاييجر .فضبجط الجودة تعني تنفيذ عدد من الجراءات وإعداد عدد من التقارير خلل عملية تنمية البرمجيات. ت .توكيد الجودة Quality Assurance توججه توكيجد الجودة ينطلق من حقيقة أن الجودة ليسجت مسؤولية شخص واحد فجي المؤسسة ،بجل هجي مسجؤولية كجل مجن له علقجة ،مباشرة أو غيجر مباشرة،بعمليجة النتاج أو أداء الخدمجة .لذلك فل بجد أن يكون للعمليججة الداريججة دور واضججح و مميججز ضمججن فكججر الجودة .وأشار ]Mitra ]6أن الجودة تحتاج إلى نظام يضمججن تطججبيق جميججع الجراءات التججي تججم تنفيذهججا أو تخطيطهججا ،وهذا بدقججة دور وغرض توكيججد الجودة .لذلك ينطلق توكيججد الجودة مججن كون تشخيججص مَواطججن عدم التطابججق مججع المتطلبات ومعالجتهججا أسججلوب غيججر فعال فججي إزالة الخلل السججاس المسججبب للمشكلة .ويكمججن حججل المشكلة فجي توجيجه المؤسجسات المعنيجة لجهودهجا فجي التخطيجط لمنجع حدوث عدم التطابجق .وهذا التوججه يقودنا إلى توجه جديد في فكر الجودة أطلقنا عليه "توكيد الجودة" .لذلك نجد أنه من المهم في خطط تنمية و إنتاج البرمجيات وخاصة في المشاريع الكبيرة وكما يرى ]Pfleeger ]1ل بد من تخصيص خطججة مفصججلة للجودة ضمججن البواب التفصججيلية للخطججة الشاملة .وتوكيججد الجودة يقتضججي تأسججيس إجراءات مؤسججسية ومعاييججر تقود إلى جودة عاليججة .ويتضمججن توكيججد الجودة بتعريججف كيفيججة توجججه المؤسجسة لنجاز الجودة .فتوكيجد الجودة يتضمجن تعريجف أو اختيار المعاييجر التجي يسجتوجب تطبيقهجا على المنتجات البرمجيجة أو عمليجة تنميتهجا .لذلك يمكجن تعريجف "توكيجد الجودة" بكونهجا جميجع الفعال المخططججة ))Plannedو الليتتة ( )Systematicالضروريججة لتوفيججر الثقججة بكون المنتججج أو الخدمججة سججوف تحقججق الحاجات الفعليججة .فتوكيججد الجودة ،على سججبيل المثال ،فججي مرحلة تصججميم المنتججج يكون
235
بمراجعة إجراءات التصميم وربما التدقيق لتحديد نوع المعلومات التي يجب توفرها في قسم التسويق لستخدامها في تصميم المنتج . أشار ]Pressman ]8إلى أن فكر توكيد الجودة يرتكز على: •توجه إدارة الجودة. •التقنيات الفاعلة لهندسة البرمجيات (طرق وأدوات). •الساليب الشكلية ( )Formalللمراجعة التي تطبق خلل عملية تنمية البرمجيات. •استراتيجيات الفحص. •السيطرة على وثائق البرمجيات و تحديثها. •إجراءات ضمان التطويع ( )Complianceلمعايير تنمية البرمجيات. •آليات القياس وإعداد التقارير. ث .الدارة الشاملة للجودة ()Total Quality Management TQM الدارة الشاملة للجودة ))TQMيمكجججن إعتباره مرحلة متقدمجججة مجججن مفهوم توكيجججد الجودة بدأ ل متميزاً .فالجودة كما وجدنا فيما تقدم مفهومًا متعدد البعاد ل فكرًا مستق ً يتبلور و ينمو ليصبح مستقب ً يتأثججر بعوامججل و متغيرات كثيرة .وتحقيججق الجودة للبرمجيات أسججو ًة بغيرهججا مججن المنتجات يحتاج إلى ربجط بيجن حاجات المسجتفيد وتوقعاتجه وحاجات المنتجج ومجا يسجاهم فجي تحقيجق قوى تنافسجية له فجي سجوق البرمجيات .لذلك فإدارة الجودة تحتاج إلى شمول جميججع العوامججل والفعاليات والضوابججط التججي تسججاهم بشكل مباشر أو غير مباشر في المنتج (منتج برمجي أو سواه). الدارة الشاملة للجودة تتمحور حول ثلثجججة مواضيجججع أو محاور رئيسجججية :المسجججتفيد ،العمليجججة، والفراد .حيجث الهدف السججاس رضججاء المسجتفيد وتحقيجق احتياجاتجه وتوقعاتجه .والعمليجة باعتبارهجا النظام الذي يؤدي إلى إنتاج المنتجج .والفراد الذيجن يسجاهمون بشكجل مباشجر أو غيجر مباشجر فجي العمليجة النتاجية [. ]4 لو ناقشنجا هذا الفكتر الداري لوجدناه ينطبجق بشكجل فاعجل على إدارة جودة المنتجج البرمججي .وأن السياسة العليا للمؤسسة النتاجية التي تحتل قلب هذه العملية الدارية ،برؤيتها و أهدافها واللتزامات 236
أو الثوابت الدارية ،تقوم بربط المحاور الثلثة (المستفيد ،الفراد ،والعملية النتاجية) المؤثرة بشكل فاعججل على جودة البرمجيات المنتجججة .فالمسججتفيد له احتياجات و توقعات .ورضاء المسججتفيد يتحقججق بشكجل أسجاسي بتلبيجة حاجاتجه .أمجا تلبيجة توقعات المسجتفيد فليجس بالضرورة أن تكون جميعهجا مجن ضمجن حاجاتجه .وقجد يكون جزء مجن التوقعات مجا يضيجف للمسجتخدم أعباء ماديجة إضافيجة قجد ل تنال رضاه فجي حال كونهجا ل تمثجل جزءًا مجن حاجاتجه .أمجا بخصجوص الفراد فتطويجر قنوات التواصجل بيجن أفراد كجل فريججق عمججل وبيجن فرق العمججل المختلفججة للمنتجات الوسججطية لعمليججة تنميججة وتطويججر المنتججج البرمجججي (مواصجفات المتطلبات ( )Requirement Specificationو المواصجفات الفنيجة للتصجميم وغيرهجا) و تصجويب منجح الصجلحيات ممجا لشجك له أثجر فاعجل على جودة المنتجج البرمججي النهائي .أمجا العمليجة النتاجية فتتأثر بشكل فاعل بالتغذية الراجعة من قبل البائعين ( )Vendersللمنتج البرمجي وسلوكهم وخجبرتهم .لذلك فالتكامجل مجع البائعيجن يسجهم فجي تطويجر العمليجة النتاجيجة [ .]4كذلك قجد يكون للعمليجة النتاجيجة علقجة مجع بعجض المجهزيجن :قجد تكون المؤسجسة مرتبطجة بعقجد لتنميجة برمجيات إدارة مواد لمؤسججسة صججناعية يتججم تنفيذه على شبكججة مججن الحواسججيب ويرتبججط مشروعهججا بشراء برمجيات إدارة الشبكة من قبل مجهز آخر .فالتكامل مع المجهزين يساهم بل شك في إذكاء إدارة جودة منتجها .كذلك عمليات التحليل وتطويرها المستمر ودعمه بالليات والدوات البرمجية (Software Automated )Toolsالمطورة وتطويجر قابليات التوجيجه الذاتجي لفرق العمجل وتعدد مهاراتجه جزء فاعجل فجي العمليجة الداريجة المبحوثجة .وتراث المؤسجسة الناتجج مجن تراكجم الخجبرة وتنميتهجا فجي إدارة الجودة و العمليجة الدارية ككل وبناء المقاييس و وضع المعايير ونماذج تقويم نضج العملية النتاجية وغيره مما يساهم في تطوير فعاليات المؤسسة يحتاج إلى العناية به والحرص عليه ليساهم بدور فاعل في دعم خبرات الفراد و إذكاء العملية النتاجية. أشار ]Kan ]5إلى أن تعبير الدارة الشاملة للجودة تمتشخيصه في سنة 1985في أوامر النظم الجويجة للبحريجة المريكيجة لتفصجيل توججه ( )Approachإدارة النمجط اليابانجي لتطويجر الجودة .وأشار ايضا إلى إمكانية أخذ هذا المفهوم معان ٍ متعددة اعتماداً على من يفسرها و كيفية تطبيقها .وأشار إلى كونها بشكل عام تمثل نمط إداري يهدف إلى تحقيق نجاح طويل الجل بواسطة ربط الجودة برضاء المسجتفيد .كمجا أشار ]Wiele ]7إلى حداثجة اسجتخدام التعجبير بكون التعتبير اقترح متن قبتل (Nancy )Warrenوهججي متخصججصة فججي بحريججة الوليات المتحدة المريكيججة .وأشار أيضتتا بكون أحججد أوائل الكتجب نشرمجن قبجل ( )Oaklandسجنة 1986بعنوان “ضبجط الجودة ." Quality controlواسجتناداً
237
إلى هذا التوجججه فإن إدارة الجودة الشاملة تهدف إلى خلق تراث ( )Cultureلمشاركججة جميججع أعضاء المؤسسة النتاجية في تطوير العمليات والمنتجات والخدمات. اسجتنادا للعديجد مجن البحوث التجي تناولت الفكجر الداري للجودة فإن مفهوم إدارة الجودة الشاملة ل يزال فججي مرحلة الطفولة .كمججا تناولتججه الكثيججر مججن البحوث مججن ضمججن تراث فكججر توكيججد الجودة واستخدمته العديد من الشركات بمسميات أخرى :مثل ضبط الجودة الشاملة. أوجز ]Kan ]5العناصر الساس لنظام الدارة الشاملة للجودة بأربعة معالم رئيسية هي: أ .التركيز على المستفيد وتحقيق متطلباته كمججا عَجبر بكلمججة البؤرة( بالتعججبير النكليزي ()Customer Focusعججن الزبون الذي نهدف بتركيجز لتحقيجق رضاه الشامجل مجن خلل دراسجة حاجاتجه ورغباتجه و توقعاتجه وتجميجع متطلباتجه وقياس وإدارة رضاه. ب .عملية النتاج ()Process و يهدف إلى تقليججص متغيرات عمليججة النتاج ( )Process Variationوتحقيججق اسججتمرار تطويرهججا وتتضمن العملية المهنية وتنمية المنتج وتحسين جودته. ت .الجانب البشري للجودة ()Human Side of Quality ويهدف إلى خلق تراث واسججع للجودة فججي المؤسججسة النتاجيججة .وجوهججر ذلك يتضمججن القيادة ( )Leadershipوجماعججة الدارة ( )Management Communityوالمشاركججة الشاملة ((Total Participationوتفويجض العامليجن ( )Employee Empowermentوبقيجة العوامجل الجتماعيجة والنفسية والبشرية. ث .التحليل والقياس ((Measurement and Analysis ويهدف إلى قيادة التطوير بشكل مستمر في جميع معالم الجودة بنظم قياس هدفيه. وأضاف ]Kan ]5أنه إضاف ًة إلى العناصر السالفة فالمؤسسة التي تمارس إدارة الجودة الشاملة يججب أن يكون لهجا إدارة تنفيذيجة ترتكجز على بنيجة تحتيجة (( Infrastructureوتدريجب و ثقافجة ولهجا خطجة جودة إسجتراتيجية.ثجم فسجر مجا تقدم بالمخطجط 2-2الذي هجو تمثيجل تخطيطجي للعناصجر الرئيسجة لدارة الجودة الشاملة .ومججن الواضججح أن التحليججل والقياس يشكلن العصججب السججاس لقياس التطور المستمر.
238
رغم التطور الحاصل في فكر الجودة لكنه ل يزال مبهم .ورغم البهام الذي يكتنفه فهو مهم ول يمكجن تجاهله .لذلك فمسجيرة تطوره مسجتمرة والحاججة لجهود حثيثجة ودراسجات جديجه تزداد .وهذا بل شجك هجو السجبب الرئيجس فجي اسجتمرار ظهور أدوات جديدة وتوجهات فجي حقجل إدارة الجودة ومقاييجس كثيرة وأساليب متعددة في القياس. ويمكن تلخيص المرتكزات الفكرية و الفلسفية لدارة الجودة الشاملة بما يلي: •الجودة كما يراها المستفيد (المستهلك) (.)Customer Driven Quality •القيادة (.)Leadership •التطوير المستمر (.)Continuous Improvement •المشاركة وتطوير المستفيد (.)Employee Participation and Development •الستجابة السريعة (.)Quick Response •تصميم الجودة والوقاية (.)Design Quality and Prevention •الدارة بالحقائق (.)Management by Fact •التطوير بالمشاركة ((.Partnership Development •المسؤولية التضامنية (.)Cooperate Responsibility •النظرة الطويلة الجل .))Long-Term View
.5توجهات بناء مقاييس جودة البرمجيات أهتجم الفكجر الهندسجي للبرمجيات بدراسجة القياس والمقاييجس باعتباره الركجن السجاس الذي ترتكجز عليجه صجناعة البرمجيات [ .]2وتميجز بشكجل خاص العقجد الخيجر مجن اللفيجة الثانيجة ومنطلق اللفيجة الراهنججة بهذا المحور الفاعججل .وظهرت عججبر هذه المرحلة توجهات فكريججة جادة وناجحججة فججي بناء المقاييجس لجودة المنتجج البرمججي .واهتمجت هذه التوجهات بمجملهجا كجل فجي جانجب مجن جوانجب الجودة وأهملت جوانب بالرغم من كون العديد منها أثبت نجاحه في الستدلل على الجودة ودعم الصناعة.
239
وهكذا تبرز الحاجة للفكر الحصائي وبحوث العمليات لبناء مقاييس ذات استدلل أوسع تجمع دللت عدد مجن المؤشرات الكميجة (مقاييجس مطلقجة) لسجمات متباينجة للجودة .لذلك سجنحاول ضمجن هذه الفقرة التطرق إلى أكثر التوجهات شيوعًا في قياس جودة المنتج البرمجي عبر مسيرة تطورها. المحاولت الولى لبناء مقاييجس الجودة للبرمجيات توججت نحجو موثوقيجة ( )Reliabilityالمنتجج البرمججي .والسجبب هجو وضوح هذه السجمة وسجهولة قياسجها باعتبارهجا تتعلق بإحتماليجة الفشجل الوظيفجي والعلل التججججي تحدث فججججي النظام البرمجججججي خلل تشغيله الفعلي لمدة طويلة [ . ]4ولكججججن ماذا حول الجوانب الخرى التي لتقل أهمية في تحديد مفهوم الجودة للمنتج :مثل سهولة خدمات ما بعد البيع و انخفاض تكاليفهجا وسجهولة تشغيله وتعلمجه وغيرهجا .لذلك ظهجر توججه حثيجث نحجو بناء مقاييجس جادة لتعقيجد المنتجج البرمججي .والسجبب فجي ذلك أن التعقيجد يؤثجر على معظجم السجمات الخرى للجودة [.]9 فالمنتجج المرتفجع التعقيجد غالبًا مجا يكون صجعب السجتخدام والتشغيجل وموثوقيتجه منخفضجة ومكلف فجي خدمات مجا بعجد البيجع وقابليتجه للتطور اسجتجابة للتغيرات المتوقعجة فجي حاجات الزبون الذي يفرضجه الواقجع المتطور للمجتمعات المعاصجرة .ولكجن مجا المقصجود بالتعقيجد ؟ .والعقيجد كمجا نسجتخدمه فجي لغتنجا اليوميججة مفهوم مبهججم شأنججه شأن الجودة ذاتهججا .لذلك تباينججة وجهات النظججر وظهرت مقاييججس أثبتججت الدراسجات فعاليتهجا رغجم قصجورها فجي أن تعكجس كجل مجا يعنجى بمفهوم التعقيجد .لذلك هنجا تجبرز الحاججة للمؤشرات الحصائية. أول المقاييس لتعقيد المنتج البرمجي هو ما أطلق عليه ( ))Line of Code )LOCأو حسجاب خطوط الشفرة بإعتبار حججم البرنامجج أفضجل مؤشجر لتعقيده [ .]5ولكجن أثبتجت الدراسجات قصجور هذا المقياس فججي العديججد مججن مواضججع التقويججم عججن النجاح فججي الدللة على التعقيججد .ومججن عيوبججه التججي تججم تشخيصها في دراسات عديدة [: ]5 .1عدم تناغجم ))Consistentهذا المقياس مجع لغات البرمججة والتطجبيقات والمطوريجن .وقيمتجه تتأثجر بهذه العوامل وليست واحدة للخوارزمية. .2تعقيجد البرنامجج ل ينعكجس مجن خلل هذا المقياس .فليجس دائمًا البرنامجج الصجغر أقجل تعقيداً والتعقيد قد يتسبب من جوانب أخرى كما سنرى لحقاً. لذلك هذا المقياس ل يعتبر مؤشر جيد لتقويم الجودة.
240
ومن اقدم المحاولت الجادة التي حققت نجاح واضح في بناء مقاييس الجودة هو نموذج هولستد .أثبتت الدراسات نجاح مؤشرات هذا النموذج في تقويم تعقيد المنتجات البرمجية وجوانبها الخرى. استندت مؤشرات نموذج هولستد للقياس على التركيب الداخلي للنص البرمجي .واستندت المؤشرات على تقسجيم النجص البرمججي إلى مؤثرات ( )Operationsوعوامجل( .)Operandsومجن تحديجد ذلك تحدد الحجم القياسي ( )Standard Volumeللنص البرمجي الذي يعتمد على الخوارزمية ول يتأثر باللغجة أو عمليات التحويجل أو أي مؤثجر آخجر .والحججم القياسجي يقاس بعدد الرقام الثنائيجة التجي يمكجن تشفير مفردات النص البرمجي بها وفق الصيغة التالية [:]11 حجججم البرنامججج = )N * log2)n1+n2حيججث Nيمثججل عدد تكرار المفردات الوحيدة للنججص البرمجججي (( )Unique Tokens Frequencyمؤثرات +عوامججل) و n1عدد المؤثرات الوحيدة و n2عدد العوامل الوحيدة (. )N=n1+n2 وجميجع المقاييجس فجي نموذج هولسجتد للقياس تسجتند على المقارنات بيجن الحججم القياسجي والحججم المثالي للنجص البرمججي ( .)Potential Volumeوالحججم المثالي يقصجد بجه هولسجتد حجم النص البرمجي على قرض استخدام لغة مثالية كل إيعاز منها ينتج وظيفة كاملة وبذلك يكون حجم البرنامج محرر بمثل هذه اللغة أصغر ما يمكن. رغم ثبوت حساسية ( )Sensitivityمؤشرات قياس هذا النموذج ولكنها أهملت العديد من مواطن التأثير في التعقيد والجودة للنص البرمجي [ :]5مثل تأثير نقاط اتخاذ القرار(جمل التكرار والجمجل الشرطيجة وغيرهجا) وتبايجن تأثيجر البنجى اللغويجة المختلفجة وتماسجك وتخلخجل النص البرمجي. ومن المقاييس الفعالة كما أثبتت الدراسات مقياس ( . )McCabeيستند مقياس مكيب على نقاط اتخاذ القرار وبهمججل المكونات الخرى وكأن ليججس لهججا تأثيججر .و يسججتند المقياس على تطججبيق مقياس التعقيججد الدوار ( )Cycloramic Complexityالمشتججق مججن مفهوم العدد الدوار (Cycloramic )Numberفجي النظريجة البيانيجة ( ]Graph Theory( ]4و [ .]5يسجتخدم هذا المقياس تحديجد تعقيجد البرنامج ومتابعته ( .)Traceabilityوالهدف الساس لمقياس مكيب هو توفير مقياس لقابلية الفحص ( )Testabilityوقابليجججججة فهجججججم البرنامجججججج ( )Understandabilityوالسجججججتعداد للدامجججججة ( .]Maintainability( ]4والعدد الدوار فجي النظريجة البيانيجة يتضمجن عدد الحقول ( )Regionsفجي
241
المخطط ( .)Graphوعرف مكيب التعقيد الدوار بكونه أعظم عدد من المسارات المستقلة من مخطط البرنامج ( .)Program Graphالمقياس Mيعرف بالمعادلة التالية [:]4 M=e-n+2*p حيجث eعدد المسجارات ( edges(، nعدد العقجد ( ،)nodesو Pعدد الجزاء غيجر المرتبطجة ( )Unconnectedللمخطط. وجدت بعض الدراسات في التوجه لتطوير مقاييس من دراسة تأثير البنى اللغوية (Syntactic )constructsعلى تعقيججد البرنامججج وتبايججن مفهوميتججه ( )Understandabilityوموثوقيتججه وتحديججد تعقيده. استتندت السجاليب السجالفة على اسجتخلص المقاييجس بشكجل مؤشرات لبعجض سجمات البرنامجج .و يتجلى ذلك بوضوح من مقاييس هولستد ومكيب .حيث هولستد ربط مقاييسه بالعوامل والمؤثرات و تكرارهجا ،بينمجا مكيجب ربجط مقياسجه بعدد بنجى السجيطرة المسجتندة على القرار الثنائي .و هذه المقاييجس، رغجم مجا حققتجه مجن نجاح ،فشلت فجي بيان تأثيجر اسجتخدام بنجى السجيطرة التجي توفرهجا اللغجة أو بعجض السججمات الخاصججة بهججا .فمثل مقياس مكيججب ل يوضججح الفرق فججي التعقيججد بيججن النواع المتباينججة لبنججى السجججيطرة .فل فرق ضمجججن هذا المقياس بيجججن التعقيجججد فجججي بنيجججة التكرار Forوجملة الختيار ((IF .THEN ELSEلذلك بعجض الباحثيجن ركزوا جهودهجم حول بعجض المقاييجس المشتقجة مجن دراسجات تجريبية مستندة في تشكيلها على خواص البنى اللغوية للبرامج .ومثل هذه المقاييس قد يكون لها تأثير كججبير خلل عمليججة تنميججة البرمجيات و تقدم مفاتيججح لحلول ناجحججة خلل التطويججر .ومججن ضمججن هذه الدراسججات توصججل أحججد الباحثيججن إلى تشكيججل للتنبججؤ بمجال الخلل ( )Field Defectsعلى مسججتوى الوحدات البرمجية ( )Moduleبالمعادلت التالية [:]4 Field defects = -2.5+ 0.003 LOC + 0.001 Unique operands And Field defects = 0.11 IF-THEN + 0.03 Number of calls
242
ومن الباحثين من تبنجى مفهوم المقاييس البنائ ية ( . ]Structure Metrics(]5المقاييس السالفة معنية بمؤشرات الوحدات البرمجية بشكل منفصل .مقاييس البنائية معنية بشكل أساسي بتوفير قياس كمجي لوحدات النظام البرمججي .معظجم مقاييجس البنائيجة موجهجة قياس تخلخجل ( )Couplingوتماسجك ( )Cohesionالبرمجيات ووحداتهججا .ومثال على ذلك عدد الوحدات البرمجيججة التججي تسججتدعي وحدة برمجيجة محددة ويطلق على هذا المقياس ( ،)Fan-inوالمقياس الموسجوم ( )Fan-outوالمعنجي بتبنجي عدد الوحدات البرمجيجة التجي يتجم اسجتدعاءها مجن قبجل وحدة برمجيجة محددة .وبصجورة عامجة الوحدات البرمجيجة التجي تتميجز بكجبر قيجم مقياس ( )Fan-inنسجبياً تكون صجغيرة وبسجيطة وتقليديًا تحتجل الطبقات الدنيجا مجن بناء التصجميم للنظام .وعلى النقيجض تكون الوحدات البرمجيجة الكجبيرة والمعقدة ميالة لتدنجي قيججم مقياس ( )Fan-inالمحسججوب لهججا [ .]5لذلك الوحدات البرمجيججة ذات ( )Fan-inو()Fan-out عالي يشار لهجا بضعجف تصجميمها وعدم اسجتناده على تفكيجك Decompositionسجليم خلل عمليجة التحليل [. ]4 تبنججي مفهوم التوجججه الكينونججي ( )Object Orientationفرض واقججع جديججد على فكججر الجودة للبرمجيات .لذلك سنتطرق لهم الخصائص المميزة والمؤثرة في بناء المقاييس الكينونية التوجه. هنالك اختلف جوهري في تصميم النظم الكينونية عما عليه في النظم التقليدية .و نجد هناك ما يميزها من مواضع الهتمام عما عليه في المقاييس التقليدية [.]4 لتسجاهم فجي تحقيجق فهجم واضجح للبرمجيات الكينونيجة وتسجاهم فجي تطويجر دعائم جودة البرمجيات الكينونيججة وإدارتهججا .أشار ]Pressman ]8إلى خمججس خواص تقود توجججه وتخصججيص المقاييججس الكينونية نتعرض لها فيما بلي: أ .التوججججه المحلي :))Localizationالتوجججه المحلي ،هججو خاصجججية البرمجيات فججي التعججبير والشارة ( )Indicateلسلوك المعلومات للتمركز ضمن البرنامج .فالتفكيك الوظيفي (Functional )Decompositionالذي تسجججتند إليجججه معظجججم النظجججم التقليديجججة يؤدي إلى تمركجججز المعلومات حول الوظائف التجي تنفجذ تقليدياً بشكجل وحدات برمجيجة إجرائيجة ( .)Procedural Modulesبينمجا طرق التصجميم التجي تسجتند إلى البيانات تقود إلى تمركجز المعلومات حول بنائيجة البيانات .لذلك نججد المقاييجس فجي النظجم التقليديجة تركجز نحجو البنجى الداخليجة للوظائف البرمجيجة وتعقيدهجا:مثجل التعقيجد الدوار لمكيجب ونموذج هولسجتد للقياس ،وقياسجاً على نفجس المنحجى ينتقجل تمركجز المعلومات فجي البرمجيات الكينونيجة
243
إلى داخجل الكائن والصجنف Classبشكجل احتواء البيانات والعمليات النافذة لهجا كوحدة واحدة .ADT لذلك فالمقاييس الكينونية يقتضي أن تتوجه نحو الصنف أو الكائن كموجود ( )Entityكامل ومتكامل. ب .الحتواء ( :)Encapsulationالحتواء ،كمججا تطرقنججا فججي الفصججل الول ،مججن دعائم منهججج التوججه الكينونجي فجي تنميجة وتطويجر النظجم البرمجيجة .والحتواء كمجا أشرنجا نعنجي بجه امتلك الكائنات لذاتهجا ،التجي أطلقنجا عليهجا تجريجد البيانات ( .)ADTلذلك ولتقويجم جودة البرمجيات الكينونيجة نحتاج لمقاييجس تختجبر احتواء الصجناف على البيانات والجراءات الضروريجة والكافيجة لتمثيجل الوليجد (أي الكائن) الذي ينشججأ بفعلهججا .فالمقياس المؤثججر للحتواء ،تغيججر اهتمام وتركيججز مبدأ القياس مججن الوحدة البرمجيجة إلى قياس رزمجة مجن البيانات والجراءات وتشجيجع القياس كجي يكون مجن مسجتو ٍ عال ٍ مجن التجريد:مثل قياس عدد العمليات (أي الوظائف) النافذة للبيانات المعرفة لصنف ما. ت .إخفاء المعلومات ( :)Information Hidingكتجم التفاصجيل الجرائيجة لمكونات البرنامجج والسجماح فقجط فجي إباحجة مجا هجو ضروري للتواصجل مجع أجزاء أخرى مجن النظام البرمججي يقتضجي تصميم نظام يؤكد تفاعلها لتحقيق متطلبات المستفيد وتوقعاته .وحيث أن هذه الخاصية من الساسات التجي يوفرهجا التوججه الكينونجي فل بجد أن يكون لنجا مقاييجس تعكجس بوضوح درججة تحققهجا فجي النظجم المطورة كينونيًا كأحجد المؤشرات لمدى إتباع منهجج التوججه الكينونجي فجي تلك النظجم .وبالتالي تسجاعدنا هذه المقاييس من التحقق أو قياس جودة النظم البرمجية ذات التوجه الكينوني. ث .الرث (:)Inheritance خاصججية الرث تمنججح القدرة على اشتقاق صججنف جديججد بإكسججابه صججفات و سججلوك صججنف أو أكثججر(كلً أو جزءاً) موجودة فعلً .وهذه القابليججة ممكججن اسججتثمارها فججي مختلف المسججتويات للفئات المنتظمججة ضمججن تشكيججل هرمججي بفعججل خاصججية الرث .و أثارت هذه الخاصججية اهتمام الباحثيججن لبناء مقاييجس لتقويمهجا .ومجن أمثلة هذه المقاييجس:عدد الصجناف السجاس وعدد الصجناف المشتقجة وعمجق الشتقاق في شجرة الرث. ج .أساليب تجريد الكائنات ()Object Abstraction Technique أسجلوب التجريجد آليجة تتيجح للمصجمم التركيجز على التفاصجيل السجاس الضروريجة لجزاء البرامجج والسجتغناء عجن السجهاب والتفصجيل .وكمجا أشار الباحثون "التجريدً فكرة نسجبية .فكلمجا ارتقينجا إلى
244
مسجتوى أعلى مجن التجريجد ،تجاهلنجا التفاصجيل شيئا فشيئا .وكلمجا انحدرنجا إلى المسجتويات الدنيجا ،حددنجا تفاصيل الفكرة أو المبدأ بشكل أدق. ولن الصنف يمثل تجريدا يمكن مشاهدته بعدة مستويات من التفاصيل (مثال:قائمة من العمليات أو تسجلسل مجن الحالت) .مقاييجس البرمججة الكينونيجة تمثجل التجريجد بدللة مقاييجس الصجنف (مثال:عدد الكائنات للصنف أو عدد الكائنات للبرنامج).
.6مجالت تطبيق المؤشرات الحصائية والستدلل بها على جودة البرمجيات: تشكجل الدوات الحصجائية مرتكجز أسجاسي للعديجد مجن البحوث والدراسجات فجي تكنولوجيجا المعلومات. كمجا تلعجب الدوات والمقاييجس الحصجائية دورًا ليمكجن السجتغناء عنجه فجي مشاريجع النتاج البرمججي. حيث أن إدارة العملية النتاجية تعتبر أحد المرتكزات الساسية لدارة جودة المنتج البرمجي .إن أي مشروع للنتاج البرمججي لبجد وأن ينطلق تخطيطجه بالعتماد على اسجاليب التحليجل الكمجي .والخطوة الولى لي مشروع لنتاج البرمجيات هججو بناء المخطججط الشبكججي للنشطججة واسججتخدام أحججد أسججاليب التحليل الكمي لتحديد مدة تنفيذ المشروع وميزانيته وتخصيص الموارد على النشطة .كذلك فدراسة حاججة السجوق والتغيرات التجي تطرأ على حاجات الزبائن وتطلعاتهجم فجي النظجم البرمجيجة المطروحجة تحتاج إلى أدوات إحصائية فاعلة ومقاييس ذات حساسية مميزة .والمخطط الشبكي لنشطة المشروع هججو السججاس الضروري لعداد خطججة أي مشروع إنتاج برمجججي وإدارتججه .وكذلك فإنججه يسججاعد على معالججة النحرافات التجي قجد تحدث .كمجا أن له تأثيجر على عدم تجاوز مدة النتاج أو الميزانيجة خلل تنفيججذ مشروع النتاج البرمجججي .اضافججة الى تسججهيل مناقلة الموارد بيججن النشطججة لمعالجججة مثججل هذه النحرافات والمخاطجر وبطبيعجة الحال لبجد وأن يسجتند ذلك على التحليجل الكمجي الذي انججز عنجد إعداد المخطط الشبكي وما أشتق منه من مخططات شريطية .والبحث يطول عن مواطن إستخدام الدوات والمقاييجس الحصجائية فجي مشاريجع النتاج البرمججي وصجناعة البرمجيات عمومًا وتصجميم الحواسجيب بمعداتها المادية والبرمجية .لذلك سنخصص هذه الفقره ببحث ما له صلة بجودة المنتج البرمجي. و من التركيز على السمات الساسية للجودة يمكن تميز دور الحصاء كما يلي: أ) الداء (:)Performance يشكججل الداء سججمة أسججاسية مججن سججمات الجودة .وقججد حددهججا ( )Garvinأحججد البعاد السججاسية للجودة .ونعنجي بالداء مسجتوى قبول مسجتخدم النظام للقيود التجي تجم ضمنهجا تحقيجق أهداف النظام :مثجل زمججججن إنجاز المهمججججة والقيود التججججي تحكججججم النتاجيججججة .لذلك فالداء قرار أو خاصججججية نوعيججججة ( 245
.)Qualitativeوهذا القرار لبجد وأن يسجتند إلى تقويجم كمجي وفجق مقاييجس تنسججم والهدف مجن تقويجم الداء .لذلك فأداء الحاسجب المسجتخدم فجي مختجبر الجامعجة لتدريجب الطلبجة يكون أفضجل بتقليجص سجرعة الستجابة ( )Response Timeبينما الحاسب في قسم الحسابات قد يستند تقويم أداءه إلى النتاجية ( :)Throughputعدد المهام المعالججة فجي وحدة الزمجن .ويمكجن أن يكون الداء بنظجر المصجمم درججة إستغلل الحاسب لموارده خلل عمليات المعالجة ( )Utilizationوخاصة المعالج (.)Processor و هكذا فإن عمليجة السجتدلل على الداء وخاصجة فجي النظجم الكثجر تأثيرًا فجي أنشطجة مجتمعاتنجا المعاصرة ل تستقيم بدون استخدام مقاييس إحصائية مناسبة .وهكذا نستخدم معدل سرعة الستجابة ( )Mean Response Timeلتقويجم أداء الحاسجب المسجتخدم لتدريجب الطلبجة ويججب أن ينسججم مجع الزمن المتاح لتدريب الطلبة ومقبول لنجاز عدد المهام المتوقع للطلبة تنفيذها خلل التدريب .ويمكننا أن نسججتخدم النحراف المعياري أو مقاييججس التشتججت الخرى لتقويججم أداء برمجيات الحاسججب وتحديججد المناسب منها. إضافججة لمججا تقدم فإن اسججتخدام المقاييججس الحصججائية فججي تقويججم الداء ضروريججة عنججد تحديججد الخيارات والسجياسات المناسجبة عنجد تنصجيب نظجم التشغيجل لتنسججم وحججم العمجل ( )Workloadالمنفجذ عليه ( :)Tuningمنها سياسات الجدولة وحجم مساحات الذاكرة التي تخصص من قبل نظام التشغيل لكجل برنامجج يدخجل فجي مجال التنفيجذ وشريحجة الزمجن ( )Slice Timeالمخصجصة لكجل عمليجة ضمجن التناوب الذي يتيحه نظام التشغيل. تقويجم الداء غالبًا مجا يحتاج إلى أدوات إحصجاء لنجازه :مثجل نماذج المحاكاة والنماذج التحليليجة للطوابيججر ( )Queuing Modelsوغيرهججا :ومججن المثلة على ذلك نظججم تقويججم أداء خادم الشبكججة العنكبوتيجة التجي يطلق عليهجا ( .)Benchmarksوالتجي هجي عبارة عجن نماذج محاكاة لسجلوك مسجتخدم الحاسب مع مراقبة موارد الحاسب المادية وجمع البيانات الحصائية عنها لستخلص مجموعة من المؤشرات الحصائية للحكم على الداء وفق الهدف المحدد للتقويم. ب) العملية النتاجية: من المرتكزات الساسية لدارة جودة المنتج البرمجي تقويم نضج تنفيذ عملية النتاج (Development .)Process Maturityوتعجبير نضجج العمليجة يعنجي مدى فاعليجة تنفيجذ المشروع بمراحله وأنشطتجه و نجاح الجهود الداريجة لنتاج منتجات عاليجة الجودة فجي الوقجت المحدد .لقجد أنجزت العديجد مجن الجهود البحثيجة والدراسجاتد[ 4و ]5لتطويجر نماذج لقياس هذا المرتكز .ولعل من أكثر النماذج شيوعاً لقياس نضج عملية النتاج هي :بنية القياس SEIو بنية ٍ.SPR
246
جوانججب التقويججم لنضججج عمليججة النتاج متعددة :و تركججز بنججى القياس بأسججئلتها لتغطيججة القضايججا السججتراتيجية المشتركة( )Corporateوقضايا المشروع الترتيبية ( )Tacticوالتي تؤثر على الجودة والنتاجية ورضاء المستفيد و على التنشئة التنظيمية للبرمجيات وعملياته .وبسبب تعدد جوانب التقويم كما أشرنا لبد وأن يكون للدوات الحصائية والمؤشرات دور فاعل لتحديد بنية ناجحة في التقويم. ت) نظم تميز النماط (:)Pattern Recognition systems تستخدم المؤشرات الحصائية في نظم تميز النماط في زيادة الدقة لتميز النماط كما في بناء النظم المتخصصة لتحليل الصور الجوية لغراض عسكرية أو المسح الجوي أو سواها .كذلك يشكل تميجز النماط واسجتخدام الدوات و المؤشرات الحصجائية المرتكجز السجاس فجي التطجبيقات المسجتندة على مفاهيججم تعلم الحاسججب ( )Machine Learningومنهجججا تنقيجججب البيانات ()Data Mining واكتشاف المعرفججة فججي قواعججد البيانات ( .)KDDوهكذا نجججد أن الدوات والمؤشرات الحصججائية تسجاهم فجي تحقيجق جودة عاليجة للنظجم المشار إليهجا فجي هذه الفقرة .يتركجز اسجتخدام المقاييجس الحصجائية بشكل خاص في أيجاد مؤشرات مناسبة لمرحلة استخلص الميزات( )Feature Extractionوالتي تعتبر عماد رئيسي في اختزال البعد البياني بما يوفر السمات ألساسية .في هذا الصدد اعتمدت العديد مجن الوسجائل والسجبل لعتماد مثجل هذه القياسجات ولكجن معظمهجا تبنجى سجمات رياضيجه انعدم فيهجا حجس الحتمالية المتوخي للتعميم. الواقجع أن الحصجاء له دور أسجاسي فجي إثراء التراث البشري فجي مختلف ممارسجاته .وانتشار الحواسججيب وانخفاض كلفتهججا وسججهولة اسججتخدامها ومججا أتاحتججه شبكججة النترنججت مججن سججهولة تطويججر المعارف والمهارات قاد إلى تغلغجل أنظمجة الحواسجيب والتطجبيقات البرمجيجة فجي مختلف مناحجي حياة المجتمع المعاصر .وهذا ما جعل النظم البرمجية تصمم لمختلف الغراض :من الصناعات البسيطة والتصميم إلى دراسة الفلك والتركيب الذري وغيرها .والحصاء بآلياته ومؤشراته مرتكز أساسي في معظم نظم المعالجة والتحليل والتصنيع والعلوم الدقيقة .لذلك فالنظم المحوسبة لسناد النشطة المشار لهججا تسججتند للطرق والليات والتقنيات التججي تتسججم بالدقججة فججي كججل مجال .وحيججث أن الطرق والليات والتفنيات المشار إليها تتسم في حالت عديد وغير قليلة على مؤشرات إحصائية وأدوات .فإن جودة إجراءات النظام فججي المعالجججة يسججتند على المؤشرات الحصججائية موضوع البحججث .وجودة النظججم البرمجية ليمكن أن تتحقق بدون دقة إجراءات المعالجة .لذلك فلعطاء هذ المحور حقه الذي يستحقه من الجهجد لبجد وأن يتبعجه عدد من الدراسات عن دور الدوات والمؤشرات الحصجائية فجي كل مجال
247
مما أشرنا إليه أو لم نشر .فربما تطور الحصاء والحاسب بنظمه وأدواته كان أحد أهم العوامل التي قادت إلى تحقيق الواقع المعاصر لمجتمعاتنا.
.7الستنتاج والتوصيات: مجن الممكجن أن يكون أهجم اسجتنتاج نحصجل عليجه أن تكنولوجيجا المعلومات والحصجاء فجي حياتنجا المعاصرة ليمكن لحدهما تحقيق ما نرجو منه لمجتمعاتنا المعاصرة بدون تدخل الخر .فهما وجهان لعملة واحدة .وإن تطور و رقجي ورفاهيجة مجتمعاتنجا مرهون بمسجتوى الهتمام بهمجا معاً .وحيجث أن الحواسجيب بأنظمتهجا وتطبيقاتهجا تقود مسجيرة تطور وإزدهار مجتمعاتنجا المعاصجرة .فالتوصجية الولى برأينجا هجي تطويجر مهارات ومعارف العامليجن فجي حقجل تكنولوجيجا المعلومات فجي إسجتخدام الدوات الحصائية والستدلل بمؤشراتها .والتوصية الثانية أن يخصص مؤتمر متخصص لمعالجة موضوع هذه الدراسة لما لذلك من دور في تصويب أنشطة مجتمعاتنا العربية نحو الرقي والزدهار. تبنى البحث الحالي مناقشة دور المعالجة الحصائيه للبيانات التي استهدفت ايجاد مقاييس فاعله لغراض قياس ومججن ثججم تقويججم جودة البرمجيات .وكان مججن المفيججد ايجاز هذا الدور فججي المياديججن المختلفه للوقوف على اهمية الحصاء في دعم دراسات تكنولوجيا المعلومات في معظم حقولها .حيث ان المؤشرات الحصائيه تعظم مسالة الستدلل لترشيد عملية التقويم من جهة و تطوير جودة المنتج البرمجي من جهة اخرى. خلل مراحججل النتاج فان عمليججة التقويججم والفحججص عادة تسججتنفذ اكثججر مججن %40مججن كلف النتاج .لذلك فان الدراسجات الوليجه منهجا والعليجا ايضجا يججب ان تولي اهميجة خاصجة لمادة الحصجاء وخاصججة جانججب الدوات المسججتخدمة فججي جمججع البيانات والتحقججق مججن صججحتها علوة على بنائهججا للمؤشرات الحصائيه ودلئلها .مع التركيز على تطبيقات عمليه واقعيه ضمن المحاور المختلفة في تكنولوجيجا المعلومات تظهجر هذة الحاججة بشكجل جلي فجي دراسجات الداء وتمييجز النماط ومعالجاتهجا. ول بججد ان يشار الى كججل المجالت التججي سججوغت امججر مختلف البناءات الجديده مججن انظمججة الذكاء الصجناعي بمجا تلعبجة مجن ادوار فاعله فجي المنطجق المضبجب( )Fuzzy Logicوالشبكات العصجبية ( .)Neural Networks
248
:)References( المراجع.8 1. Pfleeger, S. L. , Software Engineering , Prentice Hall 2001. 2. Sommerville, L. , Software Engineering, 6th. Ed. ADDISON-WESLEY 2001. 3. Reyes, M., Assessing the reuse potential of objects, Ph.D dissertation, Louisiana State University, Dec.1998.
إشارة إلى مقاييججس: مقاييججس البرمجيات ذات التوجججه الكينونججي، دكتور سججعد محمججد عبججد العزيججز.4 2002 بحث دكتورا، السودان/ جامعة النيلين، الرث 5. Kan, S., Metrics and Models in Software Quality Engineering, Addison Wesley 1995. 6. Mitra, A, fundamentals of Quality Control, and Improvement, 2nd.Ed., Prentice Hall 1998. 7. Wiele)1999(, T., Dale, B., & William, R., The Evolution in Quality Thinking, Quality Management, Assurance and Education: European Dimensions, INFOREC 1999, ISBN 973-98508-4-7, Printed in Romaia. 8. Pressman R, , Software Engineering : a Practitioner’s Approach , 4th. Ed.,McGraw-Hill 1997. 9. Arhire, R. Metrics of Software Complexity The Proceedings of the 2nd. International Symposium of Economics-May 1995 , ASE Printing House Bucharest, Romania, 1995. 10. Baron, T. and Tatomir, M., Increasing competitive capability of software products through global quality and marketing, The proceedings of the fourth international symposium of Economic informatics, PP: 102-106, Bucharest/Romania, May 1999. 11. Halstead) M. H., Elements of software science, Elsevier North Holand Inc. 1977, 12. Neal, R., The measurement theory validation of proposed Object-Oriented software metrics., Ph.D dissertation , Virginia Commonwealth University , Nov. 1996.
249