A consolidated approach for building a software design pattern recommendation system
dc.contributor.advisor | Çelikkan, Ufuk | |
dc.contributor.author | Bozoklar, Dilara | |
dc.date.accessioned | 2021-05-08T07:52:25Z | |
dc.date.available | 2021-05-08T07:52:25Z | |
dc.date.submitted | 2019 | |
dc.date.issued | 2019-10-10 | |
dc.identifier.uri | https://acikbilim.yok.gov.tr/handle/20.500.12812/635686 | |
dc.description.abstract | 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. | |
dc.description.abstract | 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. | en_US |
dc.language | English | |
dc.language.iso | en | |
dc.rights | info:eu-repo/semantics/openAccess | |
dc.rights | Attribution 4.0 United States | tr_TR |
dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | |
dc.subject | Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol | tr_TR |
dc.subject | Computer Engineering and Computer Science and Control | en_US |
dc.title | A consolidated approach for building a software design pattern recommendation system | |
dc.title.alternative | Yazılım tasarım şablonları tavsiye eden bir sistemin oluşturulması için birleşik bir yaklaşım | |
dc.type | masterThesis | |
dc.date.updated | 2019-10-10 | |
dc.contributor.department | Bilgisayar Mühendisliği Ana Bilim Dalı | |
dc.subject.ytm | Design patterns | |
dc.identifier.yokid | 10272288 | |
dc.publisher.institute | Fen Bilimleri Enstitüsü | |
dc.publisher.university | İZMİR EKONOMİ ÜNİVERSİTESİ | |
dc.identifier.thesisid | 567156 | |
dc.description.pages | 74 | |
dc.publisher.discipline | Diğer |