Tez No İndirme Tez Künye Durumu
385025
An approach to manage variability in object-oriented applications with feature models / Nesne yönelimli uygulamalarda değişkenliği yetenek modelleri ile yönetmek için bir yaklaşım
Yazar:ENDER BULUT
Danışman: DR. CEVAT ŞENER
Yer Bilgisi: Orta Doğu Teknik Ü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:
Onaylandı
Yüksek Lisans
İngilizce
2014
82 s.
Bu tezde, nesneye dayalı uygulamalarda yetenek modeli ve basit bir kaynak kod üretme tekniği kullanılarak değişkenliği yönetmeye çalışan bir yaklaşım dizayn edildi ve geliştirilmiştir. Bu yaklaşım pratik bir yol ile nesneye dayalı konfigure edilebilir uygulamalar geliştirebilmeyi sağlar. Yani, bu yöntemle geliştirilen bir uygulama girdi olarak sadece önceden tanımlanmış olan bir alandaki kullanıcı seçimlerini içeren bir konfigurasyon dosyasını alır ve daha sonra, kendini bu seçimlere göre otomatik olarak yapılandırıp yönetir. Bu yaklaşımı kullanarak bir uygulama geliştirmek için takip edilmesi gereken bir kaç adım vardır. Öncelikle, bir alandaki değişkenlik noktaları belirlenir ve yetenek modeli kullanılarak tasarlanır. Yetenek modeli tasarlandıktan sonra, bizim metodumuz için gerçekleştirilmiş olan kod üreticisi ara birimleri, konfigürasyon sınıflarını ve özel olarak değişkenliği yönetmek için kullanılmak üzere veri yapıları olarak tasarlanmış nitelikleri ile birlikte varlık sınıflarını içeren yarı otomatik kaynak kod taslaklarını otomatik olarak üretir. Yazılım mimarisinde uzman olan yazılım geliştiriciler de bir sonraki adımdan sorumlu olacaklardır. Bu geliştiriciler üretilmiş olan bu taslak kaynak kodlarını, uygulamanın ortaklığını ve değişkenliğini göz önünde bulunduran veri yapılarını kullanarak manuel olarak geliştirir ve böylece, bu uygulamanın değişik yetenek kombinasyonları için çalışması sağlanır. Son adımda, yetenek diyagramını anlayabilen bir geliştirici veya bir müşteri bile FeatureIDE nin konfigurasyon tanımlayıcısında kurallar ve zorunluluklara göre uygulamada olmasını istediği yetenekleri seçebilir ve böylece alandaki değişkenlikler doğrudan doğruya ve otomatik olarak yetenek modeli aracılığıyla bu nesneye dayalı uygulamaya yansıtılabilir. Ayrıca bu çalışmanın katkısını daha iyi gösterebilmek için, bu önerilen yaklaşım örnek bir olay incelemesi olarak internet üzerinden alışveriş alanına uygulanmıştır.
In this thesis, an approach to manage variability in object-oriented applications by using a feature modeling language and a simple source code generation technique has been designed and developed. This approach provides developing configurable object oriented applications in a practical way. That is, an application developed with our approach takes just a configuration file including user selections in a pre-defined domain as input and then automatically configure and manage itself with respect to these selections. To build an application by using this approach, there are several steps that should be followed. First of all, the variability points in the domain are specified and designed by using feature model. After the feature model is designed, the code generator implemented for our approach produces automatically the semi-automatic source code templates containing interfaces, configurator classes and entity classes with attributes designed specially as data structures to be used to manage variability. Software developers who are experts in software architecture will be responsible for the next step. The developers manually develop the application with the generated source code templates by using the data structures considering the commonality and variability of the domain and so the application can be provided to work for various feature combinations. In the final step, a developer or even a customer that can understand the feature diagram selects the desired features of the application according to the rules and constraints in the configurator of a feature modeling language like FeatureIDE and so that the variabilities in the domain can be reflected automatically and directly to this object-oriented application with the feature model. Moreover, the proposed approach is applied to an online shopping domain as a case study in order to demonstrate concretely the contribution of this work.