Yazılım Mimarileri-9. Mimarinin Değerlendirilmesi

Huseyin Kutluca
Yazılım Mimarileri
4 min readMay 9, 2019

Mimari gereksinimler doğrultusunda tasarlanan yazılım mimarisinin mimari gereksinimleri karşıladığının ve projenin geliştirilebilir olduğunun eş gözden geçirme süreci ile değerlendirilmesi gerekmektedir. Bu kapsamda öne çıkan gözden geçirme yaklaşımı senaryo tabanlı bir mimari analiz metodu olan Mimari Ödün Analizi Metodudur (Architectural Tradeoff Analysis Method-ATAM) ATAM metodu endüstride gerek savunma projelerinde gerekse kurumsal projelerde başarı ile kullanılmıştır. ATAM yaklaşımı savunma sanayinde kullanılan detaylı tasarım gözden geçirme aşamalarında kullanılabildiği gibi CMMI sürecinin bir parçası olan mimari Karar Analizi ve Çözümleme süreci kapsamında da kullanılabilmektedir.

ATAM incelenen mimarinin potansiyel risklerini, ödünleşim ve duyarlılık noktalarını tespit eden bir yazılım mimarisi değerlendirme ve analiz etme yöntemidir. ATAM, alınan tasarım kararlarının sonuçlarını sistemden beklenen kalite öznitelikleri doğrultusunda değerlendirmeyi amaçlar.

ATAM çalışması sonucunda, değerlendirilen sistemin;

· Kalite öznitelikleri, gereksinimleri açıkça tanımlanmış,

· Yazılım mimari dokümantasyonu oluşturulmuş,

· Tasarım kararları gerekçelendirilmiş,

· Mimari riskleri tespit edilmiş,

· Paydaşları arasında iletişim geliştirilmiş olunması hedeflenmektedir.

Kavramsal ATAM süreci akışı Şekil’de verilmiştir. Bu süreç öncelikli olarak iş hedeflerinin belirlenmesi ile başlar. Bu aşamada sistemin işin kapsamı, fonksiyonel beklentiler, varsa teknik veya yönetsel kısıtlar ve mimariyi şekillendiren temel kalite gereksinimleri belirlenir. Bununla eş zamanlı olarak planlanan mimarinin ve sistemden beklenen kalite niteliklerinin öngörülen mimari tasarım ile nasıl gerçekleştirileceği belirlenir.

Daha sonraki aşamada sistem için önemli olan kalite nitelikleri belirlenir, bu nitelikler senaryo olarak yazılır ve senaryolara “önem” ve “zorluk” kıstaslarına göre öncelik atanır.

Sonraki aşamada geliştirilen senaryolardan yüksek öncelikli olanlar analiz edilir. Bu adımda mimari riskler, duyarlılık noktaları ve ödün noktaları tespit edilir. Bu süreç sonucu yapılan çalışma raporlanır ve ihtiyaca göre projenin ileri ki aşamalarında güncellenir. Tespit edilen risk konularına göre mimari geliştirme ve değerlendirme süreci tekrarlanır.

ATAM Tabanlı Mimari Analiz Kavramsal Akışı (SEI web sitesinden adapte edilmiştir.)

Kavramsal olarak yukarıda verilen ATAM sürecinin Tablo 1’de belirtilen adımlar halinde ilerlemesi beklenmektedir:

Tablo 1. Atam Süreci

Bu sürecin geniş katılımcı paydaşlarla toplantılar halinde yapılması öngörülmekle birlikte bu toplantıların çevik süreç uygulayan projelerde uygulanmasının getirdiği zorluklar değerlendirilerek süreç adapte edilmiş ve ön çalışmalar sonrası yarım günlük bir toplantı ile paydaş analizi yapılmıştır.

1 ÖRNEK ANALİZ:

Bu analiz “Ulusal Yazılım Mimarileri Konferansı Bir Endüstriyel Nesnelerin İnterneti Mimarisinin ATAM Yaklaşımı ile Değerlendirilmesi, Kemal Memiş, Ersin Seza, Erdem Kaymaz ve Hüseyin Kutluca” aynen alınmıştır.

Tasarlana sistem mimarisi

2 İş Hedefleri Girdileri

2.1 Paydaşlar ve Mimariye Etkileri:

2.2 İşin Kapsamı:

2.3 Mimariyi etkileyen Ana Kullanım Durumları

Proje Kapsamında mimari tasarımı etkileyecek kullanım durumları aşağıda verilmiştir:

2.4 Mimari Kaygılar

Proje paydaşları tarafından dile getirilen mimari kaygılar değerlendirilmiş ve aşağıda listelenmiştir:

2.5 Sınırlamalar

Paydaşların belirttiği ve yazılım mimarisini etkileyebileceği öngörülen proje sınırlamaları aşağıdaki gibidir:

3 Kalite Öznitelikleri Senaryoları ve Mimari Analiz

Mimari analiz çalışması olarak kalite öznitelikleri senaryoları oluşturulmuş ve üzerinde analiz çalışması yapılmıştır. Bu kapsamda ortaya çıkan senaryolar, proje açısından önem ve yazılım geliştirme açısından zorluk derecelerine göre değerlendirilmiştir (Tablo 2).

Seçilen örnek senaryolar için detaylı kalite öznitelikleri analizleri aşağıdaki Tablo 3-Tablo 8’de verilmiştir. Her bir senaryoyu gerçeklemek üzere seçilen mimari kararlar kayıt altına alınmıştır. Bununla birlikte mimari riskler, duyarlılık noktaları ve ödün noktaları tespit edilmiş ve sunulmuştur.

Tablo 3. Performans Senaryosu
Tablo 4. Süreklilik Senaryosu
Tablo 5. Değiştirile bilirlik Senaryosu -1
Tablo 5. Değiştirile bilirlik Senaryosu -2
Tablo 7. Kullanışlılık Senaryosu
Tablo 8. Bakım Yapılabilirlik Senaryosu

--

--

Huseyin Kutluca
Yazılım Mimarileri

Highly motivated Software Architect with hands-on experience in design and development of mission critical distributed systems.