ما هو المتطلبات الوظيفية في هندسة البرمجيات؟
⚡ ملخص ذكي
تصف المتطلبات الوظيفية كل خدمة يجب أن يقدمها نظام البرمجيات، وتلتقط المدخلات والسلوك والمخرجات بحيث يتشارك المطورون والمختبرون وأصحاب المصلحة في الأعمال تعريفًا واحدًا وقابلًا للتحقق لما يجب أن يفعله المنتج بالفعل.
ما هو المتطلبات الوظيفية؟
A متطلبات وظيفية المتطلبات الوظيفية (FR) هي وصف للخدمة التي يجب أن يقدمها البرنامج. وهي تصف نظامًا برمجيًا أو أحد مكوناته. تُعرَّف الوظيفة من خلال المدخلات والسلوك والمخرجات. ويمكن أن تكون عملية حسابية، أو معالجة بيانات، أو عملية تجارية، أو تفاعلًا مع المستخدم، وهو ما يحدد ما يجب على النظام القيام به. تُسمى المتطلبات الوظيفية في هندسة البرمجيات أيضًا خصائص التشغيل.
يتراوح المتطلب الوظيفي من حاجة أصحاب المصلحة على مستوى عالٍ إلى مواصفات رياضية مفصلة. البرامج الوظيفية تُحدد المتطلبات السلوك المقصود للنظام.
ما يجب تضمينه في وثيقة المتطلبات الوظيفية
فيما يلي ما يجب أن تتضمنه وثيقة المتطلبات الوظيفية:
مثال المتطلبات الوظيفية
تتضمن وثيقة المتطلبات الوظيفية عادةً ما يلي:
- تفاصيل العمليات التي تتم على كل شاشة
- منطق معالجة البيانات الذي يجب على النظام تطبيقه
- Descriptتقارير النظام والمخرجات الأخرى
- معلومات كاملة عن سير العمل الذي يقوم به النظام
- من يُسمح له بإنشاء البيانات أو تعديلها أو حذفها في النظام؟
- كيف يلبي النظام متطلبات الامتثال واللوائح المعمول بها
فوائد المتطلبات الوظيفية
تتمثل الفوائد الرئيسية لوثيقة متطلبات وظيفية مكتوبة بشكل جيد فيما يلي:
- يتحقق من أن التطبيق يقدم كل وظيفة تم تحديدها
- يحدد وظائف النظام وأنظمته الفرعية في مكان واحد
- بالإضافة إلى تحليل المتطلبات، تساعد المتطلبات الوظيفية في تحديد الاحتياجات المفقودة وتوضيح سلوك النظام المتوقع
- الأخطاء التي يتم اكتشافها في مرحلة تحديد المتطلبات هي الأقل تكلفة في الإصلاح.
- يدعم أهداف المستخدم ومهامه وأنشطته
أنواع المتطلبات الوظيفية
تشمل الفئات الشائعة للمتطلبات الوظيفية ما يلي:
- التعامل مع المعاملات
- قواعد العمل
- متطلبات إصدار الشهادات
- متطلبات تقديم التقارير
- الوظائف الإدارية
- مستويات الترخيص
- إفحص Tracking
- الواجهات الخارجية
- إدارة البيانات التاريخية
- المتطلبات القانونية والتنظيمية
أمثلة على المتطلبات الوظيفية
فيما يلي أمثلة عملية للمتطلبات الوظيفية:
- سيقوم البرنامج تلقائيًا بالتحقق من صحة بيانات العملاء مقابل نظام إدارة جهات الاتصال ABC.
- يجب أن يسمح نظام المبيعات للمستخدمين بتسجيل مبيعات العملاء.
- يجب أن يكون لون الخلفية لجميع النوافذ في التطبيق أزرق بقيمة RGB سداسية عشرية 0x0000FF.
- يحق للموظفين ذوي المناصب الإدارية فقط الاطلاع على بيانات الإيرادات.
- يجب أن يتكامل نظام البرمجيات مع واجهة برمجة التطبيقات المصرفية (API).
- يجب أن يفي نظام البرمجيات بالمعايير التالية قسم 508 متطلبات إمكانية الوصول.
المتطلبات الوظيفية مقابل المتطلبات غير الوظيفية
فيما يلي الاختلافات الرئيسية بين المتطلبات الوظيفية وغير الوظيفية في هندسة البرمجيات:
| المعاملات | متطلبات وظيفية | المتطلبات غير الوظيفية |
|---|---|---|
| ما هو عليه | الفعل | السمات |
| متطلبات | وهو إلزامي | إنها غير إلزامية |
| نوع الالتقاط | يتم التقاطه في حالة الاستخدام. | يتم التقاطها باعتبارها سمة الجودة. |
| النتيجة النهائية | ميزة المنتج | خصائص المنتج |
| اسر | من السهل التقاطها | من الصعب التقاطها |
| الهدف | يساعدك على التحقق من وظائف البرنامج. | يساعدك على التحقق من أداء البرنامج. |
| مجال التركيز | التركيز على متطلبات المستخدم | يركز على توقعات المستخدم. |
| توثيق | وصف ما يفعله المنتج | يصف كيفية عمل المنتج |
| نوع الاختبار | الاختبارات الوظيفية مثل النظام، والتكامل، والنهاية إلى النهاية، اختبار API، الخ. | الاختبارات غير الوظيفية مثل الأداء، والإجهاد، وسهولة الاستخدام، اختبار الأمن، الخ. |
| تنفيذ اختبار | يتم تنفيذ الاختبار قبل الاختبار غير الوظيفي. | بعد الاختبار الوظيفي |
| معلومات المنتج | ميزات المنتج | خصائص المنتج |
أفضل الممارسات لكتابة المتطلبات الوظيفية
أهم الممارسات المثلى لكتابة وثيقة المتطلبات الوظيفية هي:
- لا تجمع بين متطلبين في متطلب واحد؛ حافظ على كل متطلب مفصلاً.
- اجعل كل متطلباتك كاملة ودقيقة قدر الإمكان.
- قم بصياغة جميع المتطلبات الفنية في الوثيقة.
- قم بربط كل متطلب بالأهداف والمبادئ التي تدفع عملية تسليم البرمجيات بنجاح.
- استخلاص المتطلبات من خلال المقابلات وورش العمل والمحادثات غير الرسمية.
- قم بتوثيق كل قيد معروف وموثق يؤثر بشكل جوهري على أحد المتطلبات.
- سجل كل الافتراضات في المستند.
أخطاء شائعة عند كتابة المتطلبات الوظيفية
تشمل الأخطاء الشائعة التي تُرتكب أثناء إنشاء وثيقة المتطلبات الوظيفية ما يلي:
- إضافة معلومات إضافية غير مبررة تُربك المطورين
- إغفال التفاصيل التي يحتاجها المطورون لبناء الميزة.
- قواعد الخلط، أمثلة، scoping البيانات أو الأهداف في المتطلبات نفسها.
- حذف المعلومات الضرورية لتوضيح المتطلبات بشكل كامل ودقيق.
- الدفاع عن متطلب قائم عند ورود طلب تغيير، بدلاً من البحث عن الإجابة الصحيحة.
- كتابة متطلبات لا ترتبط بأي هدف أو مبدأ.


