# ما نقطة COSMIC الوظيفية، وبماذا تختلف عن تقدير الساعات؟

تقيس Mesterséges Intelligencia Központ Kft.، شركة تطوير البرمجيات في بودابست بالمجر، حجم البرمجيات بنقاط COSMIC الوظيفية: فيصبح الحجم بذلك خاصية للبرنامج، لا انطباعًا لدى المقدِّر، ولذلك يمكن التحقق منه وإعادة قياسه، ومقارنة عرضين على أساسه.

> **الخلاصة:** تقيس COSMIC (ISO/IEC 19761) الحجم الوظيفي للبرمجيات: كل حركة بيانات، سواء أكانت إدخالًا أم إخراجًا أم قراءة أم كتابة، تساوي نقطة COSMIC وظيفية واحدة (1 CFP). يخبر تقدير الساعات بمقدار العمل الذي يتوقعه المقدِّر؛ أما الحجم المقاس فيخبر بحجم المهمة. ولذلك يمكن التحقق منه وإعادة قياسه، ومقارنة عرضين على أساسه، ويمكن بعد ذلك استنتاج الجهد من الحجم ومن الإنتاجية المستمدة من التجربة.

## ما قياس الحجم الوظيفي؟

يمكن التعبير عن حجم البرمجيات بطرق كثيرة: بأسطر الشيفرة، أو بالساعات، أو بالنقاط. ويقيس قياسُ الحجم الوظيفي (functional size measurement، FSM) ما يجب أن يؤديه البرنامج من منظور مستخدميه، لا طريقة تنفيذه. وتحدّد مفاهيمَه الأساسية المواصفةُ القياسية [ISO/IEC 14143-1:2007](https://www.iso.org/standard/38931.html)؛ وبحسب وصف المواصفة، فإن الهدف تحديدًا أن يركّز القياس على الوظائف التي يطلبها المستخدم بدلًا من طريقة التنفيذ.

يقوم القياس على مجموعة المتطلبات الوظيفية للمستخدم (functional user requirements، FUR): أي ذلك الجزء من متطلبات المستخدم الذي يصف المهام والخدمات التي يجب أن يؤديها البرنامج. أما الأداء، والأمن، والتقنية المختارة، فلا تندرج هنا؛ ونكتب عنها أدناه، عند الحديث عن الحدود.

توجد عدة طرق معيارية لقياس الحجم الوظيفي. وأشهرها COSMIC ([ISO/IEC 19761:2011](https://www.iso.org/standard/54849.html)) وطريقة IFPUG ([ISO/IEC 20926:2009](https://www.iso.org/standard/51717.html))؛ كما اعتمدت ISO طرقًا أخرى مواصفاتٍ قياسية (NESMA، وFiSMA، وMk II). وكلها تنطلق من المتطلبات، لكن بقواعد مختلفة ووحدات قياس مختلفة، ولذلك لا يمكن المقارنة مباشرة بين الأرقام المقاسة بطرق مختلفة.

## ما COSMIC؟

اسم COSMIC اختصار لـCommon Software Measurement International Consortium: وهي منظمة غير ربحية ترعى الطريقة وتنظّم اعتماد القائمين بالقياس. نشأت الطريقة في أواخر التسعينيات تطويرًا لطرق نقاط الوظائف السابقة، وأصبحت مواصفة ISO قياسية في 2003، والإصدار الساري حاليًا هو ISO/IEC 19761:2011. ويمكن تنزيل الوصف التفصيلي للطريقة، أي الإصدار 5.0 من [COSMIC Measurement Manual](https://cosmic-sizing.org/measurement-manual/)، مجانًا؛ وقد صدر جزؤه الأول في 2021، وجزؤه الثاني في 2024.

وبحسب المواصفة، تصلح الطريقة لقياس البرمجيات التطبيقية (مثل أنظمة الأعمال)، والبرمجيات العاملة في الوقت الفعلي، والبرمجيات التي تجمع بين النوعين، أي إنه يمكن بها قياس نظام ERP أو CRM أو متجر إلكتروني، وكذلك برمجيات التحكم.

## مفاهيم نموذج COSMIC

يصف COSMIC البرنامج بنموذج بسيط: يتبادل البرنامج البيانات مع مستخدميه الوظيفيين عبر حدّه، ويقرأ داخل هذا الحد من التخزين الدائم ويكتب فيه.

| المفهوم | معناه | مثال |
|---|---|---|
| المستخدم الوظيفي | من يرسل بيانات إلى البرنامج أو ينتظر منه بيانات، إنسانًا كان أو برنامجًا آخر أو جهازًا | موظف المعاملات، ونظام الفوترة |
| الحدّ | واجهة افتراضية بين البرنامج المقاس ومستخدميه الوظيفيين | واجهة الويب والواجهة المفتوحة للأنظمة الأخرى |
| الحدث المُطلِق | حدث يبدأ المستخدم الوظيفي استجابةً له عملية ما | تقدُّم عميل جديد |
| العملية الوظيفية | وحدة أولية من المتطلبات قابلة للتنفيذ باستقلالية، وهي سلسلة مترابطة من حركات البيانات | «تسجيل عميل جديد» |
| مجموعة البيانات | مجموعة من عناصر البيانات تخص شيئًا واحدًا يجب على البرنامج معالجة بيانات عنه | العميل: الاسم، والعنوان، والرقم الضريبي، والبريد الإلكتروني |
| حركة البيانات | نقل مجموعة بيانات واحدة؛ ولها أربعة أنواع | انظروا أدناه |

حركات البيانات الأربع:

- **Entry (الإدخال):** تصل مجموعة بيانات من المستخدم الوظيفي عبر الحد إلى العملية.
- **Exit (الإخراج):** تخرج مجموعة بيانات من العملية عبر الحد إلى المستخدم الوظيفي.
- **Read (القراءة):** تقرأ العملية مجموعة بيانات من التخزين الدائم.
- **Write (الكتابة):** تكتب العملية مجموعة بيانات في التخزين الدائم؛ ويُحتسب الحذف أيضًا كتابة.

وهذه بعض قواعد القياس التي تحدّد العدّ:

- كل حركة بيانات تساوي 1 CFP. وحجم العملية الوظيفية هو مجموع حركات بياناتها، وحجم البرنامج هو مجموع أحجام عملياته.
- تتألف كل عملية وظيفية من حركتي بيانات على الأقل: إدخال مُطلِق، وإخراج أو كتابة واحدة على الأقل.
- داخل العملية الواحدة، لا يُحتسب نوع واحد من الحركة لمجموعة البيانات نفسها إلا مرة واحدة، مهما بلغ عدد الحقول فيها.
- تُحتسب جميع رسائل الخطأ والتأكيد في العملية معًا إخراجًا واحدًا.
- يتوقف الحجم على الأنواع لا على مرات الحدوث: فتسجيل عشرة عملاء يوميًا أو عشرة آلاف لا يغيّر الحجم.
- لا تقيس الطريقة معالجة البيانات (الحساب، والتحقق) بشكل منفصل: فهي جزء من حركة البيانات المعنية.

تقع النتيجة على مقياس نسبي (ratio scale)، أي إن الأحجام يمكن جمعها ومقارنتها: فجزءان حجم كلٍّ منهما 40 CFP يساويان معًا 80 CFP، ويمكن إظهار المجموع الجزئي لكل مجموعة وظائف أيضًا.

## مثال محلول: «تسجيل عميل جديد»

لنأخذ متطلبًا بسيطًا: «يسجّل موظف المعاملات بيانات العميل الجديد (الاسم، والعنوان، والرقم الضريبي، والبريد الإلكتروني). ويتحقق النظام من أن العميل غير مسجّل من قبل، ويحفظه، ويُبلغ بالنجاح أو بالخطأ.» خطوات القياس:

1. **المستخدم الوظيفي** هو موظف المعاملات، و**الحدث المُطلِق** هو تقدّم عميل جديد.
2. **مجموعة البيانات** هي العميل؛ فعناصر البيانات الأربعة تخص الشيء نفسه، ولذلك فهي مجموعة واحدة.
3. **حركات البيانات** نحدّدها من جمل المتطلب، ونعدّ كلًّا منها.

| الخطوة | حركة البيانات | مجموعة البيانات | الحجم |
|---|---|---|---|
| يرسل موظف المعاملات النموذج | Entry (الإدخال) | العميل | 1 CFP |
| يتحقق النظام مما إذا كان العميل موجودًا بالفعل | Read (القراءة) | العميل | 1 CFP |
| يحفظ النظام العميل الجديد | Write (الكتابة) | العميل | 1 CFP |
| الإبلاغ بالنجاح أو بأي خطأ | Exit (الإخراج) | رسالة الخطأ والتأكيد | 1 CFP |
| المجموع | أربع حركات بيانات | مجموعة بيانات واحدة | 4 CFP |

وعلى النحو نفسه يُبنى مثال «تسجيل موظف جديد» في الدليل المنشور على موقع COSMIC. وتظهر تغييرات المتطلب في الحجم على النحو التالي:

- إذا وجب على النظام أن يمرّر العميل الجديد إلى نظام الفوترة أيضًا، فهذا إخراج إضافي نحو مستخدم وظيفي آخر: 5 CFP.
- إذا وجب التحقق من الرمز البريدي من جدول للبلدات، فهذه قراءة إضافية، لأنها تخص مجموعة بيانات أخرى: 1 CFP إضافية.
- إذا طلب النموذج اثني عشر حقلًا عن العميل بدلًا من أربعة، فلا يتغير الحجم، لأن مجموعة البيانات هي نفسها.
- إذا وجب تعديل عملية قائمة، فحجم التغيير هو مجموع حركات البيانات المضافة والمعدّلة والمحذوفة.

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

## القياس مبكرًا، والتدقيق لاحقًا

يبدأ قياس COSMIC بتحديد غرض القياس ونطاقه: ما الذي نقيسه، وما الذي يدخل فيه، وفيمَ نستخدم النتيجة. ويحتاج القياس الدقيق إلى متطلبات مفصّلة بما يكفي لتحديد العمليات الوظيفية وحركات بياناتها. وكثيرًا ما لا تتوفر هذه في بداية المشروع؛ ولهذه الحالة توصي COSMIC بطرق تقريبية منشورة لتقدير الحجم مبكرًا، وبعد صياغة المتطلبات بالتفصيل يمكن أن يأتي القياس الدقيق.

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

## المقارنة: الساعات، ونقاط القصة، وIFPUG، وCOSMIC

| المعيار | تقدير الساعات | نقطة القصة (story point) | نقطة IFPUG الوظيفية | نقطة COSMIC الوظيفية |
|---|---|---|---|---|
| ما الذي تعبّر عنه | العمل الذي يتوقعه المقدِّر | التقدير النسبي للفريق؛ وليس واضحًا دائمًا أهو تقدير للحجم أم للجهد أم للوقت | الحجم الوظيفي | الحجم الوظيفي |
| هل هي معيارية | لا | لا | نعم، ISO/IEC 20926:2009 | نعم، ISO/IEC 19761:2011 |
| علامَ تتوقف | على خبرة المقدِّر وحذره وفريقه | على الفريق المعني؛ وتعني شيئًا مختلفًا من فريق إلى آخر | على المتطلبات | على المتطلبات |
| هل يمكن التحقق منها من الخارج | فقط بناءً على شرح المقدِّر | بالكاد خارج الفريق | نعم، وفق قواعد منشورة | نعم، وفق قواعد منشورة ومتاحة مجانًا |
| وحدة القياس | الساعة | النقطة الخاصة بالفريق | نقطة IFPUG الوظيفية | CFP، و1 CFP = حركة بيانات واحدة |
| أنسب استخدام لها | تخطيط المهام القصيرة والمعروفة جيدًا | تخطيط السبرنت (sprint) الخاص بالفريق | قياس الحجم، والمقارنة | قياس الحجم، والمقارنة، وأساسًا للعرض والجدول الزمني |

تقدير الساعات ليس أداة سيئة، لكنه يقيس شيئًا آخر: العمل المتوقع، الذي يتوقف إلى جانب حجم المهمة على معرفة الفريق وأدواته وحذره أيضًا. ونقاط القصة مفيدة للتخطيط داخل الفريق، لكنها بحسب الدليل المنشور على موقع COSMIC ذاتية، ويختلف معناها من فريق إلى آخر. أما IFPUG وCOSMIC فكلاهما حجم وظيفي معياري، لكن بقواعد مختلفة، ولذلك لا يمكن أن تحلّ أرقام إحدى الطريقتين محل أرقام الأخرى.

## لماذا يُعدّ الحجم المقاس أساسًا أكثر موثوقية؟

وللإجابة بدقة عن السؤال المطروح في العنوان: لا تقدّر COSMIC الساعات بدقة أكبر، بل تقيس حجم المهمة، ومن ذلك يصبح تقدير الجهد أكثر موثوقية. والأسباب:

- **تقيس المتطلب لا التنفيذ.** ينتج الحجم الوظيفي من المتطلبات وحدها، ولذلك فهو مستقل عن التقنية، وعن العملية، وعمّن يطوّر البرنامج.
- **يمكن إعادة القياس وفق قواعد منشورة.** القواعد علنية، ويجب توثيق نتيجة القياس، ولذلك يستطيع قائم آخر بالقياس التحقق منها انطلاقًا من المواصفات نفسها.
- **يُفصل الحجم عن الإنتاجية.** ينتج تقدير الجهد من الحجم ومن إنتاجية مستمدة من التجربة (الجهد = الحجم / الإنتاجية). وهكذا يتضح أيّ العاملين يتغير ولماذا.
- **يحسّن القياس المتطلبات.** بحسب دليل COSMIC، يساعد القياس المبكر على اكتشاف المتطلبات الملتبسة أو المتناقضة أو الناقصة.
- **قابلية المقارنة.** يحصل عرضان للمواصفات نفسها على الحجم نفسه، ولذلك تتعلق الأسعار بالنطاق نفسه.

ويستشهد دليل COSMIC بعدة دراسات كان فيها الحجم المقاس بـCFP أوثق ارتباطًا بالجهد الفعلي من التقدير المعبَّر عنه بنقاط القصة. وينبّه الدليل نفسه أيضًا إلى أن الجهد المقدَّر من الحجم يكون موثوقًا إذا كانت عملية التطوير قابلة للتكرار بدرجة كافية، وكان الحجم هو المحدد الأول للجهد. فالحجم المقاس إذن نقطة انطلاق أفضل، لكن التقدير الجيد يتطلب معرفة الإنتاجية أيضًا.

## ما الذي لا تقيسه COSMIC؟

يقيس حجم COSMIC الوظائف، ويصرّح وصف الطريقة بذلك علنًا. أما ما لا يعبّر عنه:

- **الخوارزميات المعقدة.** بحسب المواصفة، لم تُصمَّم الطريقة لقياس البرمجيات التي تتسم بخوارزميات رياضية معقدة أو بمنظومات قواعد خاصة (مثل الأنظمة الخبيرة، والمحاكاة، والبرمجيات ذاتية التعلّم، والتنبؤ بالطقس).
- **معالجة الإشارات المستمرة.** تقع معالجة الصوت والصورة، ومثلًا الأجزاء المماثلة من ألعاب الحاسوب، خارج نطاق المواصفة أيضًا.
- **المتطلبات غير الوظيفية الحقيقية.** بحسب الطريقة يجب تدوين القيود التقنية وقيود الأداء وقيود المشروع، لكننا لا نقيسها بـCFP.
- **العمل الإبداعي.** بحسب دليل COSMIC، لا تقع المهام الإبداعية البحتة، مثل الإبداع الفني، ضمن موضوع الطريقة؛ ولذلك لا يعبّر الحجم عن عمل الرسومات والتصميم المرئي المخصّص.
- **تنفيذ حزمة جاهزة.** إذا كانت تهيئة منتج جاهز تغطي معظم المتطلبات، فمن الأفضل تقدير الجهد بالطريقة المناسبة لتلك الحزمة.

ولذلك يُظهر العرض الجيد، إلى جانب الحجم المقاس، ما لا يعبّر عنه الحجم بشكل منفصل: التكاملات، والمتطلبات غير الوظيفية، والواجهة والرسومات المخصّصة، وتعدد المنصات، وترحيل البيانات، والحسابات المعقدة، والعمل في الوقت الفعلي. وهكذا تظهر هذه البنود في عروضنا، ونكتب عن ذلك في صفحة [التسعير](https://www.mestersegesintelligenciakozpont.hu/ar/pricing).

## كيف نستخدمها في عملنا؟

نقيس الحجم الوظيفي للتطوير بنقاط COSMIC الوظيفية. وقد بنينا للقياس مسار عمل خاصًا بنا مدعومًا بالذكاء الاصطناعي، ويتحقق إنسان من النتيجة في جولة مراجعة. والخطوات:

1. **مواصفات بندًا بندًا:** نقسّم التطوير إلى مجموعات وظائف، ونصف كلًّا منها بالقالب نفسه: الهدف، والجهات الفاعلة، والبيانات، والوظائف، ووظائف الذكاء الاصطناعي، وما لا يدخل ضمنه (انظروا: [كيف نعمل](https://www.mestersegesintelligenciakozpont.hu/ar/how-we-work)).
2. **عدة عمليات عدّ مستقلة:** تَعُدّ عدة نماذج لغوية كل مجموعة وظائف عدة مرات؛ ويُظهر تشتّت نتائج العدّ درجة عدم اليقين.
3. **جولة تنسيق:** تضمن أن تُحتسب كل عملية وظيفية مرة واحدة بالضبط، حتى إن وردت في عدة أوصاف.
4. **المراجعة:** نراجع القياس، ونوضّح النقاط غير المؤكدة، ونتجاوز يدويًا، عند الحاجة، عمليات الدمج الآلية.
5. **التثبيت:** يمكن تثبيت القياس المكتمل نسخةً غير قابلة للتغيير، وتصبح هذه النسخة أساس العقد.

وعند تطوير نظام قائم، نصف الجزء القائم بشكل منفصل، فلا يدخل في الحجم إلا الجزء الجديد. ويشير القياس أيضًا إلى ما لا يعبّر عنه الحجم الوظيفي.

## كيف يصبح الحجم عرضًا وجدولًا زمنيًا؟

ينتج سعر العرض عن الحجم المقاس، مضافًا إليه البنود التي لا يعبّر عنها الحجم. ولأننا نرى الحجم لكل مجموعة وظائف أيضًا، نبني عليه الجدول الزمني كذلك: ترتيب المراحل، ومحتوى العروض التوضيحية، والمواعيد النهائية. وإذا نشأت حاجة جديدة أثناء العمل، نقيسها بالطريقة نفسها، فيظهر مقدار تغيّر النطاق، وما يعنيه ذلك بالنسبة إلى السعر والجدول الزمني. ولذلك لا نعطي سعرًا محددًا وموعدًا نهائيًا إلا بعد القياس، لا بناءً على محادثة أولى.

## مقارنة عرضين على أساس الحجم

إذا طلبتم عروضًا من عدة مطوّرين، يساعد الحجم على الحكم بما إذا كانت العروض قد قُدّمت للمهمة نفسها. ومن المفيد اتباع الخطوات التالية:

1. **المواصفات نفسها:** يتلقى كل مقدّم عرض الوصف المفصّل نفسه بندًا بندًا.
2. **الحجم وقائمة العمليات:** اطلبوا معرفة الحجم والعمليات الوظيفية التي حُدِّد السعر على أساسها.
3. **أسباب الاختلافات:** إذا اختلف عرضان، فتحقّقوا مما إذا كان الاختلاف في الحجم، أم في البنود التي لا يعبّر عنها الحجم، أم في السعر لكل وحدة حجم.
4. **البنود المنفصلة:** اسألوا عمّا يرد في سطر منفصل (التكامل، وترحيل البيانات، والتشغيل)، وعمّا لا يشمله السعر.
5. **إدارة التغييرات:** اسألوا كيف تُقاس التغييرات التي تطرأ أثناء العمل وكيف تُسعَّر.

وإذا كان أحد مقدّمي العروض لا يقيس الحجم الوظيفي، فيمكن مع ذلك مقارنة عرضه إذا كان قد سعّر قائمة العمليات المفصّلة نفسها. ونكتب عن سائر معايير اختيار المطوّر في مقال [كيف نختار شركة لتطوير البرمجيات؟](https://www.mestersegesintelligenciakozpont.hu/ar/knowledge-base/how-to-choose-a-software-development-company)؛ أما ما إذا كانت هناك حاجة إلى تطوير مخصّص أصلًا، فيساعد على تحديده مقال [برمجيات مخصّصة أم حل جاهز (SaaS)؟](https://www.mestersegesintelligenciakozpont.hu/ar/knowledge-base/custom-software-vs-off-the-shelf).

## الأسئلة الشائعة

### ما نقطة COSMIC الوظيفية؟

نقطة COSMIC الوظيفية (CFP) هي وحدة قياس الحجم الوظيفي للبرمجيات وفق المواصفة ISO/IEC 19761. وCFP واحدة تساوي حركة بيانات واحدة: إدخال مجموعة بيانات، أو إخراجها، أو قراءتها، أو كتابتها في عملية وظيفية. وحجم البرنامج هو مجموع حركات البيانات في عملياته.

### بماذا تختلف عن تقدير الساعات؟

يحدّد تقدير الساعات العمل المتوقع، ويتوقف على المقدِّر والفريق. أما COSMIC فتقيس حجم المهمة من المتطلبات، بقواعد علنية، ولذلك يمكن لشخص آخر أن يصل إلى النتيجة نفسها انطلاقًا من المواصفات نفسها. ثم يمكن استنتاج الساعات من الحجم ومن الإنتاجية المستمدة من التجربة.

### ما الذي لا تقيسه COSMIC؟

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

### مَن يجري القياس، وهل يمكن التحقق منه؟

يجري القياسَ مختصٌّ يعرف الطريقة؛ ولدينا يتولى العدَّ مسارُ عمل مدعوم بالذكاء الاصطناعي، ويراجع إنسانٌ النتيجة. والقواعد علنية، والقياس موثّق لكل عملية، ولذلك يستطيع مختص آخر يعرف الطريقة التحقق منه انطلاقًا من المواصفات نفسها.

### كيف يصبح الحجم عرضًا؟

ينتج السعر عن الحجم المقاس، مضافًا إليه ما لا يعبّر عنه الحجم: التكاملات، والمتطلبات غير الوظيفية، والرسومات المخصّصة، وتعدد المنصات، وترحيل البيانات. ويُبنى الجدول الزمني على الحجم لكل مجموعة وظائف، ونقيس التغييرات بالطريقة نفسها. والتفاصيل في صفحة [التسعير](https://www.mestersegesintelligenciakozpont.hu/ar/pricing).

## كيف نساعدكم؟

إذا كنتم تخطّطون لـ[برمجيات مخصّصة](https://www.mestersegesintelligenciakozpont.hu/ar/services/custom-software-development)، نكتب معًا المواصفات المفصّلة بندًا بندًا، ونقيس حجمها بنقاط COSMIC الوظيفية، ومنه نُعدّ العرض والجدول الزمني. ونوقّع عند الطلب اتفاقية عدم إفصاح (NDA)، وبعد التسليم نتولى التشغيل والصيانة أيضًا. وتخضع الشيفرة المصدرية وحقوق الاستخدام لأحكام العقد. الاستشارة الأولى مجانية: اكتبوا لنا عبر بيانات التواصل الواردة في صفحة [التواصل](https://www.mestersegesintelligenciakozpont.hu/ar/contact).

## المصادر

- [COSMIC Measurement Manual v5.0, Part 1: Principles, Definitions and Rules (PDF)](https://cosmic-sizing.org/wp-content/uploads/2020/06/Part-1-MM-Principles-Definitions-Rules-v5.0-Aug-2021.pdf)
- [COSMIC Measurement Manual v5.0, Part 2: Guidelines (PDF)](https://cosmic-sizing.org/wp-content/uploads/2024/09/Part-2-MM-Guidelines-v5.0-Sep-2024.pdf)
- [COSMIC: A Guide to Software Size Measurement (PDF)](https://cosmic-sizing.org/wp-content/uploads/2020/08/Measuring-software-size-v1.0-August-2020-1.pdf)
- [COSMIC Measurement Manual: التنزيلات](https://cosmic-sizing.org/measurement-manual/)
- [ISO: ISO/IEC 19761:2011, COSMIC: a functional size measurement method](https://www.iso.org/standard/54849.html)
- [ISO: ISO/IEC 14143-1:2007 (Functional size measurement, Part 1: Definition of concepts)](https://www.iso.org/standard/38931.html)
- [ISO: ISO/IEC 20926:2009, IFPUG functional size measurement method](https://www.iso.org/standard/51717.html)
