نام پژوهشگر: حمید مسعود
حمید مسعود سعید جلیلی
طراحی نرمافزارهای بزرگ، فعالیتی بسیار پیچیده و مشکل است. در واقع طراحی یکی از سختترین وظایف در فرآیند توسعه نرمافزار میباشد. محققین در فرآیند تولید نرم افزار به دنبال افزایش سطح خودکارسازی می باشند، دلیل این امر این است که خودکارسازی سبب می گردد تا انجام فرآیند طراحی بدون نیاز به طراحان متخصص صورت گیرد. خودکارسازی طراحی نرمافزار با روش های معمول رایج امکانپذیر نیست زیرا در طراحی با فضای جستجوی بزرگی شامل نمونههای مختلف طراحی روبرو هستیم. مهندسی نرم افزار مبتنی بر جستجو (sbse) به معنی کاربرد روش های جستجو در حل مسائل مهندسی نرم افزار است که استفاده از آن در زمینه طراحی نرم افزار، از دهه 2000 میلادی به صورت قابل توجهی آغاز شده است. روش های جستجوی مختلفی برای این منظور استفاده شده اند. در این پایان نامه برای اولین بار از روش جستجوی بهینه سازی گروه ذرات (pso) برای این منظور استفاده شده است. طراحی هر سیستم نرم افزاری شامل دو فاز است: طراحی معماری و طراحی تفصیلی عناصر معماری. در این پایان نامه دو مدل به منظور طراحی تفصیلی نرم افزار پیشنهاد شده است: مدل مبتنی بر بهینه سازی و مدل مبتنی بر خوشه بندی. ورودی هر دو مدل نیازمندی های سیستم در قالب موردهای کاربری و خروجی آن نمودار کلاس می باشد. مدل مبتنی بر بهینه سازی دارای سه مرحله اصلی است. در مرحله اول مسئولیت های سیستم در قالب متدها و خصیصه ها، و وابستگی های بین آنها جمع آوری می شوند، در این مرحله برخی راهنمایی ها و مکاشفه ها جهت استخراج مسئولیت های سیستم از سناریوهای موردهای کاربری پیشنهاد شده است. در مرحله دوم از الگوریتم pso به منظور تخصیص مسئولیت ها بین کلاس ها استفاده می گردد، برای این منظور یک الگوریتم جدید با نام الگوریتم ترکیبیاتی بهینه سازی گروه ذرات (cpso) پیشنهاد شده است. الگوریتم پیشنهادی قابلیت استفاده در سایر مسائل ترکیبیاتی را نیز دارد. در مرحله سوم روابط بین کلاس ها تنظیم می شود. برای استخراج روابط ار ث بری، یک روش نیمه خودکار جدید پیشنهاد شده است. این روش بر اساس حذف کد تکراری و بازخوردهای دریافتی از کاربر عمل کرده و سلسله مراتب های وراثت مخفی در ساختار سیستم را کشف می کند. مدل مبتنی بر خوشه بندی دارای چهار مرحله اصلی است. مراحل اول و آخر آن به ترتیب مرحله جمع آوری داده و مرحله تنظیم روابط می باشند که با مراحل اول و آخر مدل مبتنی بر بهینه سازی یکسان می باشند. در مرحله دوم از این مدل، برخی ویژگی ها با توجه به وابستگی های بین مسئولیت ها استخراج می شوند. در مرحله سوم، با استفاده از یک روش خوشه بندی، ویژگی های استخراجی خوشه بندی می شوند. خروجی این مرحله مجموعه ای از خوشه ها است که هر خوشه آن به عنوان یک کلاس از نمودار کلاس در نظر گرفته می شود. برای تخمین تعداد کلاس ها توسط روش خوشه بندی، دو معیار جدید پیشنهاد شده است. برای ارزیابی مدل های پیشنهادی از چهار سیستم به عنوان مورد مطالعه استفاده شده است: سیستم کشتیرانی، بازی مونوپول و دو سیستم خانه الکترونیکی. نتایج ارزیابی نشان می دهد که مدل مبتنی بر بهینه سازی از لحاظ طراحی نمودار کلاس با انسجام بالا و اتصال و پیچیدگی پایین موفق تر از مدل مبتنی بر خوشه بندی بوده است، در مقابل مدل مبتنی بر خوشه بندی نمودارهای کلاس نزدیک تری به نظر متخصص تولید کرده است.