مهندسی نیازمندیها(Requirements Engineering):
مهندسی نیازها مکانیزم مناسبی را برای درک خواستههای مشتری، تحلیل نیازها، تعیین امکانپذیر بودن اجرای پروژه، مذاکره در مورد راهحل قابل قبول، مشخص کردن راهحل به صورت غیرمبهم، اعتبارسنجی مشخصه محصول و مدیریت نیازها در ضمن تبدیل به یک سیستم عملیاتی فراهم میکند. بنابراین فرآیند مهندسی نیازها در 6 مرحله مشخص به صورت زیر انجام میگیرد:
-
استخراج نیازمندیها: نیازها از طریق مصاحبه با مشتری بهدست میآید ولی این کار به دلایل زیادی خیلی ساده نیست. برخی از آنها عبارتند از:
- مشکلات محدوده: مرز سیستم ضعیف تعریف میشود. مشتری و کاربران، با ابهام آمیز بیان کردن جزئیات باعث سردرگمی در کل اهداف سیستم میشوند.
مشکلات مفهومی: کاربران یا مشتری از آنچه که نیاز دارند، کاملا مطمئن نیستند و برای برقراری ارتباط با مهندس سیستم، در رابطه با بیان نیازها دچار مشکل هستند.
- مشکلات اعتبار:
- نکته: برای غلبه بر این مشکلات، مهندسین سیستم، باید فعالیت جمعآوری نیازها را به صورت سازمان یافته و منسجم انجام دهند.
- مذاکره و تحلیل نیازمندیها: زمانیکه نیازمندیها جمعآوری شدند، تجزیهوتحلیل برروی آنها انجام میشود. تحلیل، نیازمندی ها را در زیر دسته هایی خاص دسته بندی می کند، سپس
- تعریف و تدوین نیازمندیها: قالب استانداردی برای نمایش نیازمندیها ایجاد میشود که جامعیت(یکپارچگی) آنها را حفظ کند.
- مدلسازی سیستم: براساس تعریف ایجاد شده از سیستم، یک مدل از آن ساخته می شود.
- اعتبارسنجی نیازمندیها: نیازمندیها برای شناسایی ابهامات، مورد آزمایش و بررسی قرار میگیرند.
- مدیریت نیازمندیها:
هنگامی که نیازمندیها تعیین شدند، جدول ردیابی(Traceability Table) تشکیل میشود. این جدول هر کدام از نیازمندیهای تعریف شده را به یک یا چند جنبه از سیستم یا محیط ربط میدهد. شکل زیر یک نمونه از این جدول را نشان میدهد. به عنوان مثال، نیازمندی R01 با جنبههای A02 و A06 از محیط یا سیستم ارتباط دارد.