bugün

mimari tasarım belgesi, sistemin tasarım ve gerçekleştirimi şekillendiren felsefeyi, kararları, kısıtları, gerekçeleri, önemli unsurları ve diğer kapsayıcı yönlerini açıklar.

yazılım mühendisliği laboratuvarı kapsamında bize taslak olarak verilen belge şu şekildedir:

1. amaç
bu belge sistemin tasarım ve gerçekleştirimi şekillendiren felsefeyi, kararları, kısıtları, gerekçeleri, önemli unsurları ve diğer kapsayıcı yönlerini açıklar.

örneğin, mimari tasarıma başlamadan önce gerçekleştirilecek sistemin kesin bir donanım üzerinde çalışacağı, uzunca bir süre (belki yıllarca) kullanıcıyla fiziksel etkileşim olmadan sistem işletiminin sürdürülebilir olması gerektiği vb.

2. mimari hedefler ve felsefe
[mimarinin felsefesini açıklayın. felsefeyi yürütecek konuları belirleyin, örneğin: sistem karmaşık yükleme rutinleri, eski sistemlerle adaptasyon ve performans gereksinimleri ile mi işletilecek? sistemin uzun vadeli bakım için sağlam olması gerekir mi?

mimari yapısı ve davranışları ile karşılayacağı bir hedefler kümesi oluşturun. mimar tarafından ele alınması gereken kritik konuları belirleyin, örneğin: sistemin geri kalanından izole edilmesi gereken donanım bağımlılıkları var mı? sistemin olağandışı koşullar altında etkili çalışması gerekiyor mu?]

3. varsayimlar ve bağimliliklar
[mimari kararları yönlendiren varsayımları ve bağımlılıkları listeleyin. bunlar; duyarlı ve kritik alanları, eski arayüzlere bağımlılıkları, ekibin yetenek ve deneyimini, önemli kaynakların kullanılabilirliğini ve benzerlerini içerir.]

4. önemli mimari gereksinimler
[mimariyi oluşturmak için gerçekleştirilmesi gereken gereksinimler için birer referans ekleyin.]

5. kararlar, kisitlar ve gerekçeler
[geliştiricilerin sistemi geliştirmesi üzerinde etkili mimari yaklaşımlar ve kısıtlar ile ilgili alınan kararları listeleyin. bunlar sistemin mimari açıdan önemli kısımlarını tanımlamada kılavuzluk edecektir. her bir kararın ve kısıtın sebebini, geliştiricilerin bu karar ve kısıtlarla yaratılan bağlama göre sistemin oluşturulmasının önemini anlamaları için açıklayın. bunlar sistem oluşturulurken geliştiriciler için kılavuzluk edecek yapılacaklar ve yapılmayacaklar listesini içerebilir.]

karar ya da kısıt ve açıklama
karar ya da kısıt ve açıklama
6. mimari düzenekler
[mimari düzenekleri listeleyin ve her birisinin mevcut durumunu açıklayın. başlangıçta her bir düzenek sadece isim ve kısa bir açıklamadan ibaret olabilir. bunlar düzenek tasarıma bir açıdan uygulanabilecek tavsiye ya da örüntü olana dek evrimleşecektir.]

mimari düzenek 1
[mimari düzeneğin amacını, niteliklerini ve işlevini açıklayın.]

mimari düzenek 2
[mimari düzeneğin amacını, niteliklerini ve işlevini açıklayın.]

7. temel soyutlamalar
[sistemin temel soyutlamalarını listeleyin ve kısaca açıklayın. bu, sistemi tanımlayan kritik kavramların göreli kısa bir listesi olacaktır. temel soyutlamalar genellikle ilk analiz sınıflarına ve önemli örüntülere dönüşecektir.]

8. katmanlar ve mimari çerçeve
[kullanacağınız mimari örüntüyü ve mimarinin nasıl tutarlı ve tekdüze olacağını açıklayın. bu, katmanlı çerçeve gibi var olan ya da iyi bilinen bir mimari örüntüye referans, çerçevenin üst düzeyde bir modeline referans ya da ana sistem bileşenlerinin nasıl bir araya geleceğinin tanımı olabilir.]

9. mimari görünümler
[yazılım mimarisini açıklamak için kullanacağınız mimari görünümleri açıklayın. bunlar, mimari kararların gözden geçirilmesi ve belgelendirilmesi için kullanacağınız farklı bakış açılarını gösterir.]

önerilen görünümler
mantıksal: sistemin mimari açıdan önemli bölümlerinin davranışı ve yapısını açıklar. bu paket yapısı, kritik arayüzler, önemli sınıflar ve alt sistemler ve bu elemanlar arasındaki ilişkileri içerir. eğer kalıcılık sistemde oluşturulacaksa, kalıcı verinin fiziksel ve mantıksal görünümlerini de içerir. tasarımın altkümesinin belgelendirilmesidir.
operasyonel: sistemin fiziksel düğümlerini ve süreçlerini, ipliklerini ve bu fiziksel düğümleri üzerinde çalışan bileşenleri açıklar. sistem tek bir süreç ve iplik ile çalışıyorsa bu görünüm gerekli değildir.
use case: mimari açıdan önemli gereksinimleri içeren use case diagramı yada bir listedir.
örnek mimarı tasarım belgesi:
http://cs.bilkent.edu.tr/...13/sample_group13_sdd.doc
*