=Paper=
{{Paper
|id=Vol-2291/tutorial1
|storemode=property
|title=None
|pdfUrl=https://ceur-ws.org/Vol-2291/tutorial1.pdf
|volume=Vol-2291
}}
==None==
Tersine Mühendislik ile PL/SQL Programlarında Yazılım
Mimari Tasarımının Elde Edilmesi
Hasan Sözer, Özyeğin Üniversitesi
Özet: Büyük ve karmaşık yazılım sistemlerinin kolay anlaşılabilmeleri ve idame
edilebilmeleri için mimari tasarımları önem teşkil etmektedir. Ancak bu sistemlerin mimari
tasarımlarına ilişkin dokümanlar mevcut veya güncel olmayabilir. Bir sistemin mimari
seviyedeki organizasyonunu tersine mühendislik ile kaynak kodundan üretmek üzere
kümele teknikleri kullanılagelmiştir. Bu teknikler yazılım modülleri arasındaki
bağımlılıkları dikkate alarak bir gruplama önermektedir; ancak, tüm programlar için
maalesef doğrudan uygulanamamaktadır. Modüller birbirlerine farklı sebeplerle bağımlı
olabilirler. Örneğin, PL/SQL programlarında yer alan modüller, aynı veritabanı tablolarına
eriştiklerinden ötürü birbirlerine oldukça bağımlı olan ayrık prosedürler içerebilirler. Bu
seminerde, modüller arasındaki birden fazla ve farklı tipte bağımlılıkları dikkate alarak
sistemlerin mimari tasarımını elde etmek üzere önerilen bir yaklaşım anlatılmaktadır. Bu
yaklaşımda, öncelikle her bir bağımlılık türüne göre ayrı bir kümeleme
gerçekleştirilmektedir. Ardından, elde edilen kümeleme sonuçları bir araya getirilerek
nihai gruplamalar elde edilmektedir. Önerilen yaklaşım telekomünikasyon alanında
kullanılmakta olan büyük ölçekli yazılım sistemleri üzerine uygulanmıştır ve elde edilen
sonuçların doğruluğu yazılım mimarları tarafından teyit edilmiştir.
Reverse Engineering Software Architecture Design of PL/SQL
Programs
Hasan Sözer, Özyeğin Üniversitesi
Abstract: Software architecture design documentation is an important artifact that
supports the understandability and maintainability of large and complex software systems.
However, this documentation might be missing or obsolete. Clustering techniques have
been utilized for reverse engineering the software architecture design of a software system
based on its source code. These techniques provide high-level abstractions by
automatically grouping software modules based on direct interdependencies among them;
however, they cannot be directly applied for all types of systems. Software modules can
be coupled for various reasons. For example, modules in PL/SQL programs can be coupled
indirectly, due to commonly accessed database tables. In this seminar, we discuss a
software architecture reconstruction approach for PL/SQL programs. In this approach,
separate clustering results are obtained based on various types of dependencies. Then,
cluster aggregation is used for combining these results to obtain the final clustering. The
approach is applied on a large-scale legacy system from the telecommunications domain
and the accuracy of the obtained results is confirmed by the software architects.