Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal...

30
Doç.Dr . Murat Paşa UYSAL Prof.Dr. A. Erhan MERGEN Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım

Transcript of Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal...

Page 1: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

Doç.Dr. Murat Paşa UYSAL

Prof.Dr. A. Erhan MERGEN

Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü

ve Ontoloji Tabanlı Bir Yaklaşım

Page 2: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

2

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 (reverseengineering), (b) Yeniden Düzenleme (restructuring, refactoring) ve (c) İleriye Mühendislik (forwardengineering) etkinlikleri gerçekleştirilmektedir.

Page 3: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

3

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,

Page 4: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

4

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ım-donanı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.

Page 5: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

5

Ç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.

Page 6: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

6

Kurumsal Mimari

• KM’yi, bir işletmeye ait süreçleri, yazılım vebiliş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 belllibaşlı KM tasarım yaklaşımlarıdır.

Page 7: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

7

Kurumsal Mimari

Page 8: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

8

1. Mimari

Vizyon

2. İş

Mimarisi

3. Bilişim

Sistemleri

Mimarisi

4.

Teknoloji

Mimarisi

5. Fırsatlar

ve

Çözümler

6. Geçişi

Planlanma

7.

Uygulama

Yönetimi

8. Değişim

Yönetimi

İhtiyaçların

Yönetimi

TOGAF Mimari Geliştirme Yöntemi (ADM)

Kurumsal Mimari

Page 9: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

9

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.

Page 10: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

10

Model Güdümlü Yazılım Geliştirme

Hesaplama Bağımsız Model

Platform Bağımsız Model

Platform

Spesifik Model

Platform

Spesifik Model

Konu Alanı ve İş Modelleri

(Doküman, İş Akışı Çizenekleri)

Analiz ve Tasarım Modelleri

(UML Çizenekleri)

Detaylı Tasarım Modelleri (Java,

C#, XML, vb.)

Page 11: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

11

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ımdilidir.

Page 12: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

12

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ıdabulunmak hedeflenmektedir.

Page 13: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

13

Yöntem

Page 14: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

14

YYY Yönelik MGYG Modeli

Page 15: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

15

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ım-geliş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 .

Page 16: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

16

YYY Kurumsal Mimari Proje Süreçleri ve

MGYG Katmanı

Page 17: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

17

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, YYY sürecindeki t1, t2…tn sıralı model dönüşümlerini, S1yeniden yapılandırılacak kaynak yazılımı, S2 hedef yazılımı, M1kaynak yazılıma ait modelleri, M2 hedef yazılıma ait modelleri, F1 ile F2 ise kaynak ve hedef yazılım model dönüşümlerinde kullanılan formal gösterim yöntemlerini simgelemektedir.

• Msa Mt

a vb. Söz Dizim Ağaçlarını simgelemektedir.

t : M1 (S1)│F1 → M2 (S2)│F2

Ms → Msa → Mt

a → Mt

Page 18: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

18

YYY Kurumsal Mimari Yazılım, Veri, Altyapı ve

Donanım Katmanları

Page 19: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

19

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 MD1, MD2,

…MDn model dönüşümlerini içerecek YD1 YD2,

…YDn yazılım dönüşümleri yinelemeli ve artırımsal olarak gerçekleştirilmektedir.

Page 20: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

20

Kurumsal Mimari

Page 21: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

21

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.

Page 22: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

22

Kurumsal Mimarinin Test ve Değerlendirilmesi

Page 23: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

23

KM’nin Alan Bağımlı Bir Ontolojiye

Dönüştürülmesi

Page 24: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

24

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.

Page 25: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

25

KM Ontolojisinin Geçerleme ve Doğrulaması

Sorgu

Nu. Anlamsal Sorgu ve Amacı Sorgulamanın Sonucu

1

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}

2

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

KM’e Ait Ontolojinin Yapısıyla İlgili Örnek SPARQL Sorguları

Page 26: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

26

• 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.

KM Ontolojisinin Geçerleme ve Doğrulaması

Page 27: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

27

• 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.

KM Ontolojisinin Geçerleme ve Doğrulaması

Page 28: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

28

• 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ğibu 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.

Çalışmanın Sınırlılıkları

Page 29: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

29

• İ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.

Sonuç ve Öneriler

Page 30: Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal …uymk2016.iku.edu.tr/sunumlar/3_UYMK_2016_MpUysal_Sunu.pdfMimarisi 4. Teknoloji Mimarisi 5. Fırsatlar ve Çözümler 6. Geçişi

Teşekkürler!

Doç.Dr. Murat Paşa UYSAL

Prof.Dr. A. Erhan MERGEN