نیازمندی نرم افزار
**نیازمندی‌های نرم‌افزار** یک رشته در مهندسی نرم‌افزار می‌باشد که به نیازهای ذینفعان که توسط نرم‌افزار باید حل شود، می‌پردازد. در واژه نامه استاندارد مهندسی نرم‌افزار IEEE استاندارد نیازمندی‌ها به صورت زیر تعریف می‌شود:

1. یک شرط یا قابلیت‌های مورد نیاز یک کاربر برای حل یک مشکل یا رسیدن به یک هدف.
2. یک شرط یا قابلیت را که باید رعایت شود یا توسط یک سیستم یا زیر سیستم برآورده شود تا یک قرارداد استاندارد، مشخصات یا دیگر اسناد رسمی را اقناع کند.
3. مستند که بیانگر یک شرط یا قابلیت به عنوان مورد ۱ یا ۲ باشد.

فعالیت‌های مربوط به کار با نیازمندی‌های نرم‌افزار می‌تواند به طور گسترده به مراحل استخراج و تحلیل مشخصات و مدیریت شکسته شود.

استخراج
-------

استخراج جمع‌آوری و کشف نیازهای ذینفعان و منابع دیگر می‌باشد.. انواع تکنیک می‌تواند مورد استفاده قرار گیرد مانند طراحی مشترک نرم‌افزار (JAD) جلسات و انجام مصاحبه و تجزیه و تحلیل سند، گروه تمرکز، استخراج اولین گام در توسعه است.

تجزیه و تحلیل
-------------

تجزیه و تحلیل یک تفکیک منطقی است که بر روی خروجی استخراج نیازمندی‌ها انجام می‌شود. تجزیه و تحلیل شامل رسیدن به درک غنی تر و دقیق تر هر یک از نیازمندی‌ها و بازنمایی از مجموعه‌ای از نیازمندی‌های مورد نیاز در دیدگاه‌های مختلف می‌باشد.

توصیف
-----

توصیف شامل بازنمایی و ذخیره‌سازی دانش نیازمندی‌های جمع آوی شده به صورت سازمان یافته، پایدار و خوش فرم می‌باشد. موارد استفاده کاربر، نیازمندی‌های عملکردی و تجزیه و تحلیل تصویری از مدل‌های محبوب در توصیف نیازندی‌ها می‌باشد.

اعتبار سنجی
-----------

اعتبار سنجی شامل تکنیک‌های است که صحت مجموعه‌ای از نیازمندی‌های مشخص شده برای ساخت یک راه حل که اهداف کسب و کار پروژه می‌انجامد را تأیید می‌کند.

مدیریت
------

نیازمندی‌ها در طول پروژه و اغلب بسیاری از آنها را تغییر می‌کنند. مدیریت این تغییربرای حصول اطمینان از صحت نرم‌افزار ساخته شده است برای ذینفعان اهمیت بسیاری دارد.

ابزار پشتیبانی از مهندسی نیازمندی‌ها
------------------------------------

ابزارهای تجاری تخصی برای مهندسی نیازمندی‌ها شامل 3SL Cradle, IRise, Gatherspace, Rational RequisitePro, Doors, CaliberRM or QFDCapture می‌باشد. ابزارهای رایگانی نظیر FreeMind، Reqchecker به همراه برنامه MS Office نیز می‌تواند مورد استفاده قرار گیرد.

جستارهای وابسته
---------------

* مهندسی نیازمندی‌ها
* توصیف نیازمندی‌های نرم‌افزار (SRS)

منابع
-----

1. ↑  IEEE Computer Society (1990). "IEEE Standard Glossary of Software Engineering Terminology". *IEEE Standard*. Archived from the original on 15 June 2018. Retrieved 11 January 2017.
2. ↑  "Guide to the Software Engineering Body of Knowledge". IEEE Computer Society. Archived from the original on 7 December 2014. Retrieved 11 January 2013.
3. ↑  Laplante, Phillip A. (2009). "Requirements Engineering for Software and Systems". CRC Press. `{{cite web}}`: `|access-date=` requires `|url=` (help); Missing or empty `|url=` (help)Missing or empty `|url=` (help); `|accessdate=` requires `|url=` (help)
4. ↑  Prause, Christian; et al. (2008). "Managing the Iterative Requirements Process in a Multi-National Project using an Issue Tracker" (PDF). IEEE Computer Society. Archived from the original (PDF) on 4 March 2016. Retrieved February 5, 2013.

جستارهای وابسته
---------------

* Wiegers, Karl (2002). *Software Requirements* (2nd ed.). Microsoft Press. ISBN 0-07-285059-0.
* Cockburn, Alistair (2001). *Writing Effective Use Cases*. Pearson Education. ISBN 0-201-70225-8.
* Leffingwell, Dean (2000). *Managing Software Requirements: A Unified Approach*. Addison-Wesley Professional. ISBN 0-201-61593-2.