A Consolidated Approach for Building a Software Design Pattern Recommendation System

Loading...
Publication Logo

Date

2019

Journal Title

Journal ISSN

Volume Title

Publisher

İzmir Ekonomi Üniversitesi

Open Access Color

OpenAIRE Downloads

OpenAIRE Views

Research Projects

Journal Issue

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.
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.

Description

Keywords

Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control, Tasarım desenleri, Design patterns

Turkish CoHE Thesis Center URL

Fields of Science

Citation

WoS Q

N/A

Scopus Q

N/A

Source

Volume

Issue

Start Page

1

End Page

74
Page Views

3

checked on Feb 13, 2026

Downloads

16

checked on Feb 13, 2026

Google Scholar Logo
Google Scholar™

Sustainable Development Goals

9

INDUSTRY, INNOVATION AND INFRASTRUCTURE
INDUSTRY, INNOVATION AND INFRASTRUCTURE Logo