تحديد حجم البرامج
يُعدّ تحديد حجم البرمجيات أو تقدير حجمها نشاطًا في هندسة البرمجيات يُستخدم لتحديد أو تقدير حجم تطبيق أو مكون برمجي، وذلك لتمكين تنفيذ أنشطة إدارة مشاريع البرمجيات الأخرى (مثل التقدير أو التتبع). ويُعتبر الحجم سمةً جوهريةً للبرمجيات، تمامًا كما يُعدّ الوزن سمةً جوهريةً للمواد المادية.
خلفية
يختلف تحديد حجم البرمجيات عن تقدير جهد تطويرها . يُقدّر تحديد الحجم الحجم المحتمل لبرنامج ما، بينما يتنبأ تقدير الجهد بالجهد اللازم لبنائه. تُسمى العلاقة بين حجم البرنامج والجهد المطلوب لإنتاجه بالإنتاجية .
على سبيل المثال، إذا قام مهندس برمجيات ببناء تطبيق حاسبة صغير على الإنترنت، يمكننا القول إن جهد المشروع بلغ 280 ساعة عمل. مع ذلك، لا يُعطي هذا أي معلومات عن حجم المنتج البرمجي نفسه. في المقابل، يمكننا القول إن حجم التطبيق 5000 سطر من التعليمات البرمجية، أو 30 نقطة وظيفية، دون تحديد جهد المشروع المطلوب لإنتاجه.
أساليب تحديد حجم البرمجيات الوظيفية
تاريخيًا، كانت منهجية حساب حجم البرمجيات الأكثر شيوعًا هي عدّ أسطر التعليمات البرمجية المكتوبة في مصدر التطبيق. وهناك نهج آخر يتمثل في قياس الحجم الوظيفي، أي التعبير عن حجم الوظائف برقم من خلال تحليل نقاط الوظائف . وتُعدّ منهجية IFPUG هي المنهجية الأصلية لقياس الحجم . وقد استُخدمت منهجية IFPUG FPA لقياس الحجم الوظيفي (FSM) بنجاح ، على الرغم من كونها أقل دقة في تقدير الخوارزميات المعقدة وأكثر صعوبة في الاستخدام نسبيًا من تقدير أسطر التعليمات البرمجية. وقد ظهرت تعديلات على منهجية قياس الحجم الوظيفي الأصلية، وهذه المعايير هي: نقاط وظائف COSMIC ، ونقاط وظائف Mk II ، ونقاط وظائف Nesma، ونقاط وظائف FiSMA. وتشمل المتغيرات الأخرى لهذه المعايير نقاط الوظائف الموجهة للكائنات (OOFP)، ومتغيرات أحدث مثل نقاط الوظائف الدقيقة الموزونة ، والتي تأخذ في الاعتبار تعقيد الخوارزميات وتدفق التحكم .
تعتمد أفضل طريقة لتحديد حجم الوظائف على عدد من العوامل، بما في ذلك المجال الوظيفي للتطبيقات، ونضج عمليات المؤسسة المطورة، ومدى استخدام طريقة تحديد حجم الوظائف. [ 1 ] [ 2 ] تتعدد استخدامات وفوائد نقاط الوظائف [ 3 ]، فإلى جانب قياس إنتاجية المشروع وتقدير المشاريع المخطط لها، تشمل هذه الاستخدامات مراقبة تقدم المشروع وتقييم مدى تغطية متطلبات الحزم البرمجية الجاهزة للاستخدام .
وتشمل طرق تحديد حجم البرامج الأخرى تحديد حجم البرامج القائم على حالات الاستخدام ، والذي يعتمد على حساب عدد وخصائص حالات الاستخدام الموجودة في جزء من البرنامج، وقياس الحجم الوظيفي COSMIC ، والذي يتناول تحديد حجم البرامج التي تحتوي على كمية محدودة للغاية من البيانات المخزنة مثل أنظمة "التحكم في العمليات" وأنظمة "الوقت الحقيقي".
تعتبر كل من طريقة IFPUG وطرق COSMIC معايير ISO/IEC.
طريقة تحديد حجم البرمجيات غير الوظيفية
تُعرف طريقة IFPUG لتحديد حجم الجوانب غير الوظيفية للبرمجيات أو مكوناتها باسم SNAP، ولذلك يُقاس حجم هذه الجوانب بنقاط SNAP . يتكون نموذج SNAP من أربع فئات رئيسية وأربع عشرة فئة فرعية لقياس المتطلبات غير الوظيفية. تُربط المتطلبات غير الوظيفية بالفئات الفرعية المناسبة، ثم يُحدد حجم كل فئة فرعية، ويكون حجم المتطلب هو مجموع أحجام فئاته الفرعية. تُشبه عملية تحديد حجم SNAP إلى حد كبير عملية تحديد حجم نقاط الوظائف. ضمن نطاق التطبيق، تُربط المتطلبات غير الوظيفية بالفئات الرئيسية وفئاتها الفرعية. باستخدام مجموعة موحدة من المعايير الأساسية، يُحدد حجم كل فئة فرعية وفقًا لنوعها وتعقيدها؛ ويكون حجم هذا المتطلب هو مجموع أحجام فئاته الفرعية. ثم تُجمع هذه الأحجام للحصول على مقياس حجم الجوانب غير الوظيفية لتطبيق البرمجيات.
معلومات إضافية
تُلزم العديد من معايير جودة البرمجيات باستخدام منهجية قياس حجم البرمجيات الصحيحة كجزء من دورة حياة هندسة البرمجيات القياسية للمؤسسة . على سبيل المثال، يفرض نموذج تكامل نضج القدرات ( CMMI ) هذا الشرط. لا يمكن تقييم أي مؤسسة (اعتمادها) ضمن المستوى الثاني أو الثالث من CMMI ما لم يتم استخدام قياس حجم البرمجيات بشكل كافٍ.
انظر أيضاً
مراجع
- ↑ إرشادات حول كيفية اختيار طريقة آلة الحالة المحدودة
- ↑ إرشادات حول كيفية اختيار طريقة قياس الحجم الوظيفي - بام موريس، المقاييس الكلية - مركز موارد نقاط الوظائف، انظر ISO/IEC 14143-6: - هندسة البرمجيات - قياس البرمجيات - قياس الحجم الوظيفي - الجزء 6: دليل استخدام سلسلة ISO/IEC 14143 والمعايير الدولية ذات الصلة
- ↑ استخدامات وفوائد عدّ نقاط الوظائف - بام موريس، المقاييس الإجمالية - مركز موارد نقاط الوظائف ، ملف PDF
- تكاليف هندسة البرمجيات
