پیمانه بندی سامانه ی نرم افزاری با در نظر گرفتن دانش موجود در گراف وابستگی کد منبع
بابک پوراصغر
ریاضی
۱۳۹۹
۱۱۱ص.
سی دی
دکتری
علوم کامپیوتر
۱۴۰۰/۱۱/۲۵
از روش های پیمانه بندی برای بازیابی ساختار نرم افزار برای فهم درست آن و همچنین بازسازی نرم افزاراستفاده مͬ شود. در ادبیات موضوع، بیشتر الͽوریتم های ارائه شده برای پیمانه بندی سامانه های نرم افزاری بهدو دسته ی الͽوریتم های مبتنͬ بر جستجو و الͽوریتم های سلسله مراتبی طبقه بندی مͬ شوند. این روش ها سعͬمͬ کنند که گراف وابستگͬ موجودیت به دست آمده از کد منبع سامانه ی نرم افزاری را به چند مجموعه ی رأسͬافراز کنند. با توجه به چندجمله ای غیر قطع‐ͬسخت بودن مسئله ی پیمانه بندی، در سال های اخیر از روش هایتکاملͬ و مبتنͬ بر جستجو مانند الͽوریتم ژنتی ͷبرای این حل این مسئله، زیاد استفاده شده است. این روش هااز اطلاعات و دانش مرتبط با نظریه ی گراف که در گراف وابستگͬ موجودیت نهفته است، استفاده ی چندانͬنمͬ کنند. در این رساله ، الͽوریتمͬ موثر و مبتنͬ بر گراف برای پیمانه بندی نرم افزار به نام GMAارائه شده است.در الͽوریتم پیشنهادی، مفهوم عمق زنجیره ی ارتباط برای مقایسه ی تشابه و عدم تشابه جفت موجودیت هااستفاده شده است. همچنین، هفت معیار جدید برای بررسͬ کیفیت پیمانه بندی نرم افزار ارائه شده است.تشابه و فاصله ی معرفͬ شده در رساله نیز، الͽوریتم را قادر مͬ سازد که بتواند از اطلاعات نظریه گرافͬ نیزبهره ببرد. برای نشان دادن صحت و قابلیت اجرای الͽوریتم پیشنهادی، به بررسͬ موردی چند گراف نرم افزاریبا دامنه و اندازه های متفاوت پرداخته شده است. نتایج به دست آمده، نشان مͬ دهد که الͽوریتم پیشنهادی درمقایسه با سایر روش ها، پیمانه بندی هایی شبیه تر به پیمانه بندی فرد خبره ایجاد مͬ کند. انتظار مͬ رود که اینالͽوریتم بتواند به طراحان نرم افزار در فرایند مهندسͬ معکوس و بازیابی ساختار نرم افزار برای بدست آوردنمعماری های با پیمانه هایی قابل فهم و معقول کم ͷکند
Software System Modularization Considering the Knowledge in the Dependency Graph of Source Code