Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım

Benzer belgeler
Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım

Kurumsal Mimari. (Enterprise Architecture) MUSTAFA ULUS, 2015

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

Hızlı Uygulama Geliştirme (SE 340) Ders Detayları

9.DERS Yazılım Geliştirme Modelleri

Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru

1.Yazılım Geliştirme Metotları 1

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

Sistem ve Yazılım Nedir?

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü

SBE16 / Akıllı Metropoller Ekim 2016 / İSTANBUL

Bilgisayar Sistemleri; donanım, yazılım ve kullanıcılardan oluşur. Yazılım sadece belirli bir işlemi yapan bir program değildir. Yazılım belirli bir

Yazılım Mühendisliğinin Temelleri (SE 100) Ders Detayları

Yazılım Mühendisliği Bölüm - 2 Yazılım Geliştirme Yaşam Döngüsü. Cengiz GÖK

SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ

e-devlette Teknolojik Gelişmeler (ISE 423) Ders Detayları

Akıllı Ortamlarda Sensör Kontrolüne Etmen Tabanlı Bir Yaklaşım: Bir Jadex Uygulaması

Servis Yönelimli Mimari ve İş Süreç Yönetimi (SE 564) Ders Detayları

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi


SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

SİSTEM ANALİZİ VE TASARIMI

Yrd. Doç. Dr. Tuğba ÖZACAR ÖZTÜRK

Mobil Cihazlardan Web Servis Sunumu

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

3. sınıf. Bilgisayarla kataloglamanın doğuşu gelişimi ve bugünkü durum ele alınmaktadır. Bu derste

BMH-405 YAZILIM MÜHENDİSLİĞİ

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları

Yazılım Mühendisliği 1

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Bilgiyi Keşfedin! Özelleştirme, Eklenti ve Veri Entegrasyonu Kurumsal Seviyede Yönetim ve Performans

e-devlette Teknolojik Gelişmeler (ISE 423) Ders Detayları

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

VERİ TABANI UYGULAMALARI

Semantik Web Programlama (COMPE 567) Ders Detayları

Programlama Dilleri (COMPE 325) Ders Detayları

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Yazılım Örüntüleri (SE 461) Ders Detayları

Enterprise Architecture(EA) KURUMSAL MİMARİ

WEB 3.0 TEKNOLOJİSİNİN AÇIK KAYNAK YAZILIMLARLA UYGULANMASI

Yazılım Mimarisi (SE 322) Ders Detayları

Veritabanı Uygulamaları Tasarımı

Yönetim Sistemleri Kurulumu

UHeM ve Bulut Bilişim

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Yazılım Mühendisliği Bölüm - 3 Planlama

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

ESİS Projesi. Kaynaklar Bakanlığı

Semantik Bilgi Yönetimi

e-devlet (ISE 422) Ders Detayları

TÜRKİYE BİLİMSEL VE TEKNOLOJİK ARAŞTIRMA KURUMU ULUSAL AKADEMİK AĞ VE BİLGİ MERKEZİ YÖNETMELİĞİ. BİRİNCİ BÖLÜM Genel Hükümler

Nesneye Yönelik Tasarım ve Programlama (COMPE 501) Ders Detayları

Yrd. Doç. Dr. Övünç ÖZTÜRK

MerSis. Bilgi Teknolojileri Yönetimi Danışmanlık Hizmetleri

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

BLG Sistem Analizi ve Tasarımı. Öğr. Grv. Aybike ŞİMŞEK

T.C. DOKUZ EYLÜL ÜNİVERSİTESİ FEN FAKÜLTESİ BİLGİSAYAR BİLİMLERİ BÖLÜMÜ. BİL4007 Bitirme Projesi Uygulama Planı

MAYIS 2010 ÖZGÜR DOĞAN İŞ GELİŞTİRME YÖNETİCİSİ KAMU SEKTÖRÜ

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Bilgisayar Oyunları ve Simulasyon (COMPE 376) Ders Detayları

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

Uzman Sistemler (IE 416) Ders Detayları

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Teması sektörümüzdeki Yüksek Teknoloji Uygulamaları olan 11. Teknik Müşavirlik Kongremize hoş geldiniz.

Yazılım Yeniden Yapılamaya Yönelik Model Güdümlü ve Kaliteye Yönelimli Süreç Modeli

Farklı Mobil Platformlar Üzerinde Servis Tabanlı Mimari(SOA) Yaklaşımı: Elektronik Uçuş Çantası Vaka Çalışması

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

Bibliyografik Evrenin Gelişimi ve Kütüphanelerde Bağlı Veri Yaklaşımları

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği

İleri Java Programlama (COMPE 515) Ders Detayları

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları

PROMISE- TÜRKİYE PROMOTING IMMIGRANTS IN SCIENCE EDUCATION. Göçmenlerin Fen Eğitiminde Desteklenmesi

Internet Programlama (ISE 311) Ders Detayları

YZM 2108 Yazılım Mimarisi ve Tasarımı

Akdeniz Üniversitesi

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

Veritabanı Tasarım ve Yönetimi (COMPE 341) Ders Detayları

MIS 325T Bilişim Sistemleri için Strateji, Yönetim ve Kazanım Hafta 3

Y I L D I Z T E K N I K Ü N İ V E R S İ T E S İ MÜHENDİSLİĞİ

HSE RADAR. İş Sağlığı ve Güvenliği Yönetimi Uygulama, Denetim, Eğitim ve Takip HSE GLOBAL YAZILIM A.Ş. 11 Mart 2016

İleri Yazılım Mimarisi (SE 658) Ders Detayları

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

İnsan Bilgisayar Etkileşimi (SE 212) Ders Detayları

ULUSAL YAZILIM MİMARİSİ KONFERANSI (UYMK 2016) KONFERANS PROGRAMI VE BİLDİRİ ÖZETLERİ

T.C. ATATÜRK ÜNİVERSİTESİ EDEBİYAT FAKÜLTESİ BİLGİ VE BELGE YÖNETİMİ BÖLÜMÜ SEMANTİK WEB HAZIRLAYAN: LEYLA BOLAT SEMİNER

Yazılım profesyonelleri için önemli olan yetkinlikler anketi Survey

Sistem Analizi ve Planlama

İVEDİK OSB. Misyon-Vizyon

İş Zekâsı Sistemi Projesi

Transkript:

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