اهمیت زیاد نیازمندیها از این گفته بروکس [Brooks & Fred P, 1986] کاملاً مشهود است: «سختترین بخش از سیستم نرم افزاری تصمیم گیری دقیق در مورد چیزی است که باید ساخته شود. هیچ بخش دیگری از کار به دشواری ایجاد نیازمندیهای با جزئیات تکنیکی که شامل تمام واسطها با افراد، ماشین و سایر سیستمهای نرمافزاری باشد نیست. هیچ بخشی از کار اگر درست انجام نشود به اندازه این بخش سیستم حاصل را فلج نمیکند. تصحیح بعدی هیچ بخش از کار، دشوارتر از این مرحله نیست.» به عبارتی استخراج، تحلیل و خوب نوشتن نیازمندیها دشوارترین بخش از مهندسی نرمافزار است.
نیازمندیها باید توسط مشتریان، کاربران و کارپردازان و در کل ذینفعان یک محصول نرمافزاری و قبل از ایجاد نرمافزار تعیین شده و بر روی آنها توافق حاصل شود. نیازمندیها بیان میکنند که نرم افزار باید چه چیزی را و چگونه انجام دهد تا برای ذینفعان ارزش داشته باشد. چه چیز بودن نرمافزار نیازمندیهای کارکردی را بیان میکند که همان قابلیتهای نرم افزار هستند و چگونگی آن نیز نیازمندیهای غیرکارکردی را مطرح می کند که ویژگیها، خصوصیات و کیفیت محصول نرم افزاری را نشان می دهد. در حقیقت تعیین میکند که محصول نرم افزاری چقدر خوب کار خود را انجام میدهد و چه محدودیتهایی بر روی انتخابهای توسعه دهندگان در زمان طراحی و پیاده سازی نرمافزار وجود دارد. تعاریف واسطه ای خارجی و سایر قیدها این محدودیتها را نشان میدهند.....
- فهرست مطالب پروپوزال کارشناسی ارشد مهندسی کامپیوتر گرایش نرم افزار
1-1 بیان مسئله
1-2 سؤالات تحقیق
1-3 پیشینه تحقیق
1-4 ضرورت انجام تحقیق
1-5 فرضیات تحقیق
1-6 اهداف تحقیق
1-8 جنبه جدید بودن و نوآوری طرح تحقیق
1-7 كاربردهای تحقیق
1-9 روش تحقیق
1-10 مراحل انجام تحقیق
1-11 ساختار تحقیق