بخشی از مقاله

چکیده

با توجه به این که توسعه سیستمهای نرم افزار ی یک فرایند پر خطر است مدیریت و ارزیابی ریسک در تولید نرم افزار امری ضروری است در این مقاله فاکتورها ی مهم ریسک نرم افزار به عنوان ورودی مدل شبکه های عصبی و فاکتورهای ریسک موجود در توسعه محصول جدید در شبکه های بیزی در نظر گرفته شده و سپس این دو را با هم مقایسه و یک روش بهینه را انتخاب می کنیم. هدف از این کار ساخت مدلی با حداقل ریسک می باشد داده ها واقعی از طریق پرسش نامه و نظر کارشناسان و خبرگان این حوزه بدست آمده اند و نتایج آزمایشات نشان می دهد که آنالیز ریسک های نرم افزار ی درصد موفقیت پروژه را بهبود می دهد.

-1مقدمه

توسعه پروژه نرم افزاری درصد خطای بالایی دارد . تحقیقات گروه Standish نشان می دهد که در طول بیش از 8000 پروژه نظامی و غیر نظامی در ایالات متحده آمریکا در سالهای 1996 و2000و2004 دارای میزان موفقیت %27 ،%28و%29 بوده و مابقی به طور کامل یا جزیی دچار شکست شده اند. تحقیقات مرتبط در چین نشان می دهد که میزان موفقیت در چین کمتر از %30 است وزارت دفاع آمریکا اعلام کرده است که %30 از تمام پروژه ها، دچار شکست آشکار و %55دچار عدم توانایی در بر طرف کردن نیاز مشتری - شکست جزئی - شده اند و بیش از حد از زمان و هزینه استفاده می کنند.

مدیریت ریسک نقش مهم را در توسعه نرم افزار دارد به طوری که charetteمی گوید در پروژه هایی با حجم بالا مدیریت در واقع مدیریت ریسک است مطالعات شرکت میکروسافت نیز نشان می دهد که احتمال کامل شده به موقع پروژه با %5 مدیریت ریسک %50 تا %70 است همچنین در جهان پویای کسب و کار امروز شرکت ها به شدت به دنبال کسب مزیت رقابتی هستند ، تا بتوانند بدین وسیله بر رقبای خود پیشی بگیرند . بدون تردید ،توسعه محصول جدید مقدمه ای برای ورود به این مرحله است .با توجه به کوتاه شدن چرخه عمرمحصول، فشار زیادی به منظور کاهش هزینه و زمان توسعه محصول وجود دارد .سریع تر شدن زمان ارائه به بازار برای محصولات جدید می تواند به حجم بالاتری از فروش منجر شود .

بنابراین، این امر بسیار مهم است که فرآیندهای توسعه محصول ساده گردند تا ، پروژه های توسعه سرعت یابد - لانگراک و هولتینک - در سال 1989 بوهم مفهوم مدیریت ریسک های نرم افزار ی را بصورت حلقه های نرم افزار معرفی کرد و پایه تحقیقات در این زمینه تاسیس شد در سال khoshgoftaar 1995از شبکه عصبی برای شناسایی ریسک ماژولهای نرم افزار ی استفاده کرد. 1.Particle Swarm Optimization در سال neumann 1999از شبکه عصبی برای تجزیه وتحلیل ریسک های نرم افزار ی و کاهش ارتباط میان فاکتور ها و افزایش پایداری سیستم استفاده نموده در سال neumann 2002 تکنیک pca-annرا برای تشخیص نرم افزار با ریسک بالا با استفاده از شبکه عصبی و امار چند متغیره ارائه داد.

در سال huyong 2006وهمکارنش یک مدل شبکه عصبی را با استفاده از داده های فاز برای پیش بینی نتیجه نرم افزار در کل پروژه ساختند و در همین سال نیز گروه یک مدل هوشمند که ریک های پروژه نرم افزار ی را در سراسر پروژه پیشگویی وکنترل می کرد ارائه کرد و این گروه در سال 2009 یک مدل رسمی برای تشخیص ریسک بنا کردند که برای ارزیابی کارایی از شبکه عصبی و SVM استفاده می کرد بنا بر این مدیریت ریسک در تولید نرم افزار امری حیاتی است به همین بخاطر ما در این مقاله روشی برای ارزیابی ریسک پروژه های نرم افزاری به کمک شبکه عصبی پرسپترون با دولایه مخفی ارائه داده ایم که برای وزن دهی به شبکه عصبی از [1] PSO استفاده شده است در این مقاله با یافتن ارتباط بین فاکتورها ی ریسکی نرم افزار به مدیران در اجرای مدیریت ریسک کمک می کند همچنین اگر چه محصولات جدید فرصتهای جدیدی برای شرکت ها ایجاد می کنند، ولی نباید ریسک قابل توجه ای که این محصولات دارند نادیده گرفته شود .

مطالعات تجربی نرخ بالایی از شکست این محصولات، به خصوص در بازارهای مصرف را نشان داده اند.  از این رو تلاش های بسیاری صورت گرفته تا عوامل موفقیت و شکست این گونه پروژه ها شناسایی گردند و ریسکهای موجود در این پروژه این فرایند راکاهش دهند .حتی با وجود اطلاعات پروژه های توسعه محصول گذشته، هنوز هم این عدم قطعیت، در طول توسعه محصولات جدید دیگر وجود دارد. اگرچه محصولات جدید و نوآورانه عامل تعیین کننده ای در کسب مزیت رقابتی برای شرکت ها محسوب می شود، اما وضعیت های جدید و پیچیده ای برای تیم توسعه محصول به وجود می آورد که با خود ابهامات زیادی به همراه دارند .

این عدم قطعیت شامل گروهی از وقایع ناشناخته مرتبط با آینده است که می تواند وقایع مطلوب و یا نامطلوب باشد .چنین وضعیت پیچیده ای تاکید بر اهمیت مدیریت ریسک با روشی رسمی و سیستماتیک به منظور دستیابی به اهداف معین دارد .سازمانها معمولا منافع حاصل از فعالیتهایشان و ریسکهای موجود در آن را مورد بررسی قرار میدهند.در این مقاله ریسک و روش تحلیل آن را بررسی می کنیم سپس نگاهی کوتاه به شبکه های عصبی و شبکه های بیزی داریم و به مدل سازی می پردازیم سپس هردو را مقایسه و نتایج را نشان میدهیم.

-2ریسک نرم افزاری و روش تحلیل آن

وزارت دفاع آمریکا ، ریسک های افزاری را به عنوان شاخص اندازه گیری ، زمانی که اهداف از پیش تعریف شده به خاطر محدویت های زمانی هزینه و تکنولوژی نمی توانند حاصل شوند تعریف می کند مدیریت ریسک در پروژه های نرم افزار ی شامل شناسایی ریسک تجزیه و تحلیل ریسک و کنترل ریسک است برای شناسایی ریسک باید آنها را دسته بندی کرد طبق مقاله ریسکها به 5 دسته زیر تقسیم می شوند :

-1 ریسک پیچیدگی پروژه:[2] این ریسک بر مشخصه های پروژه متمرکز است مانند محدودیت در زمان و هزینه پروژه از تکنولوژی جدید استفاده می کند که در پروژه های قبل استفاده نشده اند

-2 ریسک همکاری: [3] این ریسک بر همکاری بین مشتری و تامین کننده در طول پروژه تمرکز دارد مانند :عدم مشارکت کاربر وجود تعداد زیادی کاربر ،مقاومت کاربر در برابر تغییر و عدم پشتیبانی مدیر ارشد از کاربر

-3 ریسک تیم: [4] این ریسک به توانایی افراد ، ارتباطات ،آموزشی و مدیریت تیم پروژه اختصاص دارد مانند بی تجربه بودن مدیر آموزش ناقص ،روحیه کم در افراد تیم و نبود مهارت مورد نیاز برای پروژه در افراد تیم

-4 ریسک مدیریت پروژه: [5]

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید