بخشی از مقاله
چکیده: انتخاب ویژگیهای خط تولید نرم افزار محدودیتهایی را در معیارهای کیفیت و تنوع ایجاد میکند. در این مقاله، بهینهسازی رقابت استعماری چند هدفه مبتنی بر جستجو را برای بر طرف کردن محدودیت پاسخ و حل این مشکل ارائه شد، و آن را بر اساس SPL ها در دنیای واقعی که مربوط به سه راه حل شاخص مختلف کیفیت* و دو معیار تنوع است ارزیابی میکند. نتایج حاصل از شبیهسازی نشان میدهد که ترکیب محدودیت با بهینهسازی رقابت استعماری چند هدفه مبتنی بر جستجو ، بهبود قابل ملاحظهای را در حل کردن این ویژگی ارائه میکند..
.1 مقدمه
خط تولید نرم افزار یک پارادایم توسعه نرم افزاری برای یک سری مجموعه یا یک خانواده از محصولات مشابه است. که با مجموعهای از محصولات نرم افزاری مرتبط است که هر کدام از قابلیت های اصلی را به اشتراک میگذارند، و فقط در برخی ویژیگیهای خاص متفاوت هستند. فرآیند انتخاب ویژگی نیاز به رضایت همزمان از اهداف متعدد، مثل کم کردن هزینه محصول، تطبیق اولویت کاربر، و ارضای محدودیتهای فنی در فضاهای مشخص شده توسط هزاران ویژگی مختلف است.
برای کاهش پیکربندی و بهینهسازی انتخاب محصولات حاصل، تکنیکهای خودکار رقابت استعماری چند هدفه برای انتخاب ویژگیها معرفی شده است. انتخاب ویژگیها برای اولین بار توسط - White, 2008 - معرفی شد [5] که رویکردی به نام Flated Cartesian Flattening را برای انتخاب ویژگیهای یک مدل مشخص معرفی کرد که قادر به بهینه سازی یک هدف بود. [8] - Gue, 2013 - یک الگوریتم ژنتیکی برای حل مشکل فوق ارائه دادند که نشان می دهد که در Flated Cartesian Flattening، خط تولید نرم افزار به صورت مصنوعی تولید شده است و براساس هیچ SPL ی در دنیای واقعی ارائه نشده است.
رویکردهای قبلی همه بر روی یک هدف واحد بودند. و نمی توانستند محصولات نرم افزاری را از SPL ها ساخته و برای اهداف متعدد مورد نیاز بهینه سازی شوند. متاسفانه، چنین راه حل یک هدفه برای مشکل انتخاب ویژگی های اکثر SPL ها در دنیای واقعی که دارای اهداف متعدد هستند مناسب نیستند. [9] - Arcurri, 2011 - فرمولبندی بهینهسازی اهداف متعدد را معرفی کردند که بر روی یک مطالعه موردی بر روی Mail Server System مورد بررسی قرار گرفت.
[12] - Sayyad, 2013 - بررسی دقیقی در مورد مشکل انتخاب ویژگی در اهداف متعدد خط تولید نرم افزار را در چهار مقاله مرتبط انجام دادند. اولین مقاله آنها نشان داد که میتوان از بهینهسازی مبتنی بر جستجو برای پیدا کردن محصولات بهینهی اهداف متعدد استفاده شود. آنها در خط تولید نرم افزار دنیای واقعی، نتایج خود را تکرار و گزارشاتی در مورد اثرات تنظیم پارامترها ارائه میکنند. در نهایت، اکتشافات اضافی را برای بهبود مقیاسپذیری رویکرد خود ارائه دادند، که مهمترین نکته برای بهینهسازی خط تولید نرم افزار است، زیرا خط تولید نرم افزار میتوانند بسیار بزرگ باشند.
روشهای قبلی که برای انتخاب ویژگی خط تولید نرم افزار استفاده میشدند شامل روشی صریح برای رسیدگی به محدودیتها نیستند، و این موضوع را در مورد چگونگی انتخاب بهینه ویژگی خط تولید نرم افزار در حضور محدودیتها باز میکند، ما SATIBEA را که یک الگوریتم انتخاب ویژگی، مبتنی بر جستجوی خط تولید نرم افزار است را با ترکیب الگوریتم رقابت استعماری چند هدفه است برای حل کردن محدودیت دو اپراتور جستجوی هوشمند معرفی میکنیم. SATIBEAاهداف متعدد را در زمان معقول به حداکثر میرساند و باعث میشود. مقیاسپذیرتر و بهبود قابل توجهی نسبت به وضعیت کنونی داشته باشد.
ساختار این مقاله به گونه زیر میباشد: یخش . 2 مهندسی خط تولید نرم افزار را تحت پوشش قرار میدهد. در بخش .3 بهینه سازی چند هدفه مورد بحث قرار گرفت . در بخش .4 الگوریتم تکاملی مبتنی بر شاخص IBEA بحث شد. در بخش .5 الگوریتم پیشنهادی مطرح شد. در بخش .6 روش کاربردی بان شد. در بخش .7 نتایج شبیهسازی مورد بررسی قرار گرفت و درنهایت، ما مقاله با نتیجهگیری خاتمه میدهیم.
.2 مهندسی خط تولید نرم افزار
مهندسان نرم افزار، سیستمهای مختلفی را به منظور مطابقت با نیازهای خاص مشتریان ایجاد کردهاند. و مهندسی خط تولید نرم افزار - SPLE - یک الگوی توسعه نرم افزاری است برای رسیدگی به وضعیت طراحی شده، که شامل ایجاد و مدیریت یک SPL است. مهندسی خط تولید نرم افزار در سال 1990 با آنالیز دامنهی ویژگی گرا توسعه داده شد. مزیت SPLE کاهش هزینههای توسعه، تعمیر و نگهداری، تسریع در زمان به بازار است.
.I مدل ویژگی : - FMs - یک نمایش استاندارد از یک
SPLاست. یک FM ویژگیهای ترکیبی معتبر را با بیان محدودیتهای بین آنها تعریف میکند .به عنوان مثال، در شکل 1 این FM شامل 9 ویژگی است. بعضی از ویژگیها اجباری هستند مانند ویژگی draw و سایر ویژگیها محدود به همکاری هستند .به عنوان مثال، ویژگی color به color palette نیاز دارد.