مقالات ترجمه شده دانشگاهی ایران

شبکه عصبی پیش بینی مدت پروژه نرم افزار

شبکه عصبی پیش بینی مدت پروژه نرم افزار

شبکه عصبی پیش بینی مدت پروژه نرم افزار –  ایران ترجمه – Irantarjomeh

 

مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی

مقالات

چگونگی سفارش مقاله

الف – پرداخت وجه بحساب وب سایت ایران ترجمه(شماره حساب)ب- اطلاع جزئیات به ایمیل irantarjomeh@gmail.comشامل: مبلغ پرداختی – شماره فیش / ارجاع و تاریخ پرداخت – مقاله مورد نظر --مقالات آماده سفارش داده شده پس از تایید به ایمیل شما ارسال خواهند شد.

قیمت

قیمت این مقاله: 58000 تومان (ایران ترجمه - Irantarjomeh)

توضیح

بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.

مقالات ترجمه شده کامپیوتر - ایران ترجمه - irantarjomeh

www.irantarjomeh.com

شماره       
۱۸۶
کد مقاله
COM186
مترجم
گروه مترجمین ایران ترجمه – irantarjomeh
نام فارسی
شبکه های عصبی برای پیش بینی مدت پروژه های نرم افزاری جدید
نام انگلیسی
Neural Networks for Predicting the Duration of New Software Projects
تعداد صفحه به فارسی
۵۱
تعداد صفحه به انگلیسی
۱۶
کلمات کلیدی به فارسی
پیش بینی مدت پروژه نرم افزاری, شبکه عصبی تابع پایه شعاعی, شبکه عصبی پیشخورد چند لایه, رگرسیون آماری
کلمات کلیدی به انگلیسی
software project duration prediction, radial basis function neural network, multilayer feedforward neural network, statistical regression, ISBSG
مرجع به فارسی
دپارتمان سیستم های اطلاعاتی، CUCEA، دانشگاه مکزیکو
دپارتمان فناوری اطلاعات و مهندسی نرم افزار، دانشگاه فنی، کانادا،
ژورنال سیستم ها و نرم افزار
مرجع به انگلیسی
The Journal of Systems & Software; NU Information Systems Department, CUCEA, Universidad de Guadalajara; MA; Department of Software Engineering and Information Technology École de technologie supérieure
کشور
کانادا – مکزیک

 

شبکه های عصبی برای پیش بینی مدت پروژه های نرم افزاری جدید

نکات برجسته
  • دو شبکه عصبی جهت پیش بینی مدت توسعه پروژه های نرم افزاری جدید بکار گرفته می شوند.
  • پروژه های نرم افزاری از مجموعه های داده های ISBSG نگارش ۱۱ فراهم آمده اند.
  • نقاط تابع تعدیلی و اندازه تیم به عنوان متغیرهای مستقل برگزیده شده اند.
  • دقت پیش بینی با توجه به باقیمانده های مطلق محاسبه شده اند.
  • دقت پیش بینی شبکه های عصبی حاصله از نقطه نظر آماری بهتر از رگرسیون آماری می باشد.
 
چکیده           
مدت توسعه پروژه های نرم افزاری به عنوان یک مسئله رقابتی مدنظر می باشد. تنها ۳۹% آنها با توجه به برنامه زمانبندی اصلی به موقع به اتمام می رسند. تکنیک های مرتبط با پیش بینی مدت پروژه غالباً بر مبنای قضاوت های تخصصی و مدل های ریاضیاتی، نظیر رگرسیون آماری یا فراگیری ماشینی، می باشند. تعامل این مطالعه در مبحث جاری بررسی این موضوع خواهد بود که آیا دقت پیش بینی مدت حاصله با استفاده از یک مدل شبکه عصبی پیش خورد چند لایه، که همچنین تحت عنوان پرسپترون چند لایه (MLP) خوانده می شوند، و با استفاده از یک مدل شبکه عصبی تابع پایه شعاعی (RBFNN) از نقطه نظر آماری بهتر از موارد حاصل آمده به وسیله مدل رگرسیون خطی متعدد (MLR) به شمار می آیند، آن هم به هنگامی که اندازه کاربردی و اندازه حداکثری تیم توسعه دهنده به عنوان متغیرهای مستقل مورد استفاده قرار گرفته اند یا خیر. سه مدل ذکر شده فوق با استفاده از پیش بینی مدت توسعه پروژه های نرم افزاری جدید و با توجه به مجموعه ای از پروژه ها حاصل آمده از سوی گروه استاندارد معیارسنجی نرم افزارهای بین المللی (ISBSG) نگارش ۱۱، مورد آموزش و آزمایش قرار می گیرند. نتایج بر مبنای باقیمانده های مطلق، Pred(1) و آزمون آماری فریدمن نشان دهنده آن می باشند که دقت پیش بینی با MLP و RBFNN از نقطه نظر آماری بهتر از مدل MLR می باشد.

کلمات کلیدی: پیش بینی مدت پروژه نرم افزاری، شبکه عصبی تابع پایه شعاعی، شبکه عصبی پیشخورد چند لایه، رگرسیون آماری، ISBSG

شبکه عصبی پیش بینی مدت پروژه نرم افزار

 

۱- مقدمه
مهندسی نرم افزار (SE) متشکل از تعدادی از فعالیت های توسعه محصول، شامل مدیریت مهندسی، می باشد. برنامه ریزی پروژه نرم افزار (SPP) مخاطب قراردهنده فعالیت های اصلی جهت مهیاسازی یک پروژه مهندسی نرم افزار موفق از نقطه نظر مدیریت می باشد. برنامه ریزی پروژه نرم افزار شامل برنامه ریزی فرآیند، مشخص سازی موارد قابل ارائه یا تحویل، پیش بینی نرم افزار (همچنین تحت عنوان ارزیابی نرم افزار نیز خوانده می شود)، مدیریت ریسک، مدیریت کیفیت و مدیریت برنامه ریزی است [۱].
این عبارت حاصله با توجه به سه مرحله کلی به دفعات مورد استفاده قرار می گیرد: طراحی، ایجاد و آزمایش. به علاوه عبارت حفظ و نگهداری نیز به ناهنجاری های کشف نشده، تغییرات محیط عملیاتی، و نیازهای اضافه کاربر اشاره دارد که پس از تحویل محصول نرم افزار مطرح می شوند [۱]. همانگونه که ذکر شد، پروژه نرم افزاری نیز به عنوان یک پروژه توسعه ارتقاء یافته به شمار می آید [۲۳].
هر دوی مؤلفه های توسعه و حفظ و نگهداری نوعاً با فعالیت های دیگر تکمیل می شوند، نظیر مستندسازی، تحلیل ریسک، تأیید و تصدیق، ارزیابی، و برآورد یا اندازه گیری. برای هر دو مؤلفه های مربوط به توسعه و حفظ و نگهداری، انواع پیش بینی های ذیل را می توان به هنگام مشخص سازی نیازهای نرم افزاری در نظر گرفت [۱]:
الف) تعداد ساعات بر حسب نفر که جهت تکمیل ویژگی های توسعه یا حفظ و نگهداری (برنامه های انجام شده) مورد نیاز هستند.
ب) مدت وظایف با توجه به زمان شروع پروژه ، یا مدتی که هر فرد بر روی یک مولفه کار می کند، و زمان پایان آن اشاره دارد. در SPP مسیر بحرانی غالباً تحت عنوان مدت [۶]، برنامه زمانی [۴]، یا چرخه زمانی [۲] خوانده می شود.
ج) هزینه پروژه بر مبنای ضروریات منابع، نظیر افراد درگیر در پروژه یا ابزارهای مورد استفاده مشخص می شود.
پیش بینی مدت برای اهداف بودجه بندی ضروری تلقی شده و نوعاً بر حسب مبنای ماهیانه در سازمان های توسعه نرم افزار مشخص می گردد (یعنی اجاره ساختمان، بهداشت مستخدمین یا بیمه عمر و غیره). مدت پروژه ها همچنین به عنوان مرجعی برای بلوغ فرآیندها در شرکت های نرم افزاری به حساب می آید [۲] [۴] [۲۱]، چرا که پیش بینی زمان کمتر یا زمان بیشتر پروژه در مرحله طراحی می تواند به طور منفی بر روی بودجه بندی تأثیرگذار باشد.

ادامه این مقاله به شرح ذیل سازماندهی شده است: بخش ۲ ارائه دهنده تحقیقات مرتبط در زمینه پیش بینی مدت پروژه های نرم افزاری می باشد. بخش ۳ تشریح کننده و مقایسه کننده مدل های MLP و RBFNN است. بخش ۴ ارائه دهنده معیارهایی برای ارزیابی دقت این مدل ها می باشد، و همچنین مشخص کننده معیارهای مربوط به انتخاب داده های ساده از مجموعه اطلاعات ISBSG می باشد. بخش ۵ تشریح کننده فرآیندهای آموزش و آزمایش برای سه مدل می باشد. بخش ۶ اقدام به مقایسه نتایج دقت حاصله برای این مدل ها می نماید. در نهایت، بخش ۷ مباحث ارائه شده را عرضه داشته که شامل نتیجه گیری های ما، محدودیت های این مطالعه و ویژگی های بررسی آتی می باشد.

شبکه عصبی پیش بینی مدت پروژه نرم افزار

 

۲- تحقیقات مرتبط
در رشته پیش بینی پروژه نرم افزار، تکنیک هایی به طور عمده برای پیش بینی اندازه محصول نرم افزار، امورات مربوط به این پروژه و مدت آن مورد استفاده قرار گرفته اند. این تکنیک های پیش بینی بر روی مدل های غیررسمی نظیر قضاوت های تخصصی، یا مدل های ریاضیاتی، نظیر تکنیک های آماری و فراگیری ماشینی، استوار هستند.
با توجه به پیش بینی اندازه محصول نرم افزاری، این تکنیک های گزارش شده در مبحث جاری به صورت قضاوت تخصصی [۴۶] یا مدل های ریاضیاتی، نظیر رگرسیون آماری [۲۸]، شبکه عصبی [۱۹] و منطق فاری [۳۲] می باشند.
بر مبنای پیش بینی بر حسب امورات انجام شده در پروژه، تکنیک های استفاده شده یا به صورت قضاوت های تخصصی می باشند [۲۰] [۳۰]، یا آنکه به صورت مدل های ریاضیاتی بر مبنای تابع چگالی احتمال [۳]، رگرسیون آماری [۴۷] [۴۸]، و همچنین مدل های فراگیری ماشینی، نظیر استدلال موردی مبنا، شبکه های عصبی مصنوعی، درختان تصمیم، شبکه های بیزی، رگرسیون بردار پشتیبان، الگوریتم های ژنتیک، برنامه نویسی ژنتیک، و قواعد مربوط به اعتلاف یا انجمن می باشند [۴۵]. غالب مطالعات مرتبط با پیش بینی نرم افزار تمرکز خود را بر روی امورات انجام گرفته در ارتباط با پیش بینی جبر نمودن: Jorgensen و Shepperd [24] نسبت به تحلیل ۳۰۴ مطالعه در ۷۶ ژورنال انتشار یافته تا اوایل سال ۲۰۰۴ اقدام نموده و Wen و همکاران [۴۴] ۸۴ مطالعه انتشار یافته از ۱۹۹۱ الی ۲۰۱۰ را مورد بررسی قرار دادند. Jorgensen و Shepperd [24] مطالعاتی را بررسی نمودند که در آنها هرگونه تکنیک پیش بینی مورد استفاده قرار گرفته است، در حالی که Wen و همکاران [۴۵] اقدام به تحلیل صرفاً مطالعاتی نمودند که شامل تکنیک های فراگیری ماشینی می باشد. شبکه های عصبی به عنوان دومین مورد استفاده گسترده در ارتباط با پیش بینی امورات نرم افزاری در این زمینه به شمار می آیند، که در بردارنده یک آمار ۲۶ درصدی است [۴۵]. MLP نیز جهت پیش بینی پروژه نرم افزاری حداقل از سال ۱۹۹۷ مورد استفاده قرار گرفته است [۱۶] و به علاوه در سال ۲۰۰۸ نیز بکار گرفته شده است، MLP نیز به عنوان گسترده ترین مورد استفاده در این زمینه به شمار می آید [۳۷]، و این مورد تا سال ۲۰۰۹ نیز مورد استفاده قرار گرفته است [۲]، ۲۰۱۲ [۱۸]، ۲۰۱۳ [۱۲] [۲۷] [۳۴]، و ۲۰۱۴ [۲۹] [۳۳].  

شبکه عصبی پیش بینی مدت پروژه نرم افزار

 

۳- شبکه های عصبی MLP و RBF
یک شبکه عصبی (NN) به عنوان مدلی تلقی می گردد که الهام گرفته بر مبنای پردازش حاصل آمده به وسیله شبکه ای از نورون های بیولوژیکی است. مبنای این ساخت یک شبکه عصبی نورون مصنوعی می باشد. ورودی یک نورون مصنوعی بردار مقادیر عددی می باشد. این نورون اقدام به دریافت بردار نموده و متعاقباً قابلیت درک هر مقدار، یا جزء، آن بردار با یک حساسیت مستقل خاص تحت عنوان وزن را خواهد داشت. پس از دریافت بردار ورودی، نورون مربوطه در ابتدا اقدام به محاسبه وضعیت داخلی آن نموده و متعاقباً مقدار خروجی آن را برآورد می نماید. وضعیت داخلی نورون به عنوان مجموع ضرب داخلی بردار ورودی و بردار وزن به شمار آمده، و مقدار عددی تحت عنوان سوگیری خوانده می شود. این تابع همچنین تحت عنوان تابع انتقال نیز خوانده می شود. خروجی این نورون به عنوان تابع وضعیت داخلی خود به شمار می آید. این تابع تحت عنوان یک تابع فعال خوانده می شود. وظیفه اصلی تابع فعال مقیاس بندی کلیه مقادیر محتمل وضعیت داخلی به یک بازه ای از مقادیر خروجی می باشد. فراگیری در یک نورون مصنوعی به صورت اتوماتیک از طریق تعدیل مقادیر وزن ها و سوگیری ها حاصل می شود. کلاس های اصلی معماری (یا ساختار) شبکه های عصبی به شرح ذیل هستند [۲۲]:
  • کلاس پیش خورد تک لایه، متشکل از یک نورون واحد با وزن ها و سوگیری قابل تعدیل. Minsky و Papert این موضوع را اثبات نموده اند که این نوع از درک به صورت ذاتی قابلیت ایجاد برخی از مفاهیم کلی را نخواهد داشت.
  • کلاس پیش خورد چند لایه، متشکل از مجموعه ای از نورون ها می باشد که ایجاد کننده لایه ورودی، یک یا چند لایه مخفی نورون ها، و یک لایه خروجی از نورون ها می باشد. نوع شبکه عصبی تحت عنوان پرسپترون چند لایه (MLP) خوانده می شود. مدل هر نورون در بردارنده یک تابع فعال سازی غیرخطی می باشد، و این شبکه ارائه دهنده مقدار زیادی از قابلیت اتصال پذیری می باشد.

شبکه عصبی پیش بینی مدت پروژه نرم افزار

 

۴- معیارهای دقت پیش بینی و نمونه داده ها
۴ـ۱٫ معیارهای دقت
معیارهای دقت برای ارزیابی مدل های این مطالعه بر مبنای باقیمانده های مطلق (AR) و Pred(1) می باشند. AR به شرح ذیل تعریف می گردد:
ARi = |مدت حقیقی i مدت پیش بینی شده |i
این ویژگی برای هر مورد مشاهداتی i محاسبه می گردد، که مدت آن بر این مبنا پیش بینی می شود. انباشتگی AR در مشاهدات متعدد (N) را می توان از طریق میانگین (MAR) به شرح ذیل حاصل آورد:
معیار دوم به شرح ذیل محاسبه می شود: Pred(1) = k/N، که در آن k تعداد پروژه های نرم افزاری می باشد که برای آنها AR کمتر یا مساوی با ۱ است، و N مجموع کل پروژه های نرم افزاری به حساب می آید. Pred(25) بنابراین ارائه دهنده% پروژه هایی می باشد که با یک AR کمتر یا برابر با ۲۵/۰ پیش بینی شده اند.
MdAR مترادف با میانه ARs است. MAR و MdAR به صورت غیرسوگیرانه مشخص شدند، چرا که آنها بر مبنای ضرایب نمی باشند، بر خلاف میانگین بزرگی خطای نسبی (MMRE)، یک معیار مشترک استفاده شده در پیش بینی [۴۵]، که خود منجر به ایجاد نوعی عدم تقارن می گردد [۴۱]. دقت تکنیک پیش بینی به صورت معکوسی در تناسب با MAR و directly می باشد و به صورت مستقیمی در تناسب با Pred(1) است.
۴ـ۲٫ نمونه داده ها
در این مطالعه، ما از نگارش ۱۱ نرم افزار  [۲۳] استفاده نمودیم، که شامل داده هایی از ۵۰۵۲ پروژه توسعه یافته بین خلال سالیان ۱۹۸۹ و ۲۰۰۹ بوده است. اکثریت (۵/۷۰%) مطالعات با استفاده از مجموعه های اطلاعاتی ISBSG در ارتباط با مدل های پیش بینی هستند، اما در عین حال تمرکز غالباً بر روی امورات انجام شده، به جای پیش بینی مدت بوده است، همانگونه که در بخش تحقیقات مرتبط گزارش گردیده است [۱۵]. متغیرهای مستقل انتخاب شده اندازه محصولات نرم افزاری برآورد شده در نقاط تابع تعدیلی (AFP) و تعداد حداکثری اشخاصی می باشد که بر روی این پروژه ها در هر زمانی کار کرده اند (اندازه حداکثری تیم: MTS). یک AFP به عنوان یک مقدار ترکیبی متشکل از ۱۹ متغیر مستقل محسوب می شود [۱۷]. بر این مبنا پنج نوع تابع وجود دارند: فایل های منطقی داخلی، فایل های رابط خارجی، ورودی های خارجی، خروجی های خارجی و پرس و جوهای خارجی. به علاوه چهارده ویژگی نیز وجود دارند که در رابطه با ارتباطات اطلاعاتی، پردازش داده های توزیعی، عملکرد، پیکربندی های کاملاً استفاده شده، نرخ تراکنش ها، ورود داده ها به صورت آنلاین، کارایی کاربر نهایی، به روزرسانی آنلاین، پردازش پیچیده، قابلیت بکارگیری مجدد، آسانی نصب، آسانی عملکرد، سایت های متعدد و تغییر تسهیل کنندگان می باشند. در ISBSG، مدت پروژه بر حسب ماه گزارش می شود.

شبکه عصبی پیش بینی مدت پروژه نرم افزار

 

۵- مدل های آموزش و تست
روش هایی که غالباً برای ارزیابی سطح کلی یک NN استفاده می شوند شامل روش گسترده (holdout)، روش اعتبارسنجی متقابل با یک نمونه خارج شده (leave- one-out cross-validation)، و روش اعتبارسنجی متقابل چند لایه ای (k-fold cross validation) (k > 1) می باشند [۷]. در روش گسترده، نمونه به دو زیر نمونه ناسازگار یا مانعه الجمع تقسیم می شوند، که تحت عناوین آموزش و تست خوانده می شوند. در نمونه اعتبارسنجی متقابل چندتایی یا k ـ تایی (k > 1)، نمونه به k زیر نمونه مانعه الجمع، k – ۱، تقسیم گردیده که برای آموزش مورد استفاده قرار گرفته، و k امین زیر نمونه، نیز برای تست بکار گرفته می شود. این فرآیند برای k بار تکرار می گردد، که هر بار با استفاده از یک زیر نمونه مختلف برای تست چنین فرآیندی تکرار خواهد شد. به هنگامی که k مساوی با اندازه نمونه داده گردید، چنین موردی تحت عنوان روش اعتبارسنجی متقابل با یک نمونه خارج شده (LOOCV) خوانده می شود، و چنین موردی به عنوان یک مؤلفه کاملاً مناسب برای کاربردهای SE مدنظر قرار می گیرد، که در آن بهترین داده های موجود به عنوان مجموعه های نسبتاً کوچک تلقی می شوند [۴۲]. LOOCV نیز برای ارزیابی مدل های امور نرم افزاری پیشنهاد شده است [۲۷]. میانگین دقت کلیه پروژه ها بر روی نمونه تیمی نیز جهت ارزیابی سطح کلی این مدل بکار گرفته شده است.

شبکه عصبی پیش بینی مدت پروژه نرم افزار

 

۶- نتایج
جدول ۴ نشان دهنده MAR و MdAR بر حسب مدل Pred(25) و با توجه به سه ویژگی ارائه شده می باشد. یک آزمون آماری برای مقایسه این سه مجموعه AR ها را می بایست با توجه به فرضیه های وابستگی داده ها، بهنجارسازی و واریانس در نظر گرفت [۳۹]:
الف) وابستگی: داده های پروژه نرم افزاری را می بایست به وسیله n مجموعه سه بعدی (Xi, Yi, Zi), I = 1, …, n توصیف نمود، که در آن i به عنوان i امین پروژه، n تعداد پروژه ها، Xi, Yi و Zi ؟؟ AR های حاصله از مدل های MLR، MLP و RBFNN می باشند.
ب) نرمالیته یا بهنجار شدگی: نرمالیته AR در ارتباط با یک مجموعه اطلاعاتی را می توان با استفاده از آزمون های مربع کای، Shapiro-Wilk، چولگی و کشیدگی انجام داد.

شبکه عصبی پیش بینی مدت پروژه نرم افزار

 

۷- مباحث و نتایج
یک پیش بینی مدت نادرست در ارتباط با یک پروژه نرم افزاری ممکن است سبب تحویل دیرهنگام یک محصول یا خدمات نرم افزاری شود [۴۹]. تعدادی از تکنیک های خاص جهت پیش بینی مدت بکار گرفته شده اند، نظیر قضاوت متخصصین، رگرسیون آماری، شبکه های عصبی و ماشین های بردار پشتیبان. در این مطالعه، یک شبکه عصبی پیش خورد (MLP) و یک شبکه عصبی تابع پایه شعاعی (RBFNN) ارائه می شوند. نمونه برای آموزش و تست MLP و RBFNN نیز از طریق ملاحظه رهنمودهای ISBSG و نگارش ۱۱ مجموعه اطلاعاتی ISBSG حاصل آمده است.
مقایسه این مطالعه با هفت مورد دیگر که در آنها مدت پروژه های نرم افزاری مقایسه پیش بینی شده اند معرف موارد ذیل می باشد:
  • هیچکدام از این هفت مطالعه RBFNN را پیشنهاد ننموده اند.
بر مبنای عملکرد هر دو مورد MLP و RBFNN ، که منوط به ساختارهای آنها نیز می باشد، ضرایب آنها، و مسئله خاصی که می بایست حل شود، ما قابلیت اصول نتیجه در سطح اطمینان ۰/۹۹% را خواهیم داشت که بر مبنای آن MLP و RBFNN بهتر از MLR برای پروژه های نرم افزاری جدید توسعه یافته بر روی مین فریم ها می باشد که در آن از زمان های برنامه نویسی نسل سوم استفاده شده است.
تحقیقات متعاقب جهت بکارگیری منطق فازی به منظور پیش بینی مدت پروژه های جدید و ارتقاء یافته ضروری می باشند.

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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