چکیده

فرایند توسعه سیستم از ۴ مرحله تشکیل شده است، اولین مرحله این فرایند، ارتباطات۱ میباشد. در این مرحله تیم توسعه با ذینفعها۲ ارتباط برقرار میکند، تا نیازمنديهاي سیستم را بدست آورند. منظور از نیازمنديها، سرویسهاي ارائه شده و محدودیتهاي اعمال شده در سیستم میباشد. مهندسی نیازمنديها۳ اشاره به همین مرحله یعنی ارتباطات دارد، به طوري که میتوان نام این مرحله از توسعه سیستم را مهندسی نیازمنديها نامید. این مرحله از توسعه سیستم براي موفقیت پروژه، خیلی حیاتی می باشد به طوري که دیگر مراحل توسعه شامل ، طراحی ، پیاده سازي ، تست ، نگهداري ، برگشت کار، براي نتیجه دادن، به این مرحله وابسته میباشند. اگر این مرحله به درستی انجام نگیرد نتایجی مانند بازخورد بد مشتري با تیم توسعه، افزایش هزینه ساخت پروژه، تاخیر در زمان تحویل پروژه را به همراه خواهد داشت. هدف اصلی این مقاله معرفی مهندسی نیازمنديها شامل فرایندها، مدلها، ابزارها و کمک به تیمهاي توسعه براي اجراي بهتر آن، در جهت بهبود کیفیت سیستم خروجی به دور از مشکلات ذکر شده میباشد.

واژه هاي کلیدي: مهندسی نیازمنديها، استخراج نیازمنديها، اعتبارسنجی نیازمنديها، ذینفع، مستندسازي نیازمنديها.

۱ Communication
(هر شخصی که، به گونهاي با سیستم در ارتباط است)۲ Stakeholders 3 Requirements Engineering
١

مقدمه:

مهندسی نیازمنديها ، اولین مرحلهي توسعه سیستم میباشد که تیم توسعه تلاش میکند تا نیازمنديهاي سیستم را از طریق ذینفعها جمعآوري نمایند. منظور از نیازمنديها، مجموعه سرویسهایی که سیتم باید ارائه دهد و آن دسته محدودیت-

هایی که باید روي سیستم اعمال شود میباشد.[۱] مهندسی نیازمنديها یکی از مهمترین مراحل در توسعه سیستم میباشد، به طوري که تمامی مراحل دیگر توسعه سیستم از جمله. طراحی، پیادهسازي، تست و نگهداري براي موفقیتپذیر بودن وابسته به این مرحله یعنی مهندسی نیازمنديها میباشند. مهندسی نیازمنديها را میتوان، فرایند تدوین، مستندسازي و نگهداري

نیازمنديها[۲] سیستم تعریف کرد. در صورتی که این مرحله به خوبی اجرا نشود نتایجی مانند. تاًخیر در تحویل سیستم، راضی نبودن ذینفعها و افزایش هزینه را براي سیستم در پی خواهد داشت. براساس مطالعاتی که توسط گروه Standish4 در
سال ۱۹۹۴ انجام شد، حدود %۱۳,۱ دلیل تخریب پروژه مربوط به درست اجرا نشدن مرحله مهندسی نیازمنديها، و حدود

%۸,۸ به دلیل تغییرات سریع در نیازهاي سیستم بوده است. در این گزارش سعی داریم تا ابزارها و فرایندهاي بکارگیري مهندسی نیازمنديها را شرح دهیم، سپس، ابزارها مهندسی نیازمنديها را شرح خواهیم داد.

-۱ پیشینهيموضوع

واژه مهندسی نیازمنديها، اولین بار در سال ۱۹۷۹ در متن گزارش شرکت TRW،که یک شرکت تولیدي لوازم خودرو بود بکار گرفته شد. و در سال ۱۹۹۴ موسسه IEEE به طور ویژه به برپایی کنفرانس در این موضوع و حتی با این نام پرداخت که هنوز این کنفرانسها برگذار میشود، در سال ۱۹۹۵ اقاي Locuopoulos و در سال ۱۹۹۷ اقايSomerville با همکاريSawyer به ترتیب ،کتابهایی را تحت عنوان مهندسی نیازمندي ها به چاپ رساندند. یک سال بعد در سال ۱۹۹۸ دوباره Somerville با همکاري Kotonya کتابی را با عنوان مهندسی نیازمنديها چاپ کردند. که میتوان Somervilleرا

فرد مطرح و صاحب نامی در این زمینه دانست .[۲]

-۲ بیان فنی موضوع

این تصوّر، که مهندسی نیازمنديها یک فاز مستقل از دیگر مراحل توسعه سیستم میباشد، کاملاً اشتباه است، بلکه یک نقش کاملاً حیاتی را براي هر کدام از مراحل توسعه سیستم نیز، ایفاء میکند. به طوري که می توان آن را مبنایی براي برنامهریزي پروژه، مدیریت ریسک، اجراي تست هاي موفق و مدیریت صحیح تغییرات دانست. اگر این مرحله از توسعه سیستم به خوبی

انجام نگیرد، باعث بروز مشکلاتی از جمله تأخیر در تحویل سیستم، هزینه مالی زیاد، نارضی بودن ذینفعها خواهد گردید.[۲] طبق تحقیقاتی که یگ گروه کاري ۶۰ نفره با نام Standish در سال ۱۹۹۵ در دانشگاه chaos در شهر مریلند انجام داده

است، پی بردند که در همان سال حدود ۸۰۰۰۰پروژه با شکست روبه رو شدند، و ۱۰ دلیل اساسی را که باعث بروز این شکست ها شده بودند را کشف کردند، که ۵ تا مربوط به این مرحله یعنی مهندسی نیازمنديها می باشد، جدول شماره۱،