استخدم نقاط الحالة
نقاط حالات الاستخدام ( 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.0 | 5 | 10 |
| T2 | أهداف وقت الاستجابة/الأداء | 1.0 | 5 | 5 |
| T3 | كفاءة المستخدم النهائي | 1.0 | 3 | 3 |
| T4 | تعقيد المعالجة الداخلية | 1.0 | 2 | 2 |
| T5 | إمكانية إعادة استخدام الكود | 1.0 | 3 | 3 |
| T6 | سهل التركيب | 0.5 | 1 | 0.5 |
| T7 | سهل الاستخدام | 0.5 | 5 | 2.5 |
| T8 | إمكانية النقل إلى منصات أخرى | 2.0 | 2 | 4 |
| T9 | صيانة النظام | 1.0 | 2 | 2 |
| T10 | المعالجة المتزامنة/المتوازية | 1.0 | 3 | 3 |
| T11 | ميزات الأمان | 1.0 | 5 | 5 |
| T12 | إمكانية الوصول للأطراف الثالثة | 1.0 | 1 | 1 |
| T13 | تدريب المستخدم النهائي | 1.0 | 1 | 1 |
| المجموع الكلي (TF): | 42 | |||
بعد ذلك، يتم حساب TCF:
- TCF = 0.6 + (TF/100)
- بالنسبة لنظام التسوق الإلكتروني، فإن TCF = 0.6 + (42/100) = 1.02
- TCF = 1.02
عامل التعقيد البيئي (ECF)
لحساب معامل التأثير البيئي (ECF)، تُخصص قيمة لكل عامل من العوامل البيئية بناءً على مستوى خبرة الفريق. يوضح الرسم البياني أدناه القيم المخصصة لنظام التسوق الإلكتروني. تُضرب هذه القيم بالقيم المرجحة، ومن ثم يُحدد إجمالي معامل التأثير البيئي.
| عامل | وصف | وزن | القيمة المخصصة | الوزن × القيمة المخصصة |
|---|---|---|---|---|
| E1 | الإلمام بعملية التطوير المستخدمة | 1.5 | 3 | 4.5 |
| E2 | خبرة في التطبيق | 0.5 | 3 | 1.5 |
| E3 | خبرة الفريق في البرمجة الكائنية | 1.0 | 2 | 2 |
| E4 | قدرات المحلل الرئيسي | 0.5 | 5 | 2.5 |
| E5 | تحفيز الفريق | 1.0 | 2 | 2 |
| E6 | استقرار المتطلبات | 2.0 | 1 | 2 |
| E7 | موظفين بدوام جزئي | -1.0 | 0 | 0 |
| E8 | لغة برمجة صعبة | -1.0 | 4 | -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 ]
انظر أيضاً
مراجع
- ↑ مورالي شيموتوري ، أفضل الممارسات والأدوات والتقنيات لتقدير البرمجيات لمقدري مشاريع البرمجيات ، دار نشر جيه روس، 2009، ص 84-87
- ↑ دينيس، آلان ر.، باربرا هالي ويكسوم، وديفيد تيغاردن. تحليل وتصميم النظم باستخدام لغة النمذجة الموحدة (UML) الإصدار 2.0: منهج كائني التوجه، الطبعة الثالثة ، جون وايلي وأولاده، 2009، الفصل 5 - النمذجة الوظيفية
- ↑ دينيس، آلان ر.، باربرا هالي ويكسوم، وديفيد تيغاردن. تحليل وتصميم النظم باستخدام لغة النمذجة الموحدة (UML) الإصدار 2.0: منهج كائني التوجه، الطبعة الرابعة ، جون وايلي وأولاده، 2012، الفصل 2 - إدارة المشاريع
- 1 2 كارل فريدريش كريس، أوليفييه هومل، محمود الحق: منهج عملي لتقدير موثوق للجهد المبذول قبل بدء المشروع . في: وقائع ورشة عمل CEUR، المجلد 1138، ص 23، 2014
روابط خارجية
- مقاييس البرمجيات
- تكاليف هندسة البرمجيات
