موضوع مقاله: استخراج نیازمندی‌ها | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # استخراج نیازمندی‌ها | مقدمه: استخراج نیازمندی‌ها به عنوان اولین گام از مهندسی نیازمندی‌ها به فرایند دریافت نیازمندی‌های یک سیستم نرم‌افزاری از ذینفعان سیستم بدون توجه به لزوم و امکان اجرای آن‌ها گفته می‌شود. | ## بخش 1: استخراج نیازمندی‌ها | استخراج نیازمندی‌ها در میان جامعه پژوهشگران و صنعتگران به عنوان یکی از فعالیت‌های حیاتی از فرایند مهندسی نیازمندی‌ها شناخته شده است. به عبارت دیگر به دست آوردن نیازمندی‌های صحیح و کامل یکی از مراحل حیاتی اما سخت از توسعه یک پروژه نرم‌افزاری به شمار می‌رود. این موضوع در تحقیق انجام شده توسط هافمن و لِنر بر روی 15 تیم مهندسی نیازمندی که با هدف شناسایی مهمترین و موثرترین تجربیات موجود که منجر به موفقیت یک پروژه می‌‌شود، انجام شد، به خوبی قابل لمس است. نتایج تحقیق حاکی از آن است که استخراج کارای نیازمندی‌ها در میان مهمترین تجربیات مفید شناسایی شده در حوزه مهندسی نیازمندی می‌باشد. فرایند استخراج نیازمندی استخراج نیازمندی‌ها به تنهایی یک فرایند پیچیده می‌باشد که خود شامل زیر فعالیت‌هایی است که برای انجام هر یک تکنیک‌های مختلفی وجود دارد. این پیچیدگی سبب شده تا بروز خطا در حین انجام آن به دلیل تاثیر پذیری از معضلات ارتباطی (نظیر ابهام) بیشتر شود. در واقعیت استخراج نیازمندی‌ها یک فرایند چند جنبه‌ای و تکراری است که تا حد زیادی وابسته به مهارت‌های ارتباطی مهندس نیازمندی و میزان همکاری ذینفعان سیستم است. | ## بخش 2: استخراج نیازمندی‌ها | یکی دیگر از مشکلاتی که پیشروی تیم توسعه سیستم است، موضوع توافق بر روی نیازمندی‌های استخراج شده است. بعبارتی ممکن است موضوعی که کاملا برای یک گروه از ذینفعان واضح است، برای گروهی دیگر مبهم و ناپذیرفتنی باشد . در واقعیت میزان بودجه و برنامه زمانی پروژه بر روی فرایند و نحوه انجام آن تاثیر بسزایی دارد. اصولا این فرایند در سطوح انتزاع بالا و با مشخص کردن اهداف، قابلیت‌ها و محدودیت‌های اصلی سیستم هدف و یا یک تعریف سطح بالا از مساله‌ای که باید حل شود، شروع می‌شود. این نیازمندی‌های استخراج شده اولیه به عنوان پایه‌ای برای استخراج نیازمندی‌های بیشتر در رویکردی تکراری یا افزایشی مورد استفاده قرار خواهند گرفت . در بیشتر موارد فرایند استخراج نیازمندی‌ها به صورت افزایشی در جلسه‌های مختلف، به صورت تکراری برای افزایش سطوح بیان جزئیات یا حداقل به صورت موازی با سایر فرایندهای توسعه، صورت می‌گیرد. در دنیای واقعی اتمام فرایند معمولا با توجه به محدودیت‌های بودجه‌ای و زمانی مشخص می‌شود. | ## بخش 3: استخراج نیازمندی‌ها | خروجی این فرایند یک مجموعه از نیازمندی‌های جزئی شده که در قالب مدل‌های تشریحی و یا تجویزی تهیه شده‌اند، می‌باشد . فرایند تبدیل لیست آرزوها به نیاز و در نهایت نیازمندی‌های ذینفعان و سیستم استخراج نیازمندی‌ها یک فعالیت جهت شناسایی نیازهای ذینفعان سیستم می‌باشد که لازم است طی یک فرایند مهندسی پالایش و در نتیجه‌ آن ساخت نیازمندی صورت پذیرد. برای پردازش نقشه راه ارائه شده با استفاده از مهندسی نیازمندی طی مدل شکل ذیل نیازمندی‌های مستخرجه تحت عنوان آرزو (wish) به نیازمندی قابل اندازه‌گیری در سیستم‌های محاسباتی تبدیل می‌گردند. در واقع وقتی این لیست آرزوها تحت فرایند مهندسی قرار می‌گیرد و هر یک از آرزوها معیارهای صلاحیت و عدم صلاحیت را برآورده می‌کند به فرم "نیاز" تبدیل می‌شوند. نیازها آن دسته از آرزوهای کاربران هستند که تحت فرایندهای مهندسی نیازمندی در قالب نیاز تهیه شده‌اند. برای تبدیل نیازها به نیازمندی‌های کاربر، بایستی تغییراتی بر روی این لیست نیازها در فرایند مهندسی نیازمندی‌ها صورت گیرد تا ساختار نیاز به ساختار نیازمندی تبدیل شود. سپس در فاز دامنه راه‌حل، ابتدا چگونگی برآورده شدن نیازمند‌ی‌های کاربر توسط سیستم مورد نظر و سپس چگونگی برآورده شدن نیازمندی‌های سیستم توسط یک طراحی خاص مورد توجه قرار می‌گیرد. | ## جمع‌بندی | بدین ترتیب کلیه نیازمندی‌های استخراج شده در طی این فاز به عنوان نیازمندی‌های سیستم در نظر گرفته می‌شوند .