في هندسة النظموهندسة البرمجيات، تحليل المتطلبات يركز على المهام التي تحدد الاحتياجات أو الشروط اللازمة لتفيذ مشروع أو منتج جديد أو معدل مع الأخذ بالاعتبار المتطلبات المتعارضة للأطراف المعنية، وكذلك تحليل متطلبات النظام أو البرنامج وتوثيقها والتحقق منها وإدارتها.[2] تحليل المتطلبات مهم وأساسي لنجاح أو فشل مشروع النظام أو البرنامج.[3] يجب توثيق المتطلبات وأن تكون قابلة للتنفيذ والقياس والاختبار ومرتبطة باحتياجات المشروع وكذلك أن تكون مفصلة بالشكل الكافي لتصميم النظام.
نظرة عامة
بشكل عام، يشتمل تحليل المتطلبات على ثلاثة إجراءات:
استخلاص المتطلبات: تعريف المشروع، توثيق إجراءات العمل ومقابلات الأطراف المعنية. تسمى هذه المرحلة أيضا بمرحلة تجميع المتطلبات أو استكشاف المتطلبات.
تسجيل المتطلبات: تُوثق المتطلبات بأشكال متعددة، وتشمل عادة قائمة مختصرة وقد تشمل مستندات مكتوبة بلغة طبيعية، حالات استخدام، قصص المستخدم، توصيفات الإجراءات ونماذج متعددة بما فيها نماذج البيانات.
تحليل المتطلبات: تحدد إذا ما كانت المتطلبات المعنية واضحة، كاملة، واضحة، صالحة، متسقة (ليس فيها تعارضات) وغير مكررة أو مبهمة. كذلك يشمل حل أي تعارضات موجودة، وأيضا تحديد حجم المتطلبات.
تحديد المتطلبات قد يكون عملية طويلة، شاقة ومرهقة وتتطلب مهارات نفسية. تغير النظم الجديدة البيئة والعلاقات بين الناس، لذا من المهم تحديد جميع الأطراف المعنية والأخذ بالاعتبار جميع احتياجاتهم والتأكد من فهمهم لنتائج النظم الجديدة. محللو النظم يمكنهم توظيف أساليب متعددة لاستخلاص المتطلبات من العملاء قد تشمل تطوير سيناريوهات (تمثلها قصص المستخدم في الآجايل)، تحديد حالات استخدام، استخدام استراتيجيات الرصد والمشاهدة في بيئة العمل وكذلك الإثنوغرافيا، إجراء المقابلات، مجموعات التركيز (من الأكثر ملائمة في هذا السياق تسميتها بورش عمل المتطلبات أو جلسات مراجعة المتطلبات) وإنشاء قوائم المتطلبات. قد تستخدم النماذج المبدئية لتطوير نظام محاكي يتم عرضه على الأطراف المعنية. إذا تطلب الأمر، قد يقوم المحلل باستخدام مجموعة من هذه الطرق لتحديد متطلبات أصحاب الشأن بدقة كي يتم تطوير نظام يلبي احتياجات أعمالهم. يمكن تحسين جودة المتطلبات بالطرق التالية أو غيرها:
التصوير والمحاكاة باستخدام أدوات لتوفير فهم أفضل للمتطلبات.
الاستخدام الجيد للقوالب عبر إنشاء مجموعة من النماذج والقوالب لتوثيق المتطلبات.
توثيق التبعيات والعلاقات بين المتطلبات وكذلك الافتراضات والمجموعات.