=Paper= {{Paper |id=Vol-2291/tutorial1 |storemode=property |title=None |pdfUrl=https://ceur-ws.org/Vol-2291/tutorial1.pdf |volume=Vol-2291 }} ==None== https://ceur-ws.org/Vol-2291/tutorial1.pdf
  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.