امروزه از یک سو چالش پیادهسازی اصولی سامانههای بزرگ برای نگهداری آسان آن و قابلیت توسعهی راحتتر مطرح است و از سوی دیگر پروژههای بسیاری وجود دارند که جزئیات کامل عملیاتی آنها نهتنها برای توسعهدهنده که حتی برای کاربر یا متقاضی آن نیز مشخص نیست. همچنین ممکن است بر اساس پیشرفت کار درخواستها تغییر کنند. منظور از بازسازی کد منبع نرمافزار، تلاش برای بهبود کیفیت خواص غیرعملکردی کد منبع مانند قابلیت درک یا رعایت اصول شیگرایی، بدون تغییر خروجی است تا با پیشگیری از پیچیده شدن بیش از حد کد منبع، امکان درک و توسعهی سادهی آن در آینده فراهم باشد. پژوهشهایی که تاکنون در حوزهی بازسازی معماری کد منبع نرمافزار صورت گرفته است، اصلاح در یک سطح مشخص مانند کلاس را مدنظر قرار دادهاند و ترکیب مناسب آنها در قالب پیمانههای معنادار مانند بسته یا مولفه در مراتب بالاتر مطرح نشده است. در این رساله رویکرد سلسلهمراتبی برای بازسازی کد منبع نرمافزار مطرح میشود. خروجی چنین الگوریتمهایی یک درخت است که ترکیب مناسب در سطوح مختلف را مشخص کرده و پایینترین سطح از هر شاخه برای پیمانهبندی مناسب را پیشنهاد میدهد. به این ترتیب توسعهدهنده یک دید انتزاعی از کل ساختار و لایههای مختلف بهدست آورده و امکان تصمیمگیری برای جابهجایی پیمانهها با توجه به درخت پیشنهادی خروجی الگوریتم پیدا میکند. این پیمانهبندی سلسلهمراتبی درست، علاوه بر آسان کردن درک عملکرد کد، قابلیت استفادهی مجدد از پیمانهها با حجم بیشتر را نیز فراهم میکند.
متن يادداشت
Nowadays there are many challenges in implementing large software systems for ease of maintenance and easier scalability. On the other hand, there are many projects whose full operational details are not known not only to the developer but even to the user or applicant. Software source code refactoring is an attempt to improve the quality of non-functional properties of source code, such as the ability to understand without changing the output, to prevent simplification of the source code so that it can be easily understood and developed in the future. Researchs in thr field of software source code architecture refactoring has considered modification at a specific level, such as class, and their proper combination in the form of meaningful modules such as packages or components has not been proposed at a higher level. In the proposed thesis, a hierarchical approach to software source code refactoring is proposed. The output of such algorithms is a tree that specifies the appropriate combination at different levels and suggests the lowest level of each branch for proper scaling. In this way, the developer gets an abstract view of the whole structure and different layers, and it is possible to decide to move the modules according to the proposed output algorithm tree. This correct hierarchical modulation, in addition to making it easier to understand code performance, also provides the ability to reuse larger modules.
عنوانهای گونه گون دیگر
عنوان گونه گون
Software Source Code Refactoring using Hierarchical Approach
نام شخص به منزله سر شناسه - (مسئولیت معنوی درجه اول )