Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım Doç.Dr. Murat Paşa UYSAL Prof.Dr. A. Erhan MERGEN
Yazılım Yeniden Yapılama Genel olarak Yazılım Yeniden Yapılama (YYY): (a) Mevcut sistemi iyileştirmek, (b) Mevcut yazılımın işlevlerini geliştirmek ve ona yeni işlevler katmak, (c) Yazılımın kalitesini iyileştirmek amacıyla gerçekleştirilir. Bu süreçte, Tersine Mühendislik (reverse engineering), (b) Yeniden Düzenleme (restructuring, refactoring) ve (c) İleriye Mühendislik (forward engineering) etkinlikleri gerçekleştirilmektedir. 2
Problem 1. Yoğun iş gücü ve kaynak gerektiren YYY süreçlerinin otomatik hale getirilebilmesi, üretilen bileşen ve çıktıların sonraki aşama ve süreçlerde tekrar kullanılabilmesinin sağlanması, 2. Bir YYY projesinde sadece yazılımsal değil, aynı zamanda ilgili kurumda değişen süreç, veri, donanım ve teknolojiyle ilgili gereksinimlerin bütüncül ele alınması zorunluluğu, 3
Problem 3. YYY, MGYG araştırma alanı çerçevesinde; süreçler arasında bilgi paylaşımına, farklı katmanlardaki (süreç-yazılımdonanım) bileşenlerin entegrasyonuna, bunlar arasındaki yapısal ve kavramsal boyuttaki ilişkilerin ortaya konulmasına olanak tanıyacak anlamsal yöntem ve araçlara ihtiyaç vardır. 4
Çalışmanın Alana Katkıları 1. YYY da bulunan bütün süreçlere ve bileşenlere bütüncül ve tümleşik olarak yaklaşılması, bu amaçla YYY ya yönelik bir Kurumsal Mimari (KM) nin geliştirilmesi, 2. Model Güdümlü Yazılım Geliştirme (MGYG), YYY bileşenleri ve önerilen KM modelinin anlamsal yapılarının, tasarım ve değerlendirme süreçlerinin, ontolojik yöntem, teknik ve araçlar kullanılarak iyileştirilmesidir. 5
Kurumsal Mimari KM yi, bir işletmeye ait süreçleri, yazılım ve bilişim alt yapısının tasarımı ve geliştirilmesinde kullanılan yöntemler, modeller, ilke ve prensiplerin bütünü olarak tanımlamak mümkündür. KM ler, (a) bilişim stratejileriyle iş stratejilerini, (b) ogranizasyonun alt yapısı ve süreçlerini ve (c) bilişim alt yapısı, yazılım ve süreçlerini uyumlu hale getirirler. TOGAF, Zachman, DoDAF, IBM EA bellli başlı KM tasarım yaklaşımlarıdır. 6
Kurumsal Mimari 7
Kurumsal Mimari 1. Mimari Vizyon 8. Değişim Yönetimi 2. İş Mimarisi 7. Uygulama Yönetimi İhtiyaçların Yönetimi 3. Bilişim Sistemleri Mimarisi 6. Geçişi Planlanma 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler TOGAF Mimari Geliştirme Yöntemi (ADM) 8
Model Güdümlü Yazılım Geliştirme MGYG de yazılım geliştirme sürecinde, işlemler modeller arasında bir dizi dönüşüm olarak gerçekleşmekte, çeşitli katman ve dönüşüm etkinliklerinden oluşan bir mimari çerçeve doğrultusunda yazılım evrilmektedir. MGYG de temel amaç: Yazılım karmaşıklığını gidermek, Modeller aracılığıyla yazılım süreçlerinde genelleme ve soyutlama düzeylerinin artırmak, Geliştirilen modellerle yazılım kodlarına bir temel oluşturmaktır. 9
Model Güdümlü Yazılım Geliştirme Konu Alanı ve İş Modelleri (Doküman, İş Akışı Çizenekleri) Hesaplama Bağımsız Model Analiz ve Tasarım Modelleri (UML Çizenekleri) Platform Bağımsız Model Detaylı Tasarım Modelleri (Java, C#, XML, vb.) Platform Spesifik Model Platform Spesifik Model 10
Ontoloji Bir ontoloji, herhangi bir konu alanıyla ilgili temel terim ve kavramları, varlıkları, onlar arasındaki ilişkileri, bu kavram ve ilişkiler arasındaki kuralları belirleyen bir bilgiyi temsil yöntemidir. Bilgi yönetimi uygulamalarında, bilgi çıkarımında, veritabanı tasarımı ve entegrasyonu ile akıllı bilgi sistemlerinin tasarımında ontolojiler kullanılmaktadır. Örneğin Anlamsal Web (Semantic Web) ontolojinin bir uygulama alanı ve OWL ise ontoloji tasarım dilidir. 11
Yöntem Bu araştırma Tasarım Bilimi Araştırma Yönteminde (TBAY) (Design Science Research) çerçevesinde yürütülmüş, YYY süreçlerine yönelik geliştirilen KM, araştırmanın çıktısını oluşturmuştur. Çalışmanın TBAY doğrultusunda teorik temelleri ve ana bileşenleri: YYY, MGM, TOGAF v.9.1 Kurumsal Mimari Yaklaşımı ve Ontoloji bilgi alanlarıdır. TBAY de, mühendislik, bilişim sistemleri ve yazılım alanındaki problem alanlarına yönelik, belirli işlev ve özelliklere sahip araç, sistem ve modeller geliştirilirken aynı zamanda ilgili araştırma alanına bilimsel katkıda bulunmak hedeflenmektedir. 12
Yöntem 13
YYY Yönelik MGYG Modeli 14
YYY a Yönelik Kurumsal Mimari ve Geliştirilmesi KM geliştirme sürecinde TOGAF v.9.1 (The Open Group Architecture Framework) standardı kapsamındaki ADM (Architecture Development Method) mimari geliştirme yöntemi temel alınmış, Bu süreç aynı zamanda TBAY nin tasarımgeliştirme-değerlendirme adımlarıyla da bütünleştirilmiştir. Çalışma süresince ArchiMate ortamı, KM geliştirme ortamı ve modelleme dili olarak kullanılmıştır. 15
YYY Kurumsal Mimari Proje Süreçleri ve MGYG Katmanı 16
YYY Kurumsal Mimari Proje Süreçleri ve MGYG Katmanı Bu katman ihtiyaç analizinin yapıldığı, MGM kapsamında hesaplama ve platform-bağımsız modellerin oluşturulduğu, yazılım etkinliklerin bütünleştirilerek paralel yürütüldüğü aşamadır. t : M 1 (S 1 ) F1 M 2 (S 2 ) F2 M s M s a M t a M t t, YYY sürecindeki t 1, t 2 t n sıralı model dönüşümlerini, S 1 yeniden yapılandırılacak kaynak yazılımı, S 2 hedef yazılımı, M 1 kaynak yazılıma ait modelleri, M 2 hedef yazılıma ait modelleri, F 1 ile F 2 ise kaynak ve hedef yazılım model dönüşümlerinde kullanılan formal gösterim yöntemlerini simgelemektedir. M s a M t a vb. Söz Dizim Ağaçlarını simgelemektedir. 17
YYY Kurumsal Mimari Yazılım, Veri, Altyapı ve Donanım Katmanları 18
YYY Kurumsal Mimari Yazılım ve Veri Katmanı Bu aşama yazılım bileşenlerinin birbirleriyle ilişkilendirildiği ve geliştirildiği safhadır. İhtiyaç analizinde belirlenmiş işlevsel/işlevsel olmayan gereksinimler ve yazılım kalite ihtiyaçları, hedef programlama dili de dikkate alınırak, hedef yazılım mimarisi ve model dönüşüm kuralları doğrultusunda belirlenir. Başka bir ifadeyle; farklı seviyelerdeki MD 1, MD 2, MD n model dönüşümlerini içerecek YD 1 YD 2, YD n yazılım dönüşümleri yinelemeli ve artırımsal olarak gerçekleştirilmektedir. 19
Kurumsal Mimari 20
Kurumsal Mimarinin Test ve Değerlendirilmesi 1. Önerilen KM de yer alan YYY yapıları ve bileşenlerinin bilgiyi temsil gücü nedir? 2. Bu modeldeki bileşenler anlamsal olarak ne ölçüde birbirlerine bağımlı ve kendi içerisinde tutarlıdırlar? 3. Modelin kendi mimari bileşenleri olan iş süreçleri, uygulama ve altyapı katmanları arasında iletişime, bilgi alışverişine ve birlikte çalışabilirliğe ne ölçüde olanak tanınmaktadır? Cevap: KM nin değerlendirilmesi sürecinde ontolojik analiz ve değerlendirme yöntemleriyle söz konusu sorulara cevap verilebileceği değerlendirilmiştir. 21
Kurumsal Mimarinin Test ve Değerlendirilmesi 22
KM nin Alan Bağımlı Bir Ontolojiye Dönüştürülmesi 23
KM Ontolojisinin Geçerleme ve Doğrulaması Ontolojilerin önemli özelliklerinden birisi de genel amaçlı çıkarsama motorları kullanılarak modellenen alanla ilgili mantıksal çıkarsamalara ve sorgulamalara olanak tanımalarıdır. Bu aşamada Archimate ortamında geliştirilen ve OWL ye dönüştürülen KM ontolojisi, Protégé ortamına aktarılmış, SPARQL (Simple Protocol for RDF Query Langauge) eklentisi ve sorgulamaları ile; (a) tutarlılık, (b) sınıflama ve (c) anlamsal açısından geçerleme ve doğrulamaları yapılmıştır. 24
KM Ontolojisinin Geçerleme ve Doğrulaması Sorgu Nu. 1 2 Anlamsal Sorgu ve Amacı Amaç: Geliştirilen KM deki bileşenler arasındaki ilişki türleri ile KM nin hangi ortamda geliştirildiğini bulmak. ---------------------------------- Sorgu: SELECT?iliskiTurleri?GelistirmeOrtami WHERE {?iliskiturleri rdfs:subpropertyof?gelistirmeortami} Amaç: Geliştirilen KM deki alt sınıf-üstsınıf ilişkisi bulunan bileşenleri bulmak. ---------------------------------- Sorgu: SELECT?cocukSinif?babaSınıf WHERE {?cocuksinif rdfs:subclassof?babasınıf Sorgulamanın Sonucu KM e Ait Ontolojinin Yapısıyla İlgili Örnek SPARQL Sorguları 25
KM Ontolojisinin Geçerleme ve Doğrulaması 1 numaralı sorguda, geliştirilen KM de hangi ilişki türlerinin bulunduğu araştırılmaktadır. KM de, gerek bileşenler ve elemanlar arasında, gerekse süreç, uygulama ve teknoloji/altyapı katmanları arasında ilişki türlerinin en güçlüsü olan composition ilişkisi yoktur. Bir başka ifadeyle, var olması birisinin diğerine doğrudan bağlı, alt sınıf-üst sınıf ilişki türündeki herhangi bir süreç, yazılım ve donanım bileşeni bulunmamaktadır. 26
KM Ontolojisinin Geçerleme ve Doğrulaması Bu ise KM de, YYY doğrultusundaki ihtiyaçlara bağlı olarak; o iş süreçleri, yazılım ve donanım katmanlarındaki bileşenlerin biri veya birkaçında, o birbirlerini doğrudan etkilemeyecek ekleme, çıkarma, yazılım güncellemesi veya değişikliğinin yapılabileceği biçiminde yorumlanabilir. Dolayısıyla geliştirilen KM nin, ontolojik analiz yöntemleriyle anlamsal geçerleme ve doğrulamasının yapılabildiği görülmüştür. 27
Çalışmanın Sınırlılıkları Bu araştırmada geliştirilen KM nin, örnek olay, durum çalışması vb. deneysel yöntemlerle sınanması mümkün olmamıştır. Dolayısıyla, çalışma sonuçlarının genellenebilirliği bu yönüyle sınırlı düzeydedir. Bir diğer sınırlılık ise geliştirilen modelin nesneye yönelimli yazılım sistemleri için olması ve bu bağlamda yapısal programlamayla geliştirilmiş sistemlerin ihtiyaçlarına cevap verebilecek nitelikte olmamasıdır. 28
Sonuç ve Öneriler İlk izlenimlerimiz, geliştirilen bu KM nin değişik soyutlama düzeylerindeki YYY bileşenlerine farklı bakış açılarını kazandırdığı, YYY ile farklı paydaşların görüş ve ihtiyaçlarına cevap verebileceği yönündedir. KM in anlamsal yapısı ve bilgiyi temsil gücü ontolojik yöntemlerle analiz edilmiş, bilgisayarla işlenebilir hale getirilerek değerlendirilmiştir. Sunumumuz, bu KM nin uygulandığı, test ve değerlendirilerek sonuçların daha ayrıntılı biçimde tartışıldığı endüstri uygulamaları ile deneysel yazılım çalışmaların yapılması önerisiyle son bulmaktadır. 29
Teşekkürler! Doç.Dr. Murat Paşa UYSAL Prof.Dr. A. Erhan MERGEN