Tez No İndirme Tez Künye Durumu
567156
A consolidated approach for building a software design pattern recommendation system / Yazılım tasarım şablonları tavsiye eden bir sistemin oluşturulması için birleşik bir yaklaşım
Yazar:DİLARA BOZOKLAR
Danışman: DR. ÖĞR. ÜYESİ UFUK ÇELİKKAN
Yer Bilgisi: İzmir Ekonomi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:Tasarım desenleri = Design patterns
Onaylandı
Yüksek Lisans
İngilizce
2019
74 s.
Yazılım tasarım şablonları, yazılım geliştirme ve tasarımda sık karşılaşılan sorunlara standart çözümler sağlarlar. Sundukları birçok fayda arasında, yeniden kullanılabilir, genişletilebilir ve bakımı kolay yazılım sistemlerinin geliştirilmesine olanak tanıyor olmaları vardır. Tasarım şablonlarının anlaşılmasının karmaşıklığı, bu şablonlarının tasarımcılar tarafından yazılım tasarımı ve geliştirilmesine uyarlanmasını zorlaştırmaktadır. Tecrübesiz geliştiriciler için, belirli bir tasarım bağlamında doğru modeli seçmek zorlu bir görev haline gelir. Bu nedenle, tasarım şablonları öneren sistemler, özellikle tecrübesiz tasarımcılara ve geliştiricilere, tasarım problemlerinde doğru şablonu örnekleme konusunda yardımcı olabilir. Bu tezde, metin tabanlı bilgi alma, vaka bazlı öneri ve soru bazlı öneri metotlarını birleştirip, uygun bir şablon önerecek bütünleşik bir yaklaşım önerilmektedir Bahsedilen bu yaklaşımı kullanarak bir uygulama geliştirilmiştir. Bu etkileşimli bir uygulama olup, ilk önce metin tabanlı bilgi alımı ve vaka tabanlı öneriyi kullanarak otomatik olarak bir tasarım şablonu önerir. Bunu takip eden soru/cevap oturumu sayesinde sonuçlar iyileştirilir. Elde edilen sonuçlar sıralanır ve kullanıcıya sunulur. Uygulamanın etkinliği, bir tasarım deseni dersinde kullanılan çeşitli senaryolar kullanılarak test edilmiştir. Ön değerlendirmemiz, çoğu durumda doğru tasarım şablonunun ilk üçe yerleştirildiğini göstermektedir.
Software design patterns are standard solutions to common problems found in software development and design. Among many other benefits that they offer, they enable the creation of reusable, extensible and easy to maintain software systems. However, the complexity of comprehending design patterns hinders software designer's ability to adapt software design patterns in software design and development. For novice developers choosing the right pattern for a given design context and situation becomes a challenging task. For this reason, a design pattern recommendation system can be of great help especially to the novice designers and developers to instantiate the right pattern in their design problems. In this thesis, we propose a consolidated approach by combining text based information retrieval, case based recommendation and question based recommendation to suggest an adequate pattern to a design problem. A tool has been implemented using this methodology. It is an interactive tool which first automatically recommends a design pattern by using text based information retrieval and case based recommendation. It then improves the results after a question / answer session. The recommended patterns are ranked and presented to the user as a list of alternatives. The effectiveness of the tool was tested on several scenarios used in a design pattern course. Our preliminary evaluation shows that in majority of the cases, the correct design pattern is placed in the top three.