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

ما هو المتطلبات الوظيفية؟
في هندسة البرمجيات ، أ متطلبات وظيفية يحدد النظام أو مكونه. وهو يصف الوظائف التي يجب أن يؤديها البرنامج. الوظيفة ليست سوى مدخلات وسلوكها ومخرجاتها. يمكن أن تكون عملية حسابية، أو معالجة البيانات، أو العمليات التجارية، أو تفاعل المستخدم، أو أي وظيفة محددة أخرى تحدد الوظيفة التي من المحتمل أن يؤديها النظام.
المتطلبات الوظيفية في هندسة البرمجيات تساعدك على التقاط السلوك المقصود للنظام. يمكن التعبير عن هذا السلوك كوظائف أو خدمات أو مهام أو النظام المطلوب القيام به.
ما هي المتطلبات غير الوظيفية؟
A متطلبات غير وظيفية تحدد سمة الجودة لنظام برمجي. وهي تمثل مجموعة من المعايير المستخدمة للحكم على التشغيل المحدد للنظام. على سبيل المثال، ما مدى سرعة تحميل موقع الويب؟
يعد المتطلب غير الوظيفي ضروريًا لضمان سهولة الاستخدام وفعالية نظام البرنامج بأكمله. يمكن أن يؤدي الفشل في تلبية المتطلبات غير الوظيفية إلى فشل الأنظمة في تلبية احتياجات المستخدم.
تتيح لك المتطلبات غير الوظيفية فرض قيود أو حدود على تصميم النظام عبر تراكمات Agile المتنوعة. على سبيل المثال، يجب أن يتم تحميل الموقع في 3 ثوانٍ عندما يكون عدد المستخدمين المتزامنين > 10000. Descriptإن تحديد المتطلبات غير الوظيفية لا يقل أهمية عن المتطلبات الوظيفية.
مثال على المتطلبات الوظيفية
فيما يلي بعض الأمثلة على المتطلبات الوظيفية في هندسة البرمجيات:
- يقوم البرنامج تلقائيًا بالتحقق من صحة العملاء مقابل نظام إدارة جهات الاتصال ABC
- يجب أن يسمح نظام المبيعات للمستخدمين بتسجيل مبيعات العملاء
- سيكون لون الخلفية لجميع النوافذ في التطبيق أزرقًا وله قيمة لون RGB سداسية عشرية 0x0000FF.
- يحق للموظفين على المستوى الإداري فقط عرض بيانات الإيرادات.
- يجب أن يكون نظام البرمجيات متكاملاً مع واجهة برمجة التطبيقات المصرفية
- يجب أن يمر نظام البرمجيات قسم 508 متطلبات إمكانية الوصول.
أمثلة على المتطلبات غير الوظيفية
فيما يلي بعض الأمثلة على المتطلبات غير الوظيفية في هندسة البرمجيات:
- يجب على المستخدمين تغيير كلمة مرور تسجيل الدخول المعينة في البداية فورًا بعد أول تسجيل دخول ناجح. علاوة على ذلك، لا ينبغي أبدًا إعادة استخدام الحرف الأول.
- لا يُسمح للموظفين مطلقًا بتحديث معلومات رواتبهم. وينبغي الإبلاغ عن مثل هذه المحاولة إلى مسؤول الأمن.
- يجب تسجيل كل محاولة غير ناجحة من قبل المستخدم للوصول إلى عنصر من البيانات في مسار التدقيق.
- يجب أن يكون موقع الويب قادرًا بما يكفي للتعامل مع 20 مليون مستخدم مما يؤثر على أدائه
- يجب أن يكون البرنامج محمولاً. لذا فإن الانتقال من نظام تشغيل إلى نظام تشغيل آخر لا يخلق أي مشكلة.
- يجب مراجعة خصوصية المعلومات وتصدير التقنيات المقيدة وحقوق الملكية الفكرية وما إلى ذلك.
الفرق بين المتطلبات الوظيفية وغير الوظيفية
فيما يلي الفرق الرئيسي بين المتطلبات الوظيفية وغير الوظيفية في هندسة البرمجيات:
المعلمات | متطلبات وظيفية | المتطلبات غير الوظيفية |
---|---|---|
ما هو عليه | الفعل | السمات |
متطلبات | وهو إلزامي | إنها غير إلزامية |
نوع الالتقاط | يتم التقاطه في حالة الاستخدام. | يتم التقاطها باعتبارها سمة الجودة. |
النتيجة النهائية | ميزة المنتج | خصائص المنتج |
اسر | من السهل التقاطها | من الصعب التقاطها |
الهدف | يساعدك على التحقق من وظائف البرنامج. | يساعدك على التحقق من أداء البرنامج. |
مجال التركيز | التركيز على متطلبات المستخدم | يركز على توقعات المستخدم. |
توثيق | وصف ما يفعله المنتج | يصف كيفية عمل المنتج |
نوع الاختبار | الاختبارات الوظيفية مثل النظام، والتكامل، والنهاية إلى النهاية، اختبار API، الخ. | الاختبارات غير الوظيفية مثل الأداء، والإجهاد، وسهولة الاستخدام، اختبار الأمن، الخ. |
تنفيذ اختبار | يتم تنفيذ الاختبار قبل الاختبار غير الوظيفي. | بعد الاختبار الوظيفي |
معلومات المنتج | ميزات المنتج | خصائص المنتج |
مزايا المتطلبات الوظيفية
فيما يلي إيجابيات/مزايا إنشاء مستند متطلبات وظيفية نموذجية-
- يساعدك على التحقق مما إذا كان التطبيق يوفر جميع الوظائف المذكورة في المتطلبات الوظيفية لهذا التطبيق
- تساعدك وثيقة المتطلبات الوظيفية على تحديد وظيفة النظام أو أحد أنظمته الفرعية.
- تساعد المتطلبات الوظيفية جنبًا إلى جنب مع تحليل المتطلبات في تحديد المتطلبات المفقودة. فهي تساعد في تحديد خدمة النظام وسلوكه المتوقعين بوضوح.
- الأخطاء التي تم اكتشافها في مرحلة تجميع المتطلبات الوظيفية هي الأقل تكلفة لإصلاحها.
- دعم أهداف المستخدم أو المهام أو الأنشطة لإدارة المشروع بسهولة
- يمكن التعبير عن المتطلبات الوظيفية في نموذج حالة الاستخدام أو قصة المستخدم لأنها تظهر سلوكًا وظيفيًا مرئيًا خارجيًا.
مزايا المتطلبات غير الوظيفية
فوائد/إيجابيات الاختبار غير الوظيفي في هندسة البرمجيات هي:
- تضمن المتطلبات غير الوظيفية أن يتبع نظام البرنامج القواعد القانونية وقواعد الامتثال.
- أنها تضمن موثوقية وتوافر وأداء نظام البرمجيات
- إنها تضمن تجربة جيدة للمستخدم وسهولة تشغيل البرنامج.
- أنها تساعد في صياغة السياسة الأمنية لنظام البرمجيات.