SlideShare una empresa de Scribd logo
1 de 13
Tasnif Dışı
Olay Tabanlı Bir Yazılım
Mimarisinde Bağımlılık İletimi ve
Bileşen Gerçekleştirimi
Orçun Dayıbaş, Serdar Doğan
Eylül, 2013 – İzmir/Türkiye
Tasnif Dışı O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 2
İçerik
• Giriş
• Yetenek Modeli ve Gereksinim Yönetimi
• Bileşen Tasarımı
• Yazılım Mimarilerinde Bileşen Etkileşimleri
• Yolcu Çerçevesi
• Sonuç ve Değerlendirme
• Soru-Cevap
Tasnif Dışı
Giriş
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 3
• UYMK 2012 [1]
– “Yetenek Modellerinin
Gerçekleştirimi Üzerine Bir
Durum Çalışması”, O.Dayıbaş
• Sorun
– Uyarlanabilir iskandil GKA yazılımı nasıl etkin
gerçeklenebilir?
• Sonar projeleri için yeniden kullanılabilir yetenekler.
• Deniz projeleri için yeniden kullanılabilir bileşenler.
• Çözüm
– Olay tabanlı mimari + Bağımlılık iletimi
Tasnif Dışı
Yetenekler ve Gereksinim Yönetimi
• Yetenekten Gerçekleştirime Yarı Otomatik Geçiş
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 4
Tasnif Dışı
Yetenekler ve Gereksinim Yönetimi
• Yetenek Modeli (bkz. [1], [2])
• Yetenek-Gereksinim Eşlemesi
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 5
Tasnif Dışı
Bileşen Tasarımı
• SOLID İlkeleri [3]
– SRP (Single Responsibility Principle)
– OCP (Open/closed Principle)
– LSP (Liskov Substitution Principle)
– ISP (Interface Segregation Principle)
– DIP (Dependency Inversion Principle)
• Katmanlı mimari
– Kullanıcı Arayüzü Katmanı (KA’lar ve KA Yöneticiler)
– İş Mantığı Katmanı (İş Yöneticiler)
– Soyutlama Katmanı (İş Yöneticiler)
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 6
Tasnif Dışı
Mimaride Bileşen Etkileşimleri
• Nesne yönelimli bir mimaride bileşen
etkileşimleri iki temel sınıfa ayrılabilir.
– Olgu Yaratma (A)
– İş Akışı Çağrıları (B)
• Olgu Yaratma
– Bağımlılık İletimi
(Google Guice [4])
• İş Akışı Çağrıları
– Olay tabanlı iletişim
(Google Guava [5])
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 7
Tasnif Dışı
Yolcu Çerçevesi
• Katmanlı GKA uygulaması geliştirme alt yapısı.
– Google Guava EventBus + Google Guice temelli.
• Temel bileşenleri: Olay yolu, KA Yönetici, İş
Yönetici.
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 8
Tasnif Dışı
Yolcu Çerçevesi
• Kurallar
– İş akışı çağrıları aşağıdaki gibi kısıtlanmıştır.
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 9
1: Kullanıcı girdileri
2: İş akışı başlatan olaylar
3,4: Platform durum
güncellemeleri ve alt iş
adımları
5,6: Zaman uyumlu alt iş
adımları
Tasnif Dışı
Sonuç ve Değerlendirme
• Ölçümler
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 10
Tasnif Dışı
Sonuç ve Değerlendirme
• Yetenek tabanlı kullanılabilir varlıkların (bileşen
ve gereksinimler) üretilmesi.
– 316 gereksinim / 49 bileşen / 24 yetenek.
• “Boilerplate” kodlardan kurtulma.
– Gereksinimlerin %72’si: 45133 satır (2011).
– Tüm gereksinimler + iki proje: 19747 satır (2013).
• Yeniden kullanılabilir çerçeve gerçekleştirimi:
Yolcu.
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 11
Tasnif Dışı
Teşekkürler…
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 12
• Sorularınız?
odayibas odayibas@aselsan.com.tr
Tasnif Dışı
Kaynakça
• [1] O.Dayıbaş, “Yetenek Modellerinin Gerçekleştirimi
Üzerine Bir Durum Çalışması”, UYMK (2012).
• [2] K.Pohl, “Requirements Engineering: Fundamentals,
Principles, and Techniques”, Springer (2010).
• [3] R.C. Martin, “Design Principles and Design
Patterns”, Object Mentor (2000).
• [4] “Google Guice – A Lightweight Dependency Injection
Framework”, http://code.google.com/p/google-guice
• [5] “Guava: Google Core Libraries for Java 1.6+”,
http://code.google.com/p/ guava-libraries
O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 13

Más contenido relacionado

Similar a Olay Tabanlı Bir Yazılım Mimarisinde Bağımlılık İletimi ve Bileşen Gerçekleştirimi

Proje yonetimi-2013
Proje yonetimi-2013Proje yonetimi-2013
Proje yonetimi-2013
sersld97
 
Solidworks 2013
Solidworks 2013Solidworks 2013
Solidworks 2013
sersld31
 
Solidworks 2013
Solidworks 2013Solidworks 2013
Solidworks 2013
sersld58
 
Solidworks 2013
Solidworks 2013Solidworks 2013
Solidworks 2013
sersld57
 
Solidworks proje
Solidworks projeSolidworks proje
Solidworks proje
sersld31
 
Solidworks kursu-ucreti
Solidworks kursu-ucretiSolidworks kursu-ucreti
Solidworks kursu-ucreti
sersld58
 
Solidworks kursu-ucreti
Solidworks kursu-ucretiSolidworks kursu-ucreti
Solidworks kursu-ucreti
sersld57
 
Solidworks kursu-ucreti
Solidworks kursu-ucretiSolidworks kursu-ucreti
Solidworks kursu-ucreti
sersld31
 
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık NedenleriBilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
cgoze
 

Similar a Olay Tabanlı Bir Yazılım Mimarisinde Bağımlılık İletimi ve Bileşen Gerçekleştirimi (20)

Proje yonetimi-2013
Proje yonetimi-2013Proje yonetimi-2013
Proje yonetimi-2013
 
Leman türkoğlu dinamikler 2016
Leman türkoğlu dinamikler 2016Leman türkoğlu dinamikler 2016
Leman türkoğlu dinamikler 2016
 
Solidworks 2013
Solidworks 2013Solidworks 2013
Solidworks 2013
 
Solidworks 2013
Solidworks 2013Solidworks 2013
Solidworks 2013
 
Solidworks 2013
Solidworks 2013Solidworks 2013
Solidworks 2013
 
Cevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP PratikleriCevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP Pratikleri
 
Solidworks proje
Solidworks projeSolidworks proje
Solidworks proje
 
En Iyi Is Takip Programi Tavsiyesi ve Onerisi
En Iyi Is Takip Programi Tavsiyesi ve OnerisiEn Iyi Is Takip Programi Tavsiyesi ve Onerisi
En Iyi Is Takip Programi Tavsiyesi ve Onerisi
 
JİRA'ya Giriş / Atlassian
JİRA'ya Giriş / AtlassianJİRA'ya Giriş / Atlassian
JİRA'ya Giriş / Atlassian
 
Bunyamin sogut cv
Bunyamin sogut cvBunyamin sogut cv
Bunyamin sogut cv
 
BIM ve Bina Performans Analizi
BIM ve Bina Performans AnaliziBIM ve Bina Performans Analizi
BIM ve Bina Performans Analizi
 
Gantt Diyagram - Proje Yönetimi Musa AKGÜL
Gantt Diyagram - Proje Yönetimi  Musa AKGÜLGantt Diyagram - Proje Yönetimi  Musa AKGÜL
Gantt Diyagram - Proje Yönetimi Musa AKGÜL
 
Agile proje yönetimi
Agile proje yönetimiAgile proje yönetimi
Agile proje yönetimi
 
Solidworks kursu-ucreti
Solidworks kursu-ucretiSolidworks kursu-ucreti
Solidworks kursu-ucreti
 
Solidworks kursu-ucreti
Solidworks kursu-ucretiSolidworks kursu-ucreti
Solidworks kursu-ucreti
 
Solidworks kursu-ucreti
Solidworks kursu-ucretiSolidworks kursu-ucreti
Solidworks kursu-ucreti
 
Erkan OKUR Kariyer Yolculuğu - GaziENT Gelecek Endüstri ile Gelecek (GEG) 201...
Erkan OKUR Kariyer Yolculuğu - GaziENT Gelecek Endüstri ile Gelecek (GEG) 201...Erkan OKUR Kariyer Yolculuğu - GaziENT Gelecek Endüstri ile Gelecek (GEG) 201...
Erkan OKUR Kariyer Yolculuğu - GaziENT Gelecek Endüstri ile Gelecek (GEG) 201...
 
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
Yazılım Projelerine Scrum Yazılım Geliştirme Modelinin Uygulanması ve Scrum Y...
 
Proje yönetimi ve project.net v1.0 tr
Proje yönetimi ve project.net v1.0 trProje yönetimi ve project.net v1.0 tr
Proje yönetimi ve project.net v1.0 tr
 
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık NedenleriBilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
Bilişim Teknolojileri Projelerinde Temel Başarı ve Başarısızlık Nedenleri
 

Olay Tabanlı Bir Yazılım Mimarisinde Bağımlılık İletimi ve Bileşen Gerçekleştirimi

  • 1. Tasnif Dışı Olay Tabanlı Bir Yazılım Mimarisinde Bağımlılık İletimi ve Bileşen Gerçekleştirimi Orçun Dayıbaş, Serdar Doğan Eylül, 2013 – İzmir/Türkiye
  • 2. Tasnif Dışı O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 2 İçerik • Giriş • Yetenek Modeli ve Gereksinim Yönetimi • Bileşen Tasarımı • Yazılım Mimarilerinde Bileşen Etkileşimleri • Yolcu Çerçevesi • Sonuç ve Değerlendirme • Soru-Cevap
  • 3. Tasnif Dışı Giriş O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 3 • UYMK 2012 [1] – “Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması”, O.Dayıbaş • Sorun – Uyarlanabilir iskandil GKA yazılımı nasıl etkin gerçeklenebilir? • Sonar projeleri için yeniden kullanılabilir yetenekler. • Deniz projeleri için yeniden kullanılabilir bileşenler. • Çözüm – Olay tabanlı mimari + Bağımlılık iletimi
  • 4. Tasnif Dışı Yetenekler ve Gereksinim Yönetimi • Yetenekten Gerçekleştirime Yarı Otomatik Geçiş O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 4
  • 5. Tasnif Dışı Yetenekler ve Gereksinim Yönetimi • Yetenek Modeli (bkz. [1], [2]) • Yetenek-Gereksinim Eşlemesi O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 5
  • 6. Tasnif Dışı Bileşen Tasarımı • SOLID İlkeleri [3] – SRP (Single Responsibility Principle) – OCP (Open/closed Principle) – LSP (Liskov Substitution Principle) – ISP (Interface Segregation Principle) – DIP (Dependency Inversion Principle) • Katmanlı mimari – Kullanıcı Arayüzü Katmanı (KA’lar ve KA Yöneticiler) – İş Mantığı Katmanı (İş Yöneticiler) – Soyutlama Katmanı (İş Yöneticiler) O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 6
  • 7. Tasnif Dışı Mimaride Bileşen Etkileşimleri • Nesne yönelimli bir mimaride bileşen etkileşimleri iki temel sınıfa ayrılabilir. – Olgu Yaratma (A) – İş Akışı Çağrıları (B) • Olgu Yaratma – Bağımlılık İletimi (Google Guice [4]) • İş Akışı Çağrıları – Olay tabanlı iletişim (Google Guava [5]) O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 7
  • 8. Tasnif Dışı Yolcu Çerçevesi • Katmanlı GKA uygulaması geliştirme alt yapısı. – Google Guava EventBus + Google Guice temelli. • Temel bileşenleri: Olay yolu, KA Yönetici, İş Yönetici. O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 8
  • 9. Tasnif Dışı Yolcu Çerçevesi • Kurallar – İş akışı çağrıları aşağıdaki gibi kısıtlanmıştır. O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 9 1: Kullanıcı girdileri 2: İş akışı başlatan olaylar 3,4: Platform durum güncellemeleri ve alt iş adımları 5,6: Zaman uyumlu alt iş adımları
  • 10. Tasnif Dışı Sonuç ve Değerlendirme • Ölçümler O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 10
  • 11. Tasnif Dışı Sonuç ve Değerlendirme • Yetenek tabanlı kullanılabilir varlıkların (bileşen ve gereksinimler) üretilmesi. – 316 gereksinim / 49 bileşen / 24 yetenek. • “Boilerplate” kodlardan kurtulma. – Gereksinimlerin %72’si: 45133 satır (2011). – Tüm gereksinimler + iki proje: 19747 satır (2013). • Yeniden kullanılabilir çerçeve gerçekleştirimi: Yolcu. O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 11
  • 12. Tasnif Dışı Teşekkürler… O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 12 • Sorularınız? odayibas odayibas@aselsan.com.tr
  • 13. Tasnif Dışı Kaynakça • [1] O.Dayıbaş, “Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum Çalışması”, UYMK (2012). • [2] K.Pohl, “Requirements Engineering: Fundamentals, Principles, and Techniques”, Springer (2010). • [3] R.C. Martin, “Design Principles and Design Patterns”, Object Mentor (2000). • [4] “Google Guice – A Lightweight Dependency Injection Framework”, http://code.google.com/p/google-guice • [5] “Guava: Google Core Libraries for Java 1.6+”, http://code.google.com/p/ guava-libraries O.Dayıbaş, S.Doğan / UYMS’13 / 25-28 Eylül 2013 13

Notas del editor

  1. Kullanıcı Arayüz (KA) yöneticilerin yayınladığı olaylardır. Bir iş akışı başlatan kullanıcı girdileri (Ör: Kullanıcının bir menü düğmesine basması), olay olarak yayınlanır. Bir KA yönetici başka bir KA yöneticiye doğrudan erişmez ya da kullanıcı girdilerini ifade etmek için tanımlanmış olayları dinleyemez. KA yöneticilerin kullanım durumları kapsamında yönetim sorumluluğu, iş yöneticilere devredilerek, KA katmanındaki bileşen bağımlılıkları ortadan kaldırılmaya çalışılmıştır.İş yöneticilerin dinlediği olaylardır. İş yöneticiler, kullanım durumu başlatan KA olaylarını ya da diğer iş yöneticilerin yayınladığı olayları dinlerler. KA yöneticiler, iş yöneticilerin yayınladığı olayları dinlerler. Bunlar bir kullanım durumu kapsamında alt iş adımları olabileceği gibi alt katman soyutlamalarından sorumlu iş yöneticilerin yayınladığı olaylar (DDS verileri, seri kanal girdileri vb.) da olabilir.İş yöneticilerin yayınladığı olaylardır. İş yöneticilerin yayınladıkları olaylar hem diğer iş yöneticileri hem de KA yöneticileri ilgilendiriyor olabilir.Kullanım durumu alt adımları doğrudan yöntem çağrısı ile yapılır (zaman uyumsuz olarak yayınlanması gereken bir olay varsa yine yayınlanabilir). Bu bağımlılıklar, arayüzler üzerinden ve bağımlılık iletimi ile (bkz. 3. Bölüm) kurulduğundan, çalışma zamanında KA yönetici gerçekleştirimini değiştirmek de mümkündür. Zaman uyumlu işletilen kullanım durumu adımlarında bir iş yönetici diğer bir iş yöneticiyi doğrudan kullanabilir. Bu bağımlılıklar da yine bağımlılık iletimi yöntemi ile kurulur.