استخدم نقاط الحالة

نقاط حالات الاستخدام ( UCP ) هي تقنية لتقدير حجم البرمجيات تُستخدم للتنبؤ بحجمها في مشاريع تطوير البرمجيات. تُستخدم نقاط حالات الاستخدام عند استخدام منهجيتي لغة النمذجة الموحدة (UML) وعملية التطوير الموحدة الرشيدة (RUP) في تصميم وتطوير البرمجيات . يعتمد مفهوم نقاط حالات الاستخدام على متطلبات النظام المكتوبة باستخدام حالات الاستخدام ، وهي جزء من مجموعة تقنيات النمذجة في لغة النمذجة الموحدة. يُحسب حجم البرمجيات (نقاط حالات الاستخدام) بناءً على عناصر حالات استخدام النظام مع مراعاة العوامل التقنية والبيئية. يمكن بعد ذلك استخدام نقاط حالات الاستخدام لمشروع ما لحساب الجهد المُقدّر للمشروع.

تاريخ

طُوِّرت تقنية UCP بواسطة غوستاف كارنر عام 1993 أثناء عمله في شركة Objectory Systems (التي اندمجت لاحقًا مع Rational Software ثم مع IBM) . صُمِّمت طريقة UCP لتقدير حجم برمجيات الأنظمة الموجهة للكائنات . وهي تعتمد على مبادئ مشابهة لطريقة تقدير نقاط الوظائف (FP)، ولكنها صُمِّمت خصيصًا لتلبية احتياجات الأنظمة الموجهة للكائنات ومتطلباتها بناءً على حالات الاستخدام . [ 1 ] [ 2 ] [ 3 ]

طريقة

تعتمد طريقة تحديد حجم التقدير اللازم لتطوير نظام ما على حساب يتضمن العناصر التالية:

  • وزن حالة الاستخدام غير المعدل (UUCW) - حجم النقاط للبرنامج الذي يأخذ في الاعتبار عدد حالات الاستخدام ومدى تعقيدها.
  • وزن الممثل غير المعدل (UAW) - حجم النقطة للبرنامج الذي يأخذ في الاعتبار عدد الممثلين وتعقيدهم.
  • عامل التعقيد التقني (TCF) - عامل يستخدم لتعديل الحجم بناءً على الاعتبارات التقنية.
  • عامل التعقيد البيئي (ECF) - عامل يستخدم لتعديل الحجم بناءً على الاعتبارات البيئية.

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

تشرح الأقسام التالية الحسابات المختلفة لتحديد تكلفة المشروع غير المحددة (UCP).

وزن حالة الاستخدام غير المعدل (UUCW)

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

تصنيف حالات الاستخدامعدد المعاملاتوزن
بسيطمن 1 إلى 3 معاملات5
متوسطمن 4 إلى 7 معاملات10
معقد8 معاملات أو أكثر15
UUCW = (إجمالي عدد حالات الاستخدام البسيطة × 5) + (إجمالي عدد حالات الاستخدام المتوسطة × 10) + (إجمالي عدد حالات الاستخدام المعقدة × 15)

وزن الممثل غير المعدل (UAW)

يُعدّ وزن المستخدم الموحد (UAW) عاملاً آخر يُسهم في تحديد حجم البرنامج قيد التطوير. ويُحسب بناءً على عدد عناصر النظام ومدى تعقيدها. وكما هو الحال في حساب وزن المستخدم الموحد (UUCW)، يجب تحديد كل عنصر من عناصر النظام وتصنيفه إلى بسيط أو متوسط ​​أو معقد، وذلك بناءً على نوعه. ولكل تصنيف وزن مُحدد مسبقًا. ويُمثل وزن المستخدم الموحد (UAW) مجموع أوزان جميع عناصر النظام. يوضح الجدول التالي التصنيفات المختلفة لعناصر النظام وقيمة الوزن المُخصصة لها.

تصنيف الممثليننوع الممثلوزن
بسيطنظام خارجي يجب أن يتفاعل مع النظام باستخدام واجهة برمجة تطبيقات محددة جيدًا1
متوسطنظام خارجي يجب أن يتفاعل مع النظام باستخدام بروتوكولات الاتصال القياسية (مثل TCP/IP وFTP وHTTP وقاعدة البيانات)2
معقدممثل بشري يستخدم واجهة تطبيق رسومية3
UAW = (إجمالي عدد الجهات الفاعلة البسيطة × 1) + (إجمالي عدد الجهات الفاعلة المتوسطة × 2) + (إجمالي عدد الجهات الفاعلة المعقدة × 3)

عامل التعقيد التقني (TCF)

يُعدّ عامل TCF أحد العوامل المُطبّقة على الحجم المُقدّر للبرنامج لمراعاة الجوانب التقنية للنظام. ويتم تحديده بتخصيص درجة تتراوح بين 0 (عامل غير ذي صلة) و5 (عامل أساسي) لكل عامل من العوامل التقنية الثلاثة عشر المذكورة في الجدول أدناه. ثم تُضرب هذه الدرجة بالقيمة المرجّحة المُحدّدة لكل عامل. ومجموع جميع القيم المحسوبة هو العامل التقني (TF). ويُستخدم العامل التقني (TF) لحساب عامل TCF باستخدام الصيغة التالية:

TCF = 0.6 + (TF/100)
عاملوصفوزن
T1النظام الموزع2.0
T2أهداف وقت الاستجابة/الأداء1.0
T3كفاءة المستخدم النهائي1.0
T4تعقيد المعالجة الداخلية1.0
T5إمكانية إعادة استخدام الكود1.0
T6سهل التركيب0.5
T7سهل الاستخدام0.5
T8إمكانية النقل إلى منصات أخرى2.0
T9صيانة النظام1.0
T10المعالجة المتزامنة/المتوازية1.0
T11ميزات الأمان1.0
T12إمكانية الوصول للأطراف الثالثة1.0
T13تدريب المستخدم النهائي1.0

عامل التعقيد البيئي (ECF)

يُعدّ عامل التأثير البيئي (ECF) عاملاً آخر يُطبّق على الحجم المُقدّر للبرنامج لمراعاة الاعتبارات البيئية للنظام. ويُحدّد هذا العامل بتخصيص درجة تتراوح بين 0 (بدون خبرة) و5 (خبير) لكل عامل من العوامل البيئية الثمانية المذكورة في الجدول أدناه. ثم تُضرب هذه الدرجة بالقيمة المرجّحة المُحدّدة لكل عامل. ومجموع جميع القيم المحسوبة هو عامل التأثير البيئي (EF). ويُستخدم عامل التأثير البيئي (EF) لحساب عامل التأثير البيئي (ECF) باستخدام الصيغة التالية:

ECF = 1.4 + (-0.03 x EF)
عاملوصفوزن
E1الإلمام بعملية التطوير المستخدمة1.5
E2خبرة في التطبيق0.5
E3خبرة الفريق في البرمجة الكائنية1.0
E4قدرات المحلل الرئيسي0.5
E5تحفيز الفريق1.0
E6استقرار المتطلبات2.0
E7موظفين بدوام جزئي-1.0
E8لغة برمجة صعبة-1.0

نقاط حالة الاستخدام (UCP)

وأخيرًا، يمكن حساب تكلفة الإنتاج غير المعدلة (UCP) بمجرد تحديد حجم المشروع غير المعدل (UUCW وUAW)، والعامل التقني (TCF)، والعامل البيئي (ECF). ويتم حساب تكلفة الإنتاج غير المعدلة (UCP) بناءً على الصيغة التالية:

UCP = (UUCW + UAW) × TCF × ECF

مثال

لتوضيح عملية حساب تكلفة الاستخدام الموحدة، سيتم استخدام نظام تسوق إلكتروني. يوضح الرسم البياني أدناه مخطط حالات الاستخدام للنظام المراد تطويره.

نموذج حالة استخدام نظام التسوق الإلكتروني

وزن حالة الاستخدام غير المعدل (UUCW)

لحساب تكلفة الاستخدام لكل حالة (UUCW)، يجب تحديد حالات الاستخدام وتحديد عدد المعاملات لكل حالة. يوضح مخطط حالات استخدام نظام التسوق الإلكتروني وجود تسع حالات استخدام للنظام. بافتراض أن حالتين من هذه الحالات بسيطتان، وثلاث حالات متوسطة، وأربع حالات معقدة، فإن حساب تكلفة الاستخدام لكل حالة يكون كما يلي:

UUCW = (إجمالي عدد حالات الاستخدام البسيطة × 5) + (إجمالي عدد حالات الاستخدام المتوسطة × 10) + (إجمالي عدد حالات الاستخدام المعقدة × 15)
بالنسبة لنظام التسوق الإلكتروني، فإن UUCW = (2 × 5) + (3 × 10) + (4 × 15) = 100
UUCW = 100

وزن الممثل غير المعدل (UAW)

لحساب UAW، يجب تحديد الجهات الفاعلة. يوضح مخطط حالات استخدام نظام التسوق الإلكتروني خمس جهات فاعلة؛ جهة واحدة بسيطة لنظام معالجة المدفوعات، وأربع جهات فاعلة معقدة لكل من مستخدمي النظام (أي عميل الإنترنت، ومسؤول التسويق، وموظف المستودع، ومدير المستودع). يتم حساب UAW كما يلي:

UAW = (إجمالي عدد الممثلين البسيطين × 1) + (إجمالي عدد الممثلين المتوسطين × 2) + (إجمالي عدد الممثلين المعقدين × 3)
بالنسبة لنظام التسوق الإلكتروني، فإن UAW = (1 × 1) + (0 × 2) + (4 × 3) = 13
UAW = 13

عامل التعقيد التقني (TCF)

لحساب عامل التكلفة التقنية (TCF)، تُخصص قيمة لكل عامل تقني بناءً على مدى أهميته للنظام قيد التطوير. يوضح الرسم البياني أدناه القيم المخصصة لنظام التسوق الإلكتروني. تُضرب هذه القيم بالقيم المرجحة لتحديد عامل التكلفة التقنية الإجمالي.

عاملوصفوزنالقيمة المخصصةالوزن × القيمة المخصصة
T1النظام الموزع2.0510
T2أهداف وقت الاستجابة/الأداء1.055
T3كفاءة المستخدم النهائي1.033
T4تعقيد المعالجة الداخلية1.022
T5إمكانية إعادة استخدام الكود1.033
T6سهل التركيب0.510.5
T7سهل الاستخدام0.552.5
T8إمكانية النقل إلى منصات أخرى2.024
T9صيانة النظام1.022
T10المعالجة المتزامنة/المتوازية1.033
T11ميزات الأمان1.055
T12إمكانية الوصول للأطراف الثالثة1.011
T13تدريب المستخدم النهائي1.011
المجموع الكلي (TF):42

بعد ذلك، يتم حساب TCF:

TCF = 0.6 + (TF/100)
بالنسبة لنظام التسوق الإلكتروني، فإن TCF = 0.6 + (42/100) = 1.02
TCF = 1.02

عامل التعقيد البيئي (ECF)

لحساب معامل التأثير البيئي (ECF)، تُخصص قيمة لكل عامل من العوامل البيئية بناءً على مستوى خبرة الفريق. يوضح الرسم البياني أدناه القيم المخصصة لنظام التسوق الإلكتروني. تُضرب هذه القيم بالقيم المرجحة، ومن ثم يُحدد إجمالي معامل التأثير البيئي.

عاملوصفوزنالقيمة المخصصةالوزن × القيمة المخصصة
E1الإلمام بعملية التطوير المستخدمة1.534.5
E2خبرة في التطبيق0.531.5
E3خبرة الفريق في البرمجة الكائنية1.022
E4قدرات المحلل الرئيسي0.552.5
E5تحفيز الفريق1.022
E6استقرار المتطلبات2.012
E7موظفين بدوام جزئي-1.000
E8لغة برمجة صعبة-1.04-4
المجموع (EF):10.5

بعد ذلك، يتم حساب ECF:

ECF = 1.4 + (-0.03 x EF)
بالنسبة لنظام التسوق الإلكتروني، فإن ECF = 1.4 + (-0.03 * 10.5) = 1.085
ECF = 1.085

نقاط حالة الاستخدام (UCP)

بمجرد تحديد وزن حالة الاستخدام غير المعدل (UUCW)، ووزن الجهة الفاعلة غير المعدل (UAW)، وعامل التعقيد التقني (TCF)، وعامل التعقيد البيئي (ECF)، يمكن حساب نقاط حالة الاستخدام (UCP) باستخدام الصيغة التالية:

UCP = (UUCW + UAW) × TCF × ECF
بالنسبة لنظام التسوق الإلكتروني، فإن UCP = (100 + 13) × 1.02 × 1.085 = 125.06
UCP = 125.06

بالنسبة لنظام التسوق عبر الإنترنت، يبلغ الحجم الإجمالي المقدر لتطوير البرنامج 125.06 نقطة حالة استخدام.

بعد تحديد حجم المشروع، يمكن تقدير إجمالي الجهد المطلوب لإنجازه. في مثال نظام التسوق الإلكتروني، سيتم استخدام 28 ساعة عمل لكل نقطة استخدام.

الجهد المُقدَّر = UCP × الساعات / UCP
بالنسبة لنظام التسوق الإلكتروني، الجهد المقدر = 125.06 × 28
الجهد المقدر = 3501  ساعة

مزيد من التطوير

من أبرز نقاط ضعف طريقة نقاط حالات الاستخدام أنها لم تخضع لمعايرة دقيقة باستخدام تحليل الانحدار ، وذلك لعدم كفاية عدد المشاريع إحصائيًا. علاوة على ذلك، لا يأخذ النموذج الخطي لمنهج كارنرز في الحسبان عدم وفورات الحجم التي تحدث في مشاريع تطوير البرمجيات. [ 4 ] مع ذلك، يوفر أسلوب تحديد الحجم وقواعد العد سهلة التطبيق العديد من المزايا للتقديرات في المراحل المبكرة، مما يسمح بالحصول سريعًا على مقياس الحجم الوظيفي (FSM، في هذه الحالة UUCW + UAW) لتطبيق أو منتج تقني. يمكن بعد ذلك دمج مقياس الحجم الوظيفي هذا مع نماذج تقدير مُثبتة إحصائيًا مثل COCOMO II للحصول على نتائج تقدير أكثر موثوقية. [ 4 ]

انظر أيضاً

مراجع

  1. مورالي شيموتوري ، أفضل الممارسات والأدوات والتقنيات لتقدير البرمجيات لمقدري مشاريع البرمجيات ، دار نشر جيه روس، 2009، ص 84-87
  2. دينيس، آلان ر.، باربرا هالي ويكسوم، وديفيد تيغاردن. تحليل وتصميم النظم باستخدام لغة النمذجة الموحدة (UML) الإصدار 2.0: منهج كائني التوجه، الطبعة الثالثة ، جون وايلي وأولاده، 2009، الفصل 5 - النمذجة الوظيفية
  3. دينيس، آلان ر.، باربرا هالي ويكسوم، وديفيد تيغاردن. تحليل وتصميم النظم باستخدام لغة النمذجة الموحدة (UML) الإصدار 2.0: منهج كائني التوجه، الطبعة الرابعة ، جون وايلي وأولاده، 2012، الفصل 2 - إدارة المشاريع
  4. 1 2 كارل فريدريش كريس، أوليفييه هومل، محمود الحق: منهج عملي لتقدير موثوق للجهد المبذول قبل بدء المشروع . في: وقائع ورشة عمل CEUR، المجلد 1138، ص 23، 2014