Olay yolu (Event Bus), yazılım bileşenleri arasında Yayımcı-Abone (Publish-Subscribe) tarzına uygun iletişim sağlayan ve bunu yaparken yazılım bileşenlerinin birbirlerinden haberdar olmasını gerektirmeyen bir yapıdır. Bağımlılık iletimi (Dependency Injection) de bileşen bağımlılıklarının dışarıdan iletilerek bileşenlerin yapılandırılabilmesine olanak sağlar. Mimarisi olay yolu üzerine kurgulanmış bir yazılımda bağımlılık iletimi kullanılması durumunda, bu iki yaklaşımın etkileşimi, denetim altına alınması gereken bir husus haline gelir. Bu çalışma kapsamında, sözü edilen denetimin yazılım geliştirme süreci içerisinde nasıl ele alınabileceği tartışılmıştır. Bu bağlamda, geliştirdiğimiz derinlik ölçüm sonarı (iskandil sistemi) grafiksel kullanıcı arayüz (GKA) yazılım mimarisine temel olan “Yolcu” çerçevesi ve ilgili proje kapsamında edinilen kullanım deneyimleri de makale kapsamında verilmiştir.
Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum ÇalışmasıOrçun Dayıbaş
Yetenek modelleri (feature models) yazılım geliştirme dünyasında yaygın
olarak kullanılan modeller olmasına rağmen, bu modellerin gerçekleştirim iz
düşümlerinin nasıl elde edileceğine ilişkin genel olarak kabul görmüş bir yöntem
bulunmamaktadır. Yeteneklerin gerçekleştirim seviyesinde nasıl
ifade edileceğini tanımlayan bir yöntemin yeniden kullanımı, farklı geliştiriciler
ve/veya projeler için belirli bir kalitenin tekrarlanabilirliği açısından önemli bir
unsurdur. Bu bağlamda, bu makale yetenek modelinden gerçekleştirim aşamasına
geçiş üzerine bir durum çalışması içermektedir. Çalışma kapsamında, derinlik
ölçüm sonarı (iskandil sistemi) grafiksel kullanıcı arayüz yazılım ailesi yetenek
modeli ele alınmaktadır.
Proje yonetiminin tanimi, maksadi, basamaklari ile anlatildigi ve MS PROJECT kullanimina iliskin gorsellere yer verilen sunum
...
Web'den erisilebilir bir Ingilizce sunumun Turkcelestirilmesinden ibarettir.
....
Definition, purpose and steps of Project Management took place in this presentation with some images to explain how to use MS PROJECT (for generating open source Turkish quality and six sigma library - an openly accessible PPT is used)
....
ACIK KAYNAK TURKCE KALITE MATERYALI OLUSTURMA PROJESI kapsaminda uretildi 11 Nisan 2014
Çevik(Agile) değer ve prensipleri, geleneksel yaklaşımdan farklarını ele alan, Scrum Çerçevesi ile XP(Extreme Programming) pratiklerinin anlatıldığı detaylı bir sunum.
Yetenek Modellerinin Gerçekleştirimi Üzerine Bir Durum ÇalışmasıOrçun Dayıbaş
Yetenek modelleri (feature models) yazılım geliştirme dünyasında yaygın
olarak kullanılan modeller olmasına rağmen, bu modellerin gerçekleştirim iz
düşümlerinin nasıl elde edileceğine ilişkin genel olarak kabul görmüş bir yöntem
bulunmamaktadır. Yeteneklerin gerçekleştirim seviyesinde nasıl
ifade edileceğini tanımlayan bir yöntemin yeniden kullanımı, farklı geliştiriciler
ve/veya projeler için belirli bir kalitenin tekrarlanabilirliği açısından önemli bir
unsurdur. Bu bağlamda, bu makale yetenek modelinden gerçekleştirim aşamasına
geçiş üzerine bir durum çalışması içermektedir. Çalışma kapsamında, derinlik
ölçüm sonarı (iskandil sistemi) grafiksel kullanıcı arayüz yazılım ailesi yetenek
modeli ele alınmaktadır.
Proje yonetiminin tanimi, maksadi, basamaklari ile anlatildigi ve MS PROJECT kullanimina iliskin gorsellere yer verilen sunum
...
Web'den erisilebilir bir Ingilizce sunumun Turkcelestirilmesinden ibarettir.
....
Definition, purpose and steps of Project Management took place in this presentation with some images to explain how to use MS PROJECT (for generating open source Turkish quality and six sigma library - an openly accessible PPT is used)
....
ACIK KAYNAK TURKCE KALITE MATERYALI OLUSTURMA PROJESI kapsaminda uretildi 11 Nisan 2014
Çevik(Agile) değer ve prensipleri, geleneksel yaklaşımdan farklarını ele alan, Scrum Çerçevesi ile XP(Extreme Programming) pratiklerinin anlatıldığı detaylı bir sunum.
Performansa Dayalı Mimari Tasarım, mimari sürdürülebilirlikilkeleri ve fiziksel çevre şartlarını tasarım sürecine sayısal, ölçülebilir bir faktör olarak olarak dahil edip, bina performansını gerçek zamanlı olarak ölçen ve çözümler üreten spiral bir tasarım yaklaşımıdır. BIM tabanlı bina performans analizi (BPA) yöntemleri, getirmiş olduğu gerçek zamanlı ve etkileşimli tasarım geri dönüşü olanakları sayesinde performansa mimari tasarımın erişilebilirliğini ve nesnelliğini önemli derecede arttırmıştır. Bu sunum Mimar Sinan Güzel Sanatlar ve Beykent üniversitelerinde gerçekleştirilen bir yüksek lisans dersi çerçevesinde BIM tabanlı BPA’nın tasarım süreçlerinde nasıl kullanılabileceğini anlatmaktadır. Derste kullanılan materyalin önemli bir kısmı Autodesk’in ilgili sertfika programından adapte edilmiştir. Dersle ilgili tüm kuramsal ve uygulamalı içerik de sayisalmimar.com sistesinde mevcuttr.
Erkan OKUR Kariyer Yolculuğu - GaziENT Gelecek Endüstri ile Gelecek (GEG) 201...Erkan Okur
7 Kasım 2019 tarihinde Ankara Gazi Üniversitesi Mühendislik-Mimarlık Fakültesi'nde, Gazi Endüstri Topluluğu (GaziENT) tarafından düzenlenen "Gelecek Endüstri ile Gelecek" Savunma Sanayii panelinde konuşmacı olarak yer alma şansı buldum.
Etkinlik için hazırladığım kısa sunumda, 3 ana başlık yer alıyor:
1. Hızlı Geçen Üniversite Yılları: 4 yıl süren ve hızlı geçtiğini düşündüğüm üniversite yıllarında, her yıl için aklımdan geçen, keyif aldığım, sıkıntı çektiğim konuları özetlemeye çalıştım.
2. İş Hayatında Kendi Yolunu Çizme: 10 yılı aşan ve 5 farklı firmayı içeren iş hayatımda, her işimde başımdan geçenleri, işlerin bana kattıklarını, yaşadığım olumlu ve olumsuz tecrübeleri özetlemeye çalıştım.
3. Değişime, Fırsatlara ve Gelişmeye Açık Olma: Üniversiteye girdiğim 2003 yılından başlayarak 2019 yılına gelene kadar, kendine çizdiğim kariyer hedeflerini ve karşıma çıkan yeni fırsatlar ile bu kariyer yolunun nasıl değiştiğini özetlemeye çalıştım.
Sorularınız olması halinde, http://www.erkanokur.com/iletisim-contact.html sayfası üzerinden benimle iletişime geçebilirsiniz.
Performansa Dayalı Mimari Tasarım, mimari sürdürülebilirlikilkeleri ve fiziksel çevre şartlarını tasarım sürecine sayısal, ölçülebilir bir faktör olarak olarak dahil edip, bina performansını gerçek zamanlı olarak ölçen ve çözümler üreten spiral bir tasarım yaklaşımıdır. BIM tabanlı bina performans analizi (BPA) yöntemleri, getirmiş olduğu gerçek zamanlı ve etkileşimli tasarım geri dönüşü olanakları sayesinde performansa mimari tasarımın erişilebilirliğini ve nesnelliğini önemli derecede arttırmıştır. Bu sunum Mimar Sinan Güzel Sanatlar ve Beykent üniversitelerinde gerçekleştirilen bir yüksek lisans dersi çerçevesinde BIM tabanlı BPA’nın tasarım süreçlerinde nasıl kullanılabileceğini anlatmaktadır. Derste kullanılan materyalin önemli bir kısmı Autodesk’in ilgili sertfika programından adapte edilmiştir. Dersle ilgili tüm kuramsal ve uygulamalı içerik de sayisalmimar.com sistesinde mevcuttr.
Erkan OKUR Kariyer Yolculuğu - GaziENT Gelecek Endüstri ile Gelecek (GEG) 201...Erkan Okur
7 Kasım 2019 tarihinde Ankara Gazi Üniversitesi Mühendislik-Mimarlık Fakültesi'nde, Gazi Endüstri Topluluğu (GaziENT) tarafından düzenlenen "Gelecek Endüstri ile Gelecek" Savunma Sanayii panelinde konuşmacı olarak yer alma şansı buldum.
Etkinlik için hazırladığım kısa sunumda, 3 ana başlık yer alıyor:
1. Hızlı Geçen Üniversite Yılları: 4 yıl süren ve hızlı geçtiğini düşündüğüm üniversite yıllarında, her yıl için aklımdan geçen, keyif aldığım, sıkıntı çektiğim konuları özetlemeye çalıştım.
2. İş Hayatında Kendi Yolunu Çizme: 10 yılı aşan ve 5 farklı firmayı içeren iş hayatımda, her işimde başımdan geçenleri, işlerin bana kattıklarını, yaşadığım olumlu ve olumsuz tecrübeleri özetlemeye çalıştım.
3. Değişime, Fırsatlara ve Gelişmeye Açık Olma: Üniversiteye girdiğim 2003 yılından başlayarak 2019 yılına gelene kadar, kendine çizdiğim kariyer hedeflerini ve karşıma çıkan yeni fırsatlar ile bu kariyer yolunun nasıl değiştiğini özetlemeye çalıştım.
Sorularınız olması halinde, http://www.erkanokur.com/iletisim-contact.html sayfası üzerinden benimle iletişime geçebilirsiniz.
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
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
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
Editor's Notes
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.