شماره ركورد
26233
پديد آورنده
حديثه شعبان نورح
عنوان
پيمانهسازي مجدد با استفاده از الگوريتمهاي فرا ابتكاري با بيش از يك هدف
مقطع تحصيلي
كارشناسي ارشد
رشته تحصيلي
مهندسي كامپيوتر-نرم افزار
سال تحصيل
1400
تاريخ دفاع
1400/09/29
استاد راهنما
دكتر سعيد پارسا
دانشكده
كامپيوتر
چكيده
تعمير و نگهداري سيستمهاي نرمافزاري و توليد كدهاي وابك نگهداري به دليك تغييرات مداوم مانند معرفهي ويژگيهاي جديد، برطرف نمودن اشكالات كهد و افهزايش انهدازه پروژهههاي نهرمافهزاري در دنيهاي واوعهي و همچنين طراحيهاي بد معماري، بسيار پيچيده و هزينهبر شده است. اين تغييرات مهيتواننهد نتهايج منفهي مانند پخش بودن كلاسها داخك بستهها را روي كيفيت طراحي نرمافزار بگذارند. پيمانهسازي مجدد نرمافزار به عنوان متدي براي افزايش ساختاربندي داخلي كد جهت بهبود بسياري از خصوصيات نرمافزار مانند وابليت نگهداري در نظر گرفته شده است. از اين حيث براي حك پيچيدگيها، كدها و نرمافزارهها را بهه بسهتههها يها پيمانههايي كه حاوي كلاسهاي برنامه هستند تجزيه ميكنند. همچنين علاوه بر بسهتهها، اوهداماتي جههت دستهبندي و سازماندهي متدها و توابع داخك كلاسها نيز انجام ميگيرند. از ايهن رو پيمانههسهازي مجهدد و بهينهسازي خودكار سيستمها، يكي از پركاربردترين راهكارها براي بهبود كيفيت، بهبهود وابليهت نگههداري و افزايش بهرهوري توسعهدهنده در سيستمها ميباشد كه بسيار مهم و چالشبرانگيز است. پيمانهسازي كد روشي است كه از آن به وصد تقسيم نمودن يك سامانهي نرمافزاري به بخشهاي مستقك از هم به نامهاي بسته، كلاس يا متد - كه انتظار ميرود منسجم و غير وابسته باشند – انجام ميشود. پيمانه سازي كد از منظر ديگر يكي از چالشهاي موجود در حوزه مهندسي نهرمافهزار اسهت؛ چهرا كهه ايجهاد يهك پيمانهبندي مناسب، بهينه و وابك فهم بسهيار حهازز اهميهت اسهت. از ايهن رو در ايهن گهزاره بهه معرفهي و دستهبندي روههاي موجود پيمانهسازي مجدد و پيادهسازي ابزاري به جهت انجام اين كهار بها الگوريتمهها، اهداف و عمليات مختلف پرداختهايم. در ادامه اين ابزار بها اسهتفاده از معيارههاي ارزيهابي گونهاگون توانسهت اهدافي چون انسجام معنايي را به طور ميانگين حهدود 21.55درصهد، فاصهله از تهوالي اصهلي حهدود 7.68 درصد، تجمع 3.79درصد، اتصال 26.7درصد و انسجام به اندازه 5.4درصد اندازه ابتدايياشان بهبهود دههد. همچنين نشان داديم كه روه پيشنهادي ما در زمينههاي افزايش دوهت، بهازخواني، پيمانهبنهدي و كهاهش تعداد تغييرات اعمال شده بر روي كد در جايگاه خوبي نسبت به ساير روهها ورار دارد.
تاريخ ورود اطلاعات
1400/12/22
عنوان به انگليسي
Re-modularization using meta-heuristic algorithms with more than one objective
تاريخ بهره برداري
12/20/2022 12:00:00 AM
دانشجوي وارد كننده اطلاعات
حديثه شعبان نورح
چكيده به لاتين
Maintenance of software systems and development of maintainable code has become very complex and costly due to frequently changes such as the introduction of new features, fixing code problems and increasing the size of real-world software projects as well as poor architectural designs. These can lead to bad software design quality, such as the distribution of classes within packages. Software remodularization is considered as a way to improve the internal structure of the code to improve many software features such as maintainability. To solve complexity, code and software will break down into packages or modules that contain application classes. In addition to packages, actions are taken to categorize and organize methods and functions within classes. Remodularization and automatic optimization of systems are one of the most widely used solutions to improve quality, improve maintenance, and increase developer productivity in systems, which is very important and challenging. Remodularization of code is a process by which changes are made to the internal structure of systems code without compromising its performance. Code remodularization is a technique used to divide a software system into independent sections called package, class, or methods, which are expected to be coherent and independent. While code remodularization improves the structure of software systems, there are many basic tasks, including reducing the number of code changes, maintaining the meaning of software design and behavior, and maintaining the consistency of changes made using previous changes applied to the system. Code remodularization from another aspect is one of the challenges in software engineering; because it is very important to create a proper, optimal, and understandable modularization. There are several ways for answering this challenge, among which we can consider, for example, search-based and metha-heuristic methods. There are many research-based solutions, including the methods proposed by genetic algorithms in this field, the best of which are multi-objective methods. In this report, we will discuss remodularization methods, and in particular, many-objective search-based methods, their objectives and operations.
كليدواژه هاي فارسي
پيمانه سازي مجدد , بازسازي , نگهداري نرم افزار , پيمانه سازي چندين هدفه
كليدواژه هاي لاتين
Remodularization , Refactoring , Software Maintainability , many-objective remodularization
Author
hadise shaaban norah
SuperVisor
saeid parsa