استخراج نیازمندیها
استخراج نیازمندیها فعالیتی است برای کشف نیازها، اهداف و محدودیتهای ذینفعان که یک سیستم نرمافزاری باید آنها را برآورده کند. این نیازمندیها از افراد، اسناد و بستر عملیاتی استخراج میشوند.
Definition
استخراج نیازمندیها فرآیند جستجو، ثبت و یکپارچهسازی نیازمندیها از ذینفعان و سایر منابع است که هم نیازهای بیانشده و هم انتظارات ضمنی یا ناگفته را آشکار میکند.
Scope
این موضوع شامل تکنیکهای استخراج مانند مصاحبه، کارگاهها، پرسشنامهها، مشاهده و قومنگاری، نمونهسازی اولیه، تحلیل سناریو و مورد کاربرد، و مطالعه اسناد و دامنه میشود؛ همچنین شناسایی ذینفعان و دیدگاههای آنها؛ و چالشهای دانش ضمنی، منافع متضاد و ارتباطات بین رشتهای را پوشش میدهد.
Core questions
- ذینفعان چه کسانی هستند و دیدگاههای آنها چگونه شناسایی میشوند؟
- کدام تکنیکها نیازهای ضمنی و متضاد را بهتر آشکار میکنند؟
- بستر عملیاتی و دانش دامنه چگونه قابل ثبت هستند؟
- چگونه ابهام و سوءتفاهم در طول کشف به حداقل میرسند؟
Key theories
- استخراج چندتکنیکی
- هیچ تکنیک واحدی کافی نیست؛ مصاحبهها، مشاهده، نمونهسازی اولیه و تحلیل سناریو با توجه به در دسترس بودن ذینفعان، آشنایی با دامنه و ضمنی بودن دانش مورد نظر، ترکیب و انتخاب میشوند.
- تحلیل دیدگاه و ذینفعان
- نیازمندیها از دیدگاههای متعدد ذینفعان جمعآوری میشوند که سپس با یکدیگر تطبیق داده میشوند؛ مدلسازی صریح دیدگاهها تضادها و شکافهایی را آشکار میکند که یک دیدگاه واحد ممکن است از دست بدهد.
Clinical relevance
استخراج مؤثر تعیین میکند که آیا سیستم حاصل نیازهای واقعی را برطرف میکند یا خیر؛ استخراج ناقص یا مغرضانه یکی از دلایل اصلی شکست پروژه است، بنابراین انتخاب تکنیک و پوشش ذینفعان تصمیمات اولیه حیاتی هستند.
Evidence & guidelines
حوزه دانش نیازمندیهای نرمافزار SWEBOK و ISO/IEC/IEEE 29148 منابع و تکنیکهای استخراج را به عنوان بخشی از فرآیند نیازمندیها توصیف میکنند.
History
روشهای اولیه نیازمندیها عمدتاً بر مصاحبه و مطالعه اسناد متکی بودند؛ از دهه 1990، این حوزه گسترش یافت و شامل مشاهده قومنگاری، مدلسازی سناریو و هدف، و تکنیکهای مشارکتی شد، با این اذعان که بسیاری از دانشهای حیاتی ضمنی و از نظر اجتماعی موقعیتمند هستند.
Key figures
- Joseph Goguen
- Axel van Lamsweerde
- Ian Sommerville
Related topics
Seminal works
- vanlamsweerde2009
- goguen1993
- sommerville2015
Frequently asked questions
- چرا استخراج سختتر از صرفاً پرسیدن از کاربران است که چه میخواهند؟
- ذینفعان اغلب نمیتوانند نیازهای خود را به طور کامل بیان کنند، اهداف متضادی دارند، یا دانشی را که بدیهی میدانند حذف میکنند؛ استخراج باید این دانش ضمنی و مورد بحث را از طریق ترکیبی از تکنیکها به جای یک مصاحبه واحد آشکار کند.
- نقش نمونهسازی اولیه در استخراج چیست؟
- نمونههای اولیه به ذینفعان چیزی ملموس برای واکنش نشان دادن میدهند که سوءتفاهمها و انتظارات ناگفته را بسیار مؤثرتر از توضیحات انتزاعی آشکار میکند، که نمونهسازی اولیه را به یک تکنیک قدرتمند استخراج و همچنین اعتبارسنجی تبدیل میکند.