Bildiri Çağrısı
Yazılım mühendisliğinde karmaşıklıkla
baş edebilmek ve hedeflenen kaliteye ulaşabilmek için gözetilen en
önemli prensiplerden biri kaygıların ayrımıdır (Separation of
Concerns - SOC). Bu prensibe göre bir tasarım problemi farklı
kaygılar içerir. Bu kaygılar belirlenmeli ve farklı modüllerde yer
alacak şekilde birbirlerinden ayrılmalıdırlar. Yazılım geliştirme
tarihi modülerliği artıran birçok farklı programlama dili ve tasarım
yönteminin evrimine tanık olmuştur. Fakat pratikte tecrübe edildiği
ve genel olarak araştırmacılar tarafından onaylandığı üzere bu
yaklaşımların karmaşık yazılım sistemlerindeki tüm kaygıların
ayrılmasında ve bu kaygıların modülerliklerinin sağlanmasında
yetersiz kaldıklarını gözlemlemekteyiz. Senkronizasyon, kurtarma (recovery)
ve kayıt tutma (logging) gibi kaygılar sistematik bir eğilim
göstermekte ve tüm yazılım sistemine dağılarak (crosscutting) geniş
bir modül kümesinde yer teşkil etmektedir. Bu tür kaygılar tek bir
modülde yer alacak şekilde gerçekleştirilememektedirler. Bu da
karmaşıklığı artırmakta ve uyarlanabilirlik (adaptibility),
sürdürülebilirlik (maintainability), tekrar kullanılabilirlik (reusability)
gibi birçok kalite faktörünü kötü yönde etkilemektedir.
Aspect yönelimli yazılım geliştirme (Aspect
Oriented Software Development - AOSD) SOC için geliştirilmiş bir
ileri teknolojidir. AOSD yazılım sistemine sistematik bir şekilde
dağılan kaygıları tek bir modülde toplamak ve bu modülleri sistem
bileşenleri ile birleştirmek için açık kavramlar ve teknikler
sağlar.
İlk Ulusal Aspect Yönelimli Yazılım
Geliştirme Çalıştayı (Turkish Aspect Oriented Software Development
Workshop - TAOSD) 2003 yılının Haziran ayında organize edilmiştir.
Bu çalıştay vasıtası ile AOSD üzerine araştırma ve eğitimi
özendirmeyi ummaktayız.
İlgili
konular (bunlarla sınırlı olmamak koşulu ile):
-
İleri SOC Yöntemleri
-
Gereksinim Analizinde
Aspectlerin kullanımı
-
Yazılım Mimarisi Tasarımında
Aspectler
-
Yazılım Ürün Hattı
Mühendisliğinde Aspectler
-
AOSD için Metrikler
-
Aspect Yönelimli Modelleme
-
Aspect Yönelimli Programlama
Araçları
-
AOSD ile İlgili Deneyimler
-
Model-güdülü (Model-driven)
Mühendislik ve Aspectler
|