SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ G Ö R K E M G I R AY, T U R K E Y B E D I R T E K I N E R D O G A N, W A G E N I N G E N U N I V E R S I T Y, N E T H E R L A N D S E R AY T Ü Z Ü N, H A V E L S A N, T U R K E Y U Y M K 2016 I S TA N B U L
İçerik Essence Çerçevesi Sentez Tabanlı Yazılım Mimarisi Tasarımı Yaklaşımı Sentez Tabanlı Yazılım Mimarisi Tasarımı Yaklaşımının Essence Çerçevesi ile modellenmesi Sonuç ve Gelecek Çalışmaları
Ref: Mark Kennaley, SDLC 3.0: Beyond a Tacit Understanding of Agile, Fourth Medium Press, 2010.
Problemler nedir? Ortak bir terminoloji eksikliği Tecrübe paylaşımı Metotları karşılaştırabilme Bilgi dağarcığı oluşturabilme Yazılım Mühendisliği Eğitimi Görkem Giray, Yazılım Geliştirme Süreci Uyarlama İçin Bir Çerçeve Önerisi, UYMS 2015, İzmir, http://ceur-ws.org/vol-1483/4_bildiri.pdf.
Everyone of use knows how to develop our own software, but as a community we have no widely accepted common ground. Ivar Jacobson Ref: Dr. Ivar Jacobson - The Essence of Software Engineering: the SEMAT Approach, Google Zürich Tech Talk, July 17, 2014.
Essence OMG Specification Ref: http://www.omg.org/spec/essence/
Essence Çerçevesi Yöntemler Yöntem A Yöntem B Alfalar Pratikler Çekirdek Dil Etkinlik Uzayları Yetkinlikler
Alfalar Müşteri Fırsat tanımlar ister Paydaşlar rehberlik eder kullanır değerlendirilmesine katkıda bulunur Çözüm değerlendirilmesi için yapılır Gereksinimler karşılar Yazılım Sistemi destekler kapsamını ve kısıtlarını belirler değiştirir üretir İş planlar ve yapar Takım Çaba rehberlik eder uygular İş Yapma Biçimi
Etkinlik Uzayları Müşteri Fırsatları ortaya çıkarma Paydaşların gereksinimlerini anlama Paydaş memnuniyetini sağlama Sistemi kullanma Çözüm Gereksinimleri anlama Sistemi oluşturma Sistemi gerçekleştirme Sistemi test etme Sistemi kurma Sistemi işletme Çaba İşi yapmak için hazırlanma Etkinliği koordine etme Takımı destekleme İlerlemeyi izleme İşi sonlandırma
Yetkinlikler Müşteri Paydaş Temsilcisi Çözüm Analiz Geliştirme Test Etme Çaba Liderlik Yönetim
Sentez Tabanlı Yazılım Mimarisi Tasarım Yaklaşımı Tekinerdogan B, Aksit M. Integrating the Concept of Synthesis in the Software Architecture Design Process, Transactions of the SDPS 10(1), 2006, s.45-56.
Sentez Tabanlı Yazılım Mimarisi Tasarım Yaklaşımı Sentez tabanlı yazılım mimarisi tasarımı 0 1 2 3 4 5 Gereksinimlerin analizi Teknik problem analizi Çözüm alan analizi Alternatif çözüm uzayı analizi Mimari tasarım belirtimi Gereksinimlerin belirtilmesi Kullanım senaryosu analizi Prototip geliştirilmesi Biçimsel modellerin tanımlanması Gereksinimlerin genelleştirilmesi Alt problemlerin tanımlanması Alt problemlerin belirtilmesi Alt problemlerin önceliklendirilmesi Çözüm alanlarının tanımlanması ve önceliklendirilmesi Bilgi kaynaklarının tanımlanması ve önceliklendirilmesi Çözüm alanı kavramlarının ortaya çıkarılması Kavramsal yapının tanımlanması Her kavram için alternatiflerin tanımlanması Kısıtların tanımlanması Mimarinin semantiğinin ortaya çıkarılması Dinamik davranışın tanımlanması Tekinerdogan B, Aksit M. Integrating the Concept of Synthesis in the Software Architecture Design Process, Transactions of the SDPS 10(1), 2006, s.45-56.
Neden Essence Çerçevesi ile Modelleme? Pratiği öğrenme Pratikteki olası eksikleri belirleme Pratiği iyileştirme Duruma göre özelleştirme Gerekli yerlerde pratiği iyileştirme Diğer pratiklerle beraber kullanma Pratiğin kullanımında operasyonel destek sağlama
Essence ile modellemek için Sistematik Bir Yaklaşım Essence Çerçevesi Metot Tanımı Sistematik Haritalama Essence ile modellenmiş metot G. Giray, E. Tüzün, B. Tekinerdogan, and Y. Macit, Systematic Approach for Mapping Software Development Methods to the Essence Framework, in The 5th International Workshop on Theory-Oriented Software Engineering. 2016.
Adımlar 1 2 3 4 5 6 1 Extract concepts from method specification Pratik tanımından kavramları not et Kavramları Essence kavramlarına göre sınıflandır Kavramları Essence ile belirt Kavramların özelliklerini çıkart Alakalı kavramları ilişkilendir Modellenmiş pratiği gözden geçir
Essence çerçevesine göre kapsamı Fırsat düşünülmüş mimari seçilmiş Paydaşlar sınırlandırılmış gösterilebilir Gereksinimler Yazılım Sistemi İş Takım İş yapma biçimi Gereksinimler bağdaşık kabul edilebilir irdelenmiş karşılanmış Yazılım Sistemi kullanılabilir hazır işletilebilir kullanımdan kaldırılmış
Etkinlik Uzayları ile İlişkisi Müşteri Fırsatları ortaya çıkarma Paydaşların gereksinimlerini anlama Paydaş memnuniyetini sağlama Sistemi kullanma Çözüm Gereksinimleri anlama Sistemi oluşturma Sistemi gerçekleştirme Sistemi test etme Sistemi kurma Sistemi işletme Çaba İşi yapmak için hazırlanma Etkinliği koordine etme Takımı destekleme İlerlemeyi izleme İşi sonlandırma
Etkinlik Uzayları ile İlişkisi Gereksinimleri anlama Sistemi oluşturma Essence Çerçevesi Başlangıç: yok Tamamlanma ölçütü: Gereksinimler::bağdaşık Başlangıç: Gereksinimler::bağdaşık Tamamlanma ölçütü: Gereksinimler::kabul edilebilir, Yazılım Sistemi::mimari seçilmiş Sentez Tabanlı Mimari Tasarım Gereksinimlerin analizi Teknik problem analizi Çözüm alan analizi Alternatif çözüm uzayı analizi Mimari tasarım belirtimi
Önerilen Alt-Alfalar belirlenmiş belirlenmiş belirlenmiş belirlenmiş Gereksinim ögesi tanımlanmış gerçekleştirilmiş doğrulanmış tanımlanmış çözülmüş yönlendirir Problem ögesi Alan ögesi modellenmiş yönlendirir Mimari öge bütünleştirilmiş gerçekleştirilmiş hazır yönlendirir yönlendirir Gereksinimler Gereksinimler Gereksinimler Yazılım Sistemi
Alt Alfaların Durum Değişimi belirlenmiş yetkilendirilmiş bağlanmış belirlenmiş tanımlanmış Gereksinimlerin analizi belirlenmiş Teknik problem analizi tanımlanmış Paydaş temsilcisi Gereksinim ögesi Problem ögesi Alan ögesi belirlenmiş modellenmiş Mimari öge belirlenmiş bütünleştirilmiş Çözüm alan analizi Alternatif çözüm uzayı analizi Mimari tasarım belirtimi çözülmüş gerçekleştirilmi ş gerçekleştirilmi ş doğrulanmış hazır tatmin olmuş
Sonuç Sentez Tabanlı Yazılım Mimarisi Tasarımı Pratiğini Essence ile modellenmesi Durum-tabanlı bir etkinlik izleme düzeneği Gerçek yazılım projesinde kullanılması planlanmaktadır
Teşekkürler