متطلب وظيفي

في هندسة البرمجيات يعرف المتطلب الوظيفي وظيفة معينة لنظام برمجيات أو إحدى مكوناته. تعرف الوظيفة على أنها مجموعة من المدخلات + التصرف + المخرجات. يمكن أن يكون المتطلب الوظيفي عبارة عن حسابات أو تفاصيل تقنية أو معالجة بيانات أو أي أمر آخر يصف ماذا يفترض بالنظام أن ينجز.
بحسب التعريف الوارد في هندسة المتطلبات، على المتطلب الوظيفي أن يعرف نتائج معينة ومحددة للنظام. بعكس المتطلب اللاوظيفي (و تسمى أيضا متطلبات الجودة) والذي يهتم بتعريف صفات عامة للنظام كالوثوقية والتواجدية. المتطلبات الوظيفية تتحكم بالمعمارية التطبيقية للنظام بينما تتحكم المتطلبات اللاوظيفية بالمعمارية التقنية.

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

مراجع 

متطلبات البرمجيات
هندسة الأنظمة