SlideShare a Scribd company logo
1 of 17
Download to read offline
Model-güdülü Yazılım Geliştirme
(MDSD)
Orçun Dayıbaş
Ocak, 2013

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

1
İçerik
• Giriş
• Model-güdülü Mimari (MDA)
• Model-güdülü Yazılım Geliştirme (MDSD)
– Modelleme
– Dönüşümler (M2M, M2T)

• Durum Çalışması
• Sonuç
…-oriented  …-yönelimli
…-driven  …-güdülü
…-based  …-tabanlı
Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

2
Model-güdülü Mimari (MDA)
• Sistemler arası ortaklanamayan alanlar;
–
–
–
–

Donanım
İşletim Sistemi
Programlama Dili
Ağ Protokolleri

• Ortaklama için çözüm(!); Ara katman yazılımları.
• MDA, ortak bir dilde anlaşma hedefini daha üst
düzeyde (model) gerçekleştirerek çözüm sunar.
• Temel amaç; platform bağımlı kaygıların ayrımı.
Model: Bir sisteme ait işlev, yapı ve davranışların
biçimsel belirtimi.

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

3
Model-güdülü Mimari (MDA)
• OMG (Object Management Group)’nin önerdiği dört
katmanlı yapıyı temel alır.
MOF
(sınıf, öznitelik, ilişki)
UML, CWM
(sınıf, öznitelik, durum, ...)
Uygulama
(sınıf, Veri t. tablosu, ...)

Uygulama Verisi
(olgu, Veri t. satırı, ...)

M3
M2
M1
M0

• En üst seviye olan dördüncü seviye (M3 / meta3 veri),
ifade yeteneği olarak kendi kendini tanımlayabilir
güçtedir.
“Tüm yazılım mühendisliği tarihi, soyutlama seviyelerinin
artırılması ile ilgilidir.”
Grady Booch
Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

4
Model-güdülü Mimari (MDA)
• MDA, CIM (Computation Independent Model), PIM
(Platform Independent Model), PSM (Platform Specific
Model) modelleri ve bunların arasındaki geçişleri
tanımlar.
Gereksinim
İzdüşümü

CIM

Soyut

Yazılım Geliştirme
İzdüşümü

PIM
eşleme
eşleme

eşleme

Platform
İzdüşümü

OpenDDS
Modeli

Gerçekleştirim
İzdüşümü

Milsoft DDS
Modeli

…

Diğer
Model

OpenDDS
Gerçk.

Milsoft DDS
Gerçk.

…

Diğer
Gerçk.

PSM

Kod
Somut

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

5
Model-güdülü Mimari (MDA)
• MDA yaklaşımı, uygulamada;
– Geliştirilen yazılımın, karmaşıklık ve maliyetini
azaltır.
– Yazılımın kalitesinin artırır. Model seviyesinde
sınama yapmaya olanak tanır.
– İş modellerinin yeniden kullanımını sağlar.
– Yeni teknolojiler, var olan sistemlere hızlıca
uygulanabilir.

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

6
Model-güdülü Yazılım Geliştirme
• Yol haritası:
1.Hazır iş mantığı modelini al.
2.Gerekli alt kümeyi oluştur.
3.Hazır gerçekleştirim teknolojisi modelini al.
4.Modeller arası bağlantıları (geçişleri) tanımla.
5.Sistemi türet.

• Hazır modelleme araçları: ArcStyler, iUML,
OptimalJ, Enterprise Architect, …
• Eclipse Modeling Project
(OAW - OpenArcitectureWare)

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

7
Model-güdülü Yazılım Geliştirme
• MDA kullanımı, mutlak başarı anlamına
gelmemelidir (“gümüş kurşun” yok).
• Tasarımın başarısı tasarım kararlarının etkin
alınmasına doğrudan bağlıdır.
“... UML çizgeleri oluşturmanın da bir maliyeti vardır daha
da önemlisi UML modelleri, müşteriler için anlamsızdır.”
Martin Fowler

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

8
Model-güdülü Yazılım Geliştirme
• Mimari yansılarda kalmamalı.

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

9
Durum Çalışması
• Eclipse Modeling Project

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

10
Durum Çalışması
• DDS haberleşmesini izlemek için bir test GKA
uygulaması.

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

11
Durum Çalışması
• GkaTest-ML için dil bilgisi (Xtext)

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

12
Durum Çalışması
• GkaTest-ML dilinde bir belirtim

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

13
Durum Çalışması
• GkaTest Uygulaması

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

14
Durum Çalışması
• GkaUretec

• GkaTestKulac
• GkaGen

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

15
Soru?
• Bir geliştiricinin, beceri/deneyim seviyesinden
bağımsız olarak, nihai ürüne yaptığı kod katkısı
~10 satır/gün (bkz. Mythical Man Month).
“İyi bir tornacı, ortalama bir tornacıdan bir kaç kat fazla
maaş alabilir ancak iyi bir kod geliştirici, ortalama bir
geliştiricinin 10,000 katına değer”
Bill Gates

• Peki iyi geliştirici neden/nasıl iyi?

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

16
Teşekkürler…
• Sorularınız?

Tasnif Dışı

Aselsan SST-MD-YMM / DSYS / O.Dayıbaş

17

More Related Content

Similar to Model-güdülü Yazılım Geliştirme

Xsteel cevaplari
Xsteel cevaplariXsteel cevaplari
Xsteel cevaplari
sersld85
 
Xsteel ornek
Xsteel ornekXsteel ornek
Xsteel ornek
sersld85
 
Xsteel ornegi
Xsteel ornegiXsteel ornegi
Xsteel ornegi
sersld85
 
Xsteel danismani
Xsteel danismaniXsteel danismani
Xsteel danismani
sersld85
 
Xsteel ornekleri
Xsteel ornekleriXsteel ornekleri
Xsteel ornekleri
sersld85
 
Solidworks projeleri
Solidworks projeleriSolidworks projeleri
Solidworks projeleri
sersld31
 
Solidworks projeleri
Solidworks projeleriSolidworks projeleri
Solidworks projeleri
sersld57
 
Solidworks projeleri
Solidworks projeleriSolidworks projeleri
Solidworks projeleri
sersld58
 
Solidworks dokumani
Solidworks dokumaniSolidworks dokumani
Solidworks dokumani
sersld57
 
Solidworks dokumani
Solidworks dokumaniSolidworks dokumani
Solidworks dokumani
sersld31
 
Solidworks dokumani
Solidworks dokumaniSolidworks dokumani
Solidworks dokumani
sersld58
 
Xsteel ders-notlari
Xsteel ders-notlariXsteel ders-notlari
Xsteel ders-notlari
sersld85
 
Xsteel ders-notu
Xsteel ders-notuXsteel ders-notu
Xsteel ders-notu
sersld85
 
Solidworks ornekleri
Solidworks ornekleriSolidworks ornekleri
Solidworks ornekleri
sersld31
 
Solidworks ornekleri
Solidworks ornekleriSolidworks ornekleri
Solidworks ornekleri
sersld58
 
Solidworks ornekleri
Solidworks ornekleriSolidworks ornekleri
Solidworks ornekleri
sersld57
 
Xsteel teknigi
Xsteel teknigiXsteel teknigi
Xsteel teknigi
sersld85
 
Xsteel odevi
Xsteel odeviXsteel odevi
Xsteel odevi
sersld85
 
Xsteel semineri
Xsteel semineriXsteel semineri
Xsteel semineri
sersld85
 
Xsteel notlari
Xsteel notlariXsteel notlari
Xsteel notlari
sersld85
 

Similar to Model-güdülü Yazılım Geliştirme (20)

Xsteel cevaplari
Xsteel cevaplariXsteel cevaplari
Xsteel cevaplari
 
Xsteel ornek
Xsteel ornekXsteel ornek
Xsteel ornek
 
Xsteel ornegi
Xsteel ornegiXsteel ornegi
Xsteel ornegi
 
Xsteel danismani
Xsteel danismaniXsteel danismani
Xsteel danismani
 
Xsteel ornekleri
Xsteel ornekleriXsteel ornekleri
Xsteel ornekleri
 
Solidworks projeleri
Solidworks projeleriSolidworks projeleri
Solidworks projeleri
 
Solidworks projeleri
Solidworks projeleriSolidworks projeleri
Solidworks projeleri
 
Solidworks projeleri
Solidworks projeleriSolidworks projeleri
Solidworks projeleri
 
Solidworks dokumani
Solidworks dokumaniSolidworks dokumani
Solidworks dokumani
 
Solidworks dokumani
Solidworks dokumaniSolidworks dokumani
Solidworks dokumani
 
Solidworks dokumani
Solidworks dokumaniSolidworks dokumani
Solidworks dokumani
 
Xsteel ders-notlari
Xsteel ders-notlariXsteel ders-notlari
Xsteel ders-notlari
 
Xsteel ders-notu
Xsteel ders-notuXsteel ders-notu
Xsteel ders-notu
 
Solidworks ornekleri
Solidworks ornekleriSolidworks ornekleri
Solidworks ornekleri
 
Solidworks ornekleri
Solidworks ornekleriSolidworks ornekleri
Solidworks ornekleri
 
Solidworks ornekleri
Solidworks ornekleriSolidworks ornekleri
Solidworks ornekleri
 
Xsteel teknigi
Xsteel teknigiXsteel teknigi
Xsteel teknigi
 
Xsteel odevi
Xsteel odeviXsteel odevi
Xsteel odevi
 
Xsteel semineri
Xsteel semineriXsteel semineri
Xsteel semineri
 
Xsteel notlari
Xsteel notlariXsteel notlari
Xsteel notlari
 

Model-güdülü Yazılım Geliştirme

  • 1. Model-güdülü Yazılım Geliştirme (MDSD) Orçun Dayıbaş Ocak, 2013 Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 1
  • 2. İçerik • Giriş • Model-güdülü Mimari (MDA) • Model-güdülü Yazılım Geliştirme (MDSD) – Modelleme – Dönüşümler (M2M, M2T) • Durum Çalışması • Sonuç …-oriented  …-yönelimli …-driven  …-güdülü …-based  …-tabanlı Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 2
  • 3. Model-güdülü Mimari (MDA) • Sistemler arası ortaklanamayan alanlar; – – – – Donanım İşletim Sistemi Programlama Dili Ağ Protokolleri • Ortaklama için çözüm(!); Ara katman yazılımları. • MDA, ortak bir dilde anlaşma hedefini daha üst düzeyde (model) gerçekleştirerek çözüm sunar. • Temel amaç; platform bağımlı kaygıların ayrımı. Model: Bir sisteme ait işlev, yapı ve davranışların biçimsel belirtimi. Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 3
  • 4. Model-güdülü Mimari (MDA) • OMG (Object Management Group)’nin önerdiği dört katmanlı yapıyı temel alır. MOF (sınıf, öznitelik, ilişki) UML, CWM (sınıf, öznitelik, durum, ...) Uygulama (sınıf, Veri t. tablosu, ...) Uygulama Verisi (olgu, Veri t. satırı, ...) M3 M2 M1 M0 • En üst seviye olan dördüncü seviye (M3 / meta3 veri), ifade yeteneği olarak kendi kendini tanımlayabilir güçtedir. “Tüm yazılım mühendisliği tarihi, soyutlama seviyelerinin artırılması ile ilgilidir.” Grady Booch Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 4
  • 5. Model-güdülü Mimari (MDA) • MDA, CIM (Computation Independent Model), PIM (Platform Independent Model), PSM (Platform Specific Model) modelleri ve bunların arasındaki geçişleri tanımlar. Gereksinim İzdüşümü CIM Soyut Yazılım Geliştirme İzdüşümü PIM eşleme eşleme eşleme Platform İzdüşümü OpenDDS Modeli Gerçekleştirim İzdüşümü Milsoft DDS Modeli … Diğer Model OpenDDS Gerçk. Milsoft DDS Gerçk. … Diğer Gerçk. PSM Kod Somut Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 5
  • 6. Model-güdülü Mimari (MDA) • MDA yaklaşımı, uygulamada; – Geliştirilen yazılımın, karmaşıklık ve maliyetini azaltır. – Yazılımın kalitesinin artırır. Model seviyesinde sınama yapmaya olanak tanır. – İş modellerinin yeniden kullanımını sağlar. – Yeni teknolojiler, var olan sistemlere hızlıca uygulanabilir. Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 6
  • 7. Model-güdülü Yazılım Geliştirme • Yol haritası: 1.Hazır iş mantığı modelini al. 2.Gerekli alt kümeyi oluştur. 3.Hazır gerçekleştirim teknolojisi modelini al. 4.Modeller arası bağlantıları (geçişleri) tanımla. 5.Sistemi türet. • Hazır modelleme araçları: ArcStyler, iUML, OptimalJ, Enterprise Architect, … • Eclipse Modeling Project (OAW - OpenArcitectureWare) Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 7
  • 8. Model-güdülü Yazılım Geliştirme • MDA kullanımı, mutlak başarı anlamına gelmemelidir (“gümüş kurşun” yok). • Tasarımın başarısı tasarım kararlarının etkin alınmasına doğrudan bağlıdır. “... UML çizgeleri oluşturmanın da bir maliyeti vardır daha da önemlisi UML modelleri, müşteriler için anlamsızdır.” Martin Fowler Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 8
  • 9. Model-güdülü Yazılım Geliştirme • Mimari yansılarda kalmamalı. Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 9
  • 10. Durum Çalışması • Eclipse Modeling Project Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 10
  • 11. Durum Çalışması • DDS haberleşmesini izlemek için bir test GKA uygulaması. Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 11
  • 12. Durum Çalışması • GkaTest-ML için dil bilgisi (Xtext) Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 12
  • 13. Durum Çalışması • GkaTest-ML dilinde bir belirtim Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 13
  • 14. Durum Çalışması • GkaTest Uygulaması Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 14
  • 15. Durum Çalışması • GkaUretec • GkaTestKulac • GkaGen Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 15
  • 16. Soru? • Bir geliştiricinin, beceri/deneyim seviyesinden bağımsız olarak, nihai ürüne yaptığı kod katkısı ~10 satır/gün (bkz. Mythical Man Month). “İyi bir tornacı, ortalama bir tornacıdan bir kaç kat fazla maaş alabilir ancak iyi bir kod geliştirici, ortalama bir geliştiricinin 10,000 katına değer” Bill Gates • Peki iyi geliştirici neden/nasıl iyi? Tasnif Dışı Aselsan SST-MD-YMM / DSYS / O.Dayıbaş 16