A Consolidated Approach for Building a Software Design Pattern Recommendation System

dc.contributor.advisor Çelikkan, Ufuk
dc.contributor.author Bozoklar, Dilara
dc.date.accessioned 2023-06-16T12:27:31Z
dc.date.available 2023-06-16T12:27:31Z
dc.date.issued 2019
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. en_US
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.identifier.uri https://tez.yok.gov.tr/UlusalTezMerkezi/TezGoster?key=FgmkGchPKo23qQqBeqzVZjR6z_jjQjloNO3kAhBrMUgpsm2No-Bdn2KPyrL6VNcG
dc.identifier.uri https://hdl.handle.net/20.500.14365/38
dc.language.iso en en_US
dc.publisher İzmir Ekonomi Üniversitesi en_US
dc.rights info:eu-repo/semantics/openAccess en_US
dc.subject Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol en_US
dc.subject Computer Engineering and Computer Science and Control en_US
dc.subject Tasarım desenleri en_US
dc.subject Design patterns en_US
dc.title A Consolidated Approach for Building a Software Design Pattern Recommendation System en_US
dc.title.alternative Yazılım Tasarım Şablonları Tavsiye Eden Bir Sistemin Oluşturulması için Birleşik Bir Yaklaşım en_US
dc.type Master Thesis en_US
dspace.entity.type Publication
gdc.author.institutional Bozoklar, Dilara
gdc.coar.access open access
gdc.coar.type text::thesis::master thesis
gdc.description.department İEÜ, Lisansüstü Eğitim Enstitüsü, Bilgisayar Mühendisliği Ana Bilim Dalı en_US
gdc.description.endpage 74 en_US
gdc.description.publicationcategory Tez en_US
gdc.description.scopusquality N/A
gdc.description.startpage 1 en_US
gdc.description.wosquality N/A
gdc.identifier.yoktezid 567156 en_US
gdc.virtual.author Çelikkan, Ufuk
relation.isAuthorOfPublication 95582a0f-53d4-4e24-a6c6-e7b2c6968ce6
relation.isAuthorOfPublication.latestForDiscovery 95582a0f-53d4-4e24-a6c6-e7b2c6968ce6
relation.isOrgUnitOfPublication 805c60d5-b806-4645-8214-dd40524c388f
relation.isOrgUnitOfPublication 26a7372c-1a5e-42d9-90b6-a3f7d14cad44
relation.isOrgUnitOfPublication e9e77e3e-bc94-40a7-9b24-b807b2cd0319
relation.isOrgUnitOfPublication.latestForDiscovery 805c60d5-b806-4645-8214-dd40524c388f

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2882.pdf
Size:
1.25 MB
Format:
Adobe Portable Document Format