Son Kullanıcı Geliştirme için Otomatik Kod Üretim Aracının Tasarımı ve Gerçeklenmesi - AKBULUT, AKHAN (My University, 2017)
Son kullanıcı geliştirme yaklaşımları; yazılım mühendisi olmayan kullanıcıların, yazılım çıktılarını kendilerinin oluşturabileceği, değiştirebileceği ve uyarlayabileceği teknolojiler ve yöntemlere odaklanmaktadır. Bu amaçla; birleştirme teknolojileri, örnek ile programlama, görsel programlama, model tabanlı yaklaşımlar, servis yönelimli mimariler ve otomatik kod üretimi kullanılabilmektedir. Bu çalışmada, görsel programlama ile birlikte otomatik kod üretimi tercih edilmiş ve bir son kullanıcı geliştirme aracı gerçeklenmiştir. Seçilen uygulama alanı olan rezervasyon sistemleri için otomatik kod üretimi sağlanmıştır. Bu sürecin temel faydası; geliştirme zamanın kısaltılması, son kullanıcıların geliştirmesini yapabilmesi ve sistem tasarımı ile üretilen uygulama arasındaki farklılıkların en aza indirgenerek, tutarlılığın sağlanmasıdır. Farklı rezervasyon sistemleri için kullanılması amaçlanan bu sistem, kullanıcıların iş modellerini görsel ara yüzler ile tanımlamalarına ve bu tasarımdan web tabanlı uygulamanın çalışması için gerekli tüm dosyaların üretilmesine imkan tanımaktadır. Son kullanıcılarda web teknolojilerine ait herhangi bir geliştirme tecrübesi aranmayıp, uygulamanın çalışması için gerekli ara yüzler, stil ve tasarım dosyaları, veritabanının oluşturulması otomatik kod üretimi ile gerçekleştirilmiştir. Bu çalışmada; son kullanıcı geliştirme için görsel programlama ve otomatik kod üretimi tekniklerinin, alana özel uygulanması gerektiği, jenerik yaklaşımların etkin olmayacağı sonucuna varılmıştır.

End user development (EUD) approaches focus on technologies and methods, which can help end users who are not software engineers, to create, change, and adapt their own software artifacts. For this purpose, composition technologies, instance-based programming, visual programming, model based approaches, service oriented architectures, and automatic code generation techniques can be used. In this study, visual programming in conjunction with automatic code generation was opted and an end-user development tool was implemented. As the case study, automatic code generation was performed for reservation systems. The main aims of this process are to shorten the development time, let the end users develop their own tools, and create the consistency between system design and generated application. This system, which is aimed to be used in different reservation applications, lets users define their business models with graphical objects, and generate all the necessary files from this design for a web-based application. It is not required by the end-users to know web technologies and in addition to the database, interfaces, style and design files are generated automatically. In this study, it is shown that visual programming in conjunction with automatic code generation must be applied for the specific domain instead of a generic purpose implementation and this is a more efficient approach from enduser development perspective.
Design and Implementation of an Automatic Code Generation Tool for End-User Development
Keywords: Son Kullanıcı Geliştirme; Son Kullanıcı Yazılım Mühendisliği; Otomatik Kod Üretimi; Rezervasyon Sistemi; Yazılım Aracı; Görsel Programlama; End-User Development; End User Software Engineering; Automatic Code Generation; Reservation System; Software Tool; Visual Programming