Software Size Estimation by Integrating Functional Size and Functional Complexity Measures
تقترح هذه الدراسة نموذجاً لتقدير حجم البرمجيات يدمج مقاييس الحجم الوظيفي (UFP وCFP) مع مقاييس التعقيد الوظيفي (CC وYC) باستخدام تحليل الانحدار، مما يثبت أن الجمع بين هذه المقاييس — لا سيما UFP مع مقاييس التعقيد — يقلل بشكل كبير من خطأ التقدير ويحسن دقة التنبؤ لتطبيقات مثل COCOMO II.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
إن بناء البرمجيات مسعى معقد، يشبه إلى حد كبير بناء مبنى، ولكن بدلاً من الطوب والملاط، تكون المواد هي أسطر الكود والمتطلبات الوظيفية. لعقود من الزمن، اعتمد مديرو المشاريع على عدّ أسطر الكود هذه لتقدير مقدار الوقت والمال الذي سيستغرقه المشروع. ومع ذلك، فإن هذه الطريقة معيبة لأن برنامجين يمكن أن يقوما بنفس الشيء تماماً بينما يتطلبان كميات متفاوتة تماماً من الكود اعتماداً على كيفية كتابته من قبل المبرمج. ولحل هذه المشكلة، طور القطاع طريقة لقياس البرمجيات بناءً على ما تفعله بالفعل للمستخدم — أي عدّ المدخلات، والمخرجات، وملفات البيانات — بدلاً من كيفية كتابتها. ويُعرف هذا بالحجم الوظيفي. ومع ذلك، حتى هذا العد الوظيفي لديه نقطة عمياء: فهو يقيس كمية الميزات، ولكنه غالباً ما يغفل عن صعوبة بنائها. فقد تكون الميزة البسيطة سهلة الإنشاء، بينما قد تكون ميزة أخرى معقدة تحتوي على العديد من المسارات المتفرعة والشروط كابوساً في البرمجة، حتى لو كانت كلتاهما تُعد "ميزة" واحدة بالمعنى التقليدي.
هذه الفجوة بين حجم الميزة وتعقيد بنائها هي اللغز المركزي الذي يتصدى له فريق من الباحثين من إندونيسيا. لقد سعوا لمعرفة ما إذا كان الجمع بين مقياس للحجم الوظيفي ومقياس للتعقيد الهيكلي يمكن أن يؤدي إلى تنبؤات أكثر دقة للحجم الحقيقي لمشروع البرمجيات. ويركز عملهم على تحسين كيفية تقدير الجهد المطلوب لبناء البرمجيات، وهي مهمة حاسمة تحدد ما إذا كان المشروع سيبقى ضمن الميزانية أم سينحرف عن السيطرة. ومن خلال النظر في كل من "ماذا" و"مدى صعوبة" العمل، هدفوا إلى خلق صورة أوضح للأشخاص الذين يخططون ويديرون هذه الأنظمة الرقمية.
بدأ الباحثون بجمع البيانات من مشروعين حقيقيين للبرمجيات: أحدهما مصمم لتعاونية موظفين والآخر لمتجر تجزئة. لم يستخدموا مجموعات بيانات عامة لأنها غالباً ما تفتقر إلى التفاصيل المحددة اللازمة لتحليلهم. بدلاً من ذلك، أخذوا المتطلبات النصية لهذه التطبيقات وترجموها إلى مخططات تدفق مرئية، تُعرف باسم مخططات (BPMN). كانت هذه المخططات بمثابة جسر، مما سمح للفريق باستخراج نوعين مختلفين من القياسات لكل جزء من النظام. أولاً، قاموا بحساب الحجم الوظيفي، الذي يعد تفاعلات المستخدم وملفات البيانات. وقد استخدموا طريقتين راسختين لهذا الغرض: إحداهما تعد نقاط الوظائف غير المعدلة بناءً على فئات قياسية مثل المدخلات والمخرجات، والأخرى تعد نقاط الوظائف الكونية (cosmic function points) من خلال تتبع كيفية انتقال البيانات داخل وخارج النظام.
بعد ذلك، قاموا بقياس التعقيد الهيكلي لتلك الأجزاء نفسها. تضمن ذلك تحليل المنطق داخل المخططات لمعرفة عدد نقاط القرار، والحلقات، والمسارات المتفرعة. وقد استخدموا مقياسين مختلفين للتعقيد لهذا الغതി: أحدهما يعد عدد المسارات المستقلة عبر الكود، والآخر يزن الصعوبة الإدراكية لأنواع مختلفة من الفروع والحلقات. وأخيراً، قارنوا هذه القياسات المجمعة مقابل العدد الفعلي لأسطر الكود المكتوبة للمشاريع. كان هذا العد النهائي هو "الحقيقة الأرضية"، أي الحجم الفعلي للبرمجيات المكتملة التي كان الباحثون يحاولون التنبؤ بها.
كشفت النتائج عن نمط متميز يعتمد على طريقة الحجم الوظيفي المستخدمة. فعندما استخدم الباحثون طريقة الحجم الوظيفي الأولى، أدى إضافة قياسات التعقيد إلى تحسين دقة تنبؤاتهم بشكل ملحوظ. وتحديداً، انخفض معدل الخطأ في تقديراتهم من أربعة وعشرين بالمائة إلى اثنين وعشرين بالمائة. وهذا يشير إلى أنه بالنسبة لهذا النوع من العد الوظيفي، فإن معرفة تعقيد المنطق يساعد في تصحيح التقدير، مما يجعله أقرب إلى الواقع. ومع ذلك، كانت القصة مختلفة بالنسبة لطريقة الحجم الوظيفي الثانية؛ فعندما استخدموا نقاط الوظائف الكونية، لم يؤدِ إضافة قياسات التعقيد إلى خفض معدل الخطأ، الذي ظل ثابتاً عند خمسة عشر بالمائ% . في هذه الحالة، كان مقياس الحجم الوظيفي دقيقاً للغاية بحيث لم تجعل بيانات التعقيد الإضافية الرقم النهائي أكثر دقة.
وعلى الرغم من عدم التحسن في معدلات الخطأ في الطريقة الثانية، إلا أن بيانات التعقيد أثبتت قيمتها أيضاً. فعندما أضاف الباحثون مقاييس التعقيد إلى نقاط الوظائف الكونية، تحسنت جودة تنبؤاتهم بطريقة مختلفة. إذ ارتفأت نسبة التقديرات التي وقعت ضمن هامش خطأ ضيق جداً من ستة وسبعين بالمائة إلى ثمانين بالمائة. وهذا يعني أنه بينما لم يتغير متوسط الخطأ، أصبح الفريق أكثر موثوقية في الوصول إلى الإجابة الصحيحة بدقة. وتخلص الدراسة إلى أن دمج مقاييس التعقيد ليس حلاً واحداً يناسب الجميع؛ فقيمته تعتمد على طريقة الحجم الوظيفي المستخدمة. فبالنسبة لإحدى الطرق، فإنه يزيد من حدة الدقة، بينما بالنسبة للأخرى، فإنه يزيد من حدة الاتساق. وتقدم هذه النتائج طريقة جديدة وأكثر دقة لتغذية نماذج تقدير الجهد الراسخة بالبيانات، مما قد يساعد فرق البرمجيات على اتخاذ قرارات أكثر استنارة بشأن الوقت والموارد التي ستتطلبها مشاريعهم حقاً.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.