المتطلبات الوظيفية وغير الوظيفية functional and non-functional requirements
جدول المحتويات
المتطلبات الوظيفية وغير الوظيفية (functional and non-functional requirements) ، ما هي المتطلبات الوظيفية وما هي ميزاتها؟ وما هي المتطلبات غير الوظيفية وميزاتها؟
ماهي المتطلبات الوظيفية وغير الوظيفية
إن الهدف النهائي لأي مشروع هو تقديم منتج عالي الجودة تماماً كما يطلبه العميل. ولكل مشروع متطلبات.
تقسم هذه المتطلبات إلى قسمين :
المتطلبات الوظيفية
هي الطريقة التي يقوم بها العميل بإيصال متطلباته إلى فريق المشروع. تساعد المتطلبات الوظيفية على إبقاء فريق المشروع يسير في الاتجاه الصحيح.
المتطلبات غير الوظيفية
المتطلبات غير الوظيفية، تؤدي إلى نطاق عمل غير محدد بشكل جيد مما يخلق الكثير من التحديات عند بداية أي مشروع.
النطاق غير المحدد (غير محدد الأهداف والأشكال والمتطلبات) بشكل جيد يؤدي إلى تمديد الجدول وزيادة التكلفة.
قد لا يكون لدى العميل الوقت والمال للاستثمار، لذلك ممكن أن يقبل منتجاً بجودة منخفضة.
عادةً ما يكون للعميل احتياجات ورغبات. بعد رؤية تقدير التكلفة قد يطلبون تقليل النطاق وحجم العمل.
عادةً ما يؤدي إزالة بعض المتطلبات غير الوظيفية إلى تقليل النطاق. يمكن أن تؤدي الكثير من المتطلبات غير الوظيفية إلى زيادة التكلفة بسرعة، بينما قد تؤدي المتطلبات غير الوظيفية غير الكافية إلى تجربة مستخدم سيئة.
ماذا تساعد المتطلبات الوظيفية وغير الوظيفية
إن فهم الفرق بين المتطلبات الوظيفية وغير الوظيفية (functional and non-functional requirements) سيساعد كل من العميل ومورد تكنولوجيا المعلومات حيث سيتمكنون من فهم متطلباتهم بوضوح.
هذا يؤدي إلى تحسين النطاق والتكلفة المثلى وأخيراً عميل جيد.
إذا كان هناك شيء واحد يجب أن يمتلكه أي مشروع من أجل منع الفشل، فهو عبارة عن مجموعة معقولة وشاملة من المتطلبات الوظيفية وغير الوظيفية.
يجب أن تكون متطلبات أي مشروع مدروسة جيداً ومتوازنة ومفهومة بوضوح من قبل جميع المشاركين، ولكن ربما يكون الأهم من ذلك هو عدم إلغائها أو المساومة عليها في منتصف الطريق خلال المشروع.
إن التعريف الرسمي لـ (المتطلب الوظيفي)، هو أنه يحدد بشكل أساسي شيئاً يجب على النظام القيام به.
عادةً ما تحدد المتطلبات الوظيفية سلوكاً أو وظيفة ما.
اقرأ أيضاً: 5 طرق تساعدك على زيادة المبيعات وكسب زبائن منافسيك الكبار
ما هي المتطلبات الوظيفية (Functional Requirements)؟
تعريف المتطلب الوظيفي هو: “أي مطلب يحدد ما يجب أن يفعله النظام”.
بمعنى آخر، سيصف أحد المتطلبات الوظيفية سلوكاً معيناً لوظيفة النظام عند استيفاء شروط معينة.
على سبيل المثال: عندما يقوم زائر ما على موقعك بملئ استمارة معينة، على النظام إن يقوم بإرسال بريد إلكتروني لتأكيد العملية.
أهم أنواع المتطلبات الوظيفية:
- قواعد الاعمال (Business Rules).
- تصحيحات المعاملات وتعديلاتها وإلغائها (Transaction corrections).
- الوظائف الإدارية (Administrative functions).
- المصادقة (Authentication).
- مستويات التفويض (Authorization levels).
- تتبع التدقيق (Audit Tracking).
- واجهات خارجية (External Interfaces).
- متطلبات الحصول على الشهادة (Certification Requirements).
- متطلبات تقديم التقارير (Reporting Requirements).
- البيانات التاريخية (Historical Data).
- المتطلبات القانونية أو التنظيمية (Regulatory Requirements).
ماذا عن المتطلبات غير الوظيفية؟
ببساطة، الفرق هو أن المتطلبات غير الوظيفية تصف كيفية عمل النظام، بينما تصف المتطلبات الوظيفية ما يجب أن يفعله النظام.
تعريف المتطلب غير الوظيفي هو أنه يحدد بشكل أساسي كيف يجب أن يتصرف النظام وأنه قيد على سلوك الأنظمة. يمكن للمرء أيضًا التفكير في المتطلبات غير الوظيفية كسمات جودة للنظام.
اقرأ ايضاً: مفهوم ريادة الاعمال من شاب حصد 170 مليون دولار في 3 سنوات
ما هي المتطلبات غير الوظيفية (non-functional requirements)؟
تعريف المتطلب غير الوظيفي هو: “أي شرط يحدد كيفية قيام النظام بوظيفة معينة.”
بمعنى آخر، سيصف المتطلب غير الوظيفي كيف يجب أن يتصرف النظام وما هي القيود المفروضة على وظائفه.
تغطي المتطلبات غير الوظيفية جميع المتطلبات المتبقية التي لا تغطيها المتطلبات الوظيفية.
هي تحدد المعايير التي تحكم تشغيل النظام، بدلاً من السلوكيات المحددة.
إذا كانت وظيفة المنتج لا تعتمد على المتطلبات غير الوظيفية فلماذا هي مهمة؟
الجواب في سهولة الاستخدام.
تؤثر المتطلبات غير الوظيفية على تجربة المستخدم لأنها تحدد سلوك النظام وميزاته وخصائصه العامة.
ستساعد المتطلبات غير الوظيفية عند تحديدها وتنفيذها بشكل جيد على تسهيل استخدام النظام وتحسين الأداء.
تركز المتطلبات غير الوظيفية على توقعات المستخدم، لأنها خصائص المنتج.
مثال:
- يقوم النظام بتحميل صفحة ويب عندما ينقر شخص ما على زر.
- تحدد المتطلبات غير الوظيفية ذات الصلة مدى سرعة تحميل صفحة الويب.
- سيؤدي التأخير في التحميل إلى إنشاء تجربة سلبية للمستخدم وضعف جودة النظام على الرغم من تلبية المتطلبات الوظيفية بالكامل.
أهم أنواع المتطلبات غير الوظيفية:
- الأداء – على سبيل المثال وقت الاستجابة، الإنتاجية، الاستخدام.
- قابلية التوسع.
- السعة.
- الموثوقية.
- قابلية الصيانة.
- القابلية للخدمة.
- الأمان.
- التنظيم.
- سهولة الإدارة.
- تكامل البيانات.
- سهولة الاستخدام.
- التوافقية.
الفرق الأساسي بين functional and non-functional requirements
- يحدد المتطلب الوظيفي النظام أو مكونه بينما يحدد المتطلب غير الوظيفي سمة الأداء لنظام البرنامج.
- تساعد المتطلبات الوظيفية جنبًا إلى جنب مع تحليل المتطلبات في تحديد المتطلبات المفقودة بينما ميزة المتطلبات غير الوظيفية هي أنها تساعدك على ضمان تجربة مستخدم جيدة وسهولة تشغيل البرنامج.
- المتطلبات الوظيفية هي فعل بينما المتطلبات غير الوظيفية هي سمة.
تبقى المتطلبات الوظيفية وغير الوظيفية (functional and non-functional requirements) متطلين أساسيين لا يمكن الإستغناء عنهما لأي مشروع ناجح
اقرأ أيضاً: كيف يتم ابتكار التكنلوجيا؟