عنوان
روشي براي كاهش بدهكاري فني نرمافزار با استفاده از بازآرايي خودكار كد
نويسنده اصلي
حميدرضا احمدي
مقطع تحصيلي
كارشناسي ارشد
چكيده
امروزه بدهكاري فني در بحث مديريت پروژههاي نرمافزاري، تبديل به يك مسئله بسيار مهم شده است. زيرا با رونق گرفتن روشهاي توسعه چابك نرمفزار، اعمال تغييرات در نرمافزار بهمنظور اضافه كردن ويژگيهاي جديد، به امري ثابت در مديريت پروژههاي نرمافزاري بدل شده است. بدهكاري فني اشاره دارد به فاصله ميان حالت بهينه پروژه نرمافزاري در هر يك از سطوح مختلف طراحي، و حالتي كه آن پروژه نرمافزاري داراست. اين فاصله گاه عمداً و گاه سهواً، توسط طراحان و سازندگان نرمافزار بهوجود ميآيد. از آنجا كه زياد شدن اين فاصله منجر به شكست پروژه نرمافزاري ميشود، بهجهت كم كردن اين فاصله، يا همان بدهكاري فني، لازم است در زمانهاي مناسب در طول عمر پروژه نرمافزاري، بازپرداخت انجام شود. در سطح كد و ساختار نرمافزار، بازپرداخت بدهكاري فني معادل است با بازآرايي نرمافزار و ايجاد بهبودهايي در كد و ساختار آن، كه ويژگيهاي كيفي نرمافزار را ارتقاء ميبخشد بدون آنكه تغييري در رفتار و نماي خارجي نرمافزار ايجاد كند.
معمولاً انجام بازآرايي در پروژههاي نرمافزاري، هزينههاي زيادي بهدنبال دارد. در نتيجه محققان همواره بهدنبال راهحلهايي بودهاند كه اين هزينه را به حداقل برسانند و بهترين راه جهت كم كردن هزينههاي يك فرآيند، خودكارسازي آن است. يكي از روشهاي بازآرايي خودكار نرمافزار كه در سالهاي اخير، بسيار مورد توجه قرار گرفته است، روش مبتني بر مهندسي نرمافزار جستوجو-محور است. اين روش بهدليل داشتن جامعيت و چندمنظره بودن، روش خوبي است اما مشكلاتي نيز دارد كه مهمترين آنها، عدمقطعيت نتايج و تصاعدي بودن زمان اجراي بازآرايي با توجه به اندازه نرمافزار است.
در اين پژوهش راهكاري ارائه شده است كه با الهامگرفتن از بازآرايي جستوجو-محور و بهرهجويي از فنون يادگيري تقويتي، مشكلات عدمقطعيت و زمان اجرا براي نرمافزارهاي بزرگ در آن حل شده است. در روش پيشنهادي، با هدفمند كردن و هوشمندسازيِ نحوه انتخابِ بازآراييهايي كه در روش جستوجو-محور از آنها استفاده ميشد، مشكل عدمقطعيت حل شده است. همچنين بهدليل كم كردن وابستگي ميان انتخاب بازآرايي مناسب و زمان اجراي بازآرايي، مشكل زمان در نرمافزارهاي بزرگ تا حدود زيادي بهبود پيدا كرده است.
با انجام آزمايشهاي متعدد، روش پيشنهادي از منظرهاي رفتار در بازآرايي، زمان بازآرايي و ميزان بهبود كد، مورد بررسي قرار گرفت. نتايج آزمايشها، نشان ميدهد با افزايش حجم و اندازه نرمافزار، عملكرد روش پيشنهادي نيز نسبت به روشهاي مبتني بر مهندسي نرمافزار جستوجو-محور، هم از نظر ميزان كاهش بدهكاري فني و هم از نظر سرعت بازآرايي، بهتر ميشود. بهطوريكه در بازآرايي بزرگترين مورد مطالعاتي، روش پيشنهادي توانسته است، نسبت به روش جستوجو-محور ميزان بهبود را حدود 40 درصد افزايش دهد، در حالي كه مدت زمان اين بازآرايي را بيش از 98 درصد كاهش داده است.
شماره ركورد
196012
دانشگاه
دانشگاه علم و صنعت ايران
استاد مشاور
دكتر مهرداد آشتياني
رشته تحصيلي
مهندسي نرمافزار - تمركز سيستمها
استاد راهنما
دكتر محمد عبدالهي ازگمي