Sistem mimarisini resmileştirirken sadece mimarinin masaya getireceği değerin ardındaki değeri değil, aynı zamanda ne olması gerektiğini de anlamanız ve takdir etmeniz önemlidir.
Yazılım veya Teknik Mimarinin birincil hedefleri , Sistem Mimarisini yönlendirecek Kalite Nitelikleri tarafından gerçekleştirilen İşlevsel Olmayan gereksinimleri belirlemektir .
İşlevsel Olmayan Gereksinimler Hakkında:
İşlevsel olmayan bir gereklilik, belirli davranışlardan ziyade bir sistemin çalışmasını değerlendirmek için kullanılabilecek ölçütleri belirleyen bir gereksinimdir. Belirli davranışları veya işlevleri tanımlayan fonksiyonel gereksinimlerle karşılaştırılırlar. İşlevsel gereksinimleri uygulama planı sistem tasarımında ayrıntılı olarak açıklanmıştır. İşlevsel olmayan gereksinimleri uygulama planı sistem mimarisinde detaylandırılmıştır.
Genel olarak, işlevsel gereksinimler bir sistemin ne yapması gerektiğini ve işlevsel olmayan gereksinimler bir sistemin nasıl olması gerektiğini tanımlar. ... İşlevsel olmayan gereksinimlere genellikle bir sistemin "kalite özellikleri" denir. İşlevsel olmayan gereksinimlerle ilgili diğer terimler "nitelikler", "kalite hedefleri", "hizmet kalitesi gereklilikleri", "kısıtlamalar" ve "davranış dışı gereksinimler" dir.
Elbette mimari açıdan önemli gereksinimleri tanımlamak bir yeşil alan projesinde ne zaman mantıklıdır, ancak mevcut yazılımla çalışırken mümkün olduğunca disiplinli olmak en iyisidir. Yazılım mimarinizin mevcut sistemden etkilenmesini istemezsiniz.
Yazılım mimarisinin yetkili olması için 3 şey olması gerekiyor.
bildiren
Bu, belgelerin NEDEN OLMADIĞINI, ancak işlerin nasıl OLMASI gerektiğini bildirdiğiniz kısmıdır. Bunu, sistemin çeşitli Mimari Görünümlerini kullanarak yapıyoruz. Olması gereken bileşenleri, nasıl etkileştiklerini tanımlarız ve daha sonra sistemin nasıl tasarlanması gerektiğini bildiren daha ayrıntılı görünümler için isteğe bağlı olarak her bir bileşeni ayrıntılı olarak inceliyoruz.
Bu önemli bir ayrım. Sistem Tasarımı, Sistem Mimarisi tarafından sınırlandırılmalıdır, aslında ayrı ancak ilgili şeylerdir.
gerekçe
Yazılım Mimarinizin Gerekçesi, alınan mimari kararlarına meşruiyet ve otorite sağlayan şeydir. Belki de bir toplu işi tetiklemek için MQ üzerinden bir Pub / Sub olay dinleyicisi kullanma kararı alındı ve bunu diyagram haline getirdiniz mi?
Bu karar neden verildi? Neden Gerekçe bölümünde açıklıyoruz ve açıklamamızı İşlevsel Olmayan Gereksinimler, Kalite Özellik Hedefleri veya Mimari olarak Önemli Gereksinimler ile ilişkilendiriyoruz. (Ör. İşler eşzamansız ve tekrarlanabilir olmalıdır, bir kalite özniteliği olarak sürdürülebilirlik, bir toplu iş başarısızlığı durumunda işlerin bir MQ mesajı ile yeniden başlatılabileceğini, Sistemin eşzamansız iletişim ile Sıfır İleti Kaybına sahip olması gerektiğini vb. ..)
Riskler
Artık mimarlığın nasıl olması gerektiğini açıkladığınıza ve Gerekçenizle kanıtladığınıza göre, artık sistemin geçerli olmadığı sistemdeki mevcut durumdaki Riskleri tanımlayabilirsiniz.
(Örneğin, sunucu tarafı doğrulaması istemci tarafı Javascript kodunda çoğaltılıyor. Bu DRY ilkesinin ihlalidir ve bu, Sürdürülebilirliğin Kalite Özelliğine ters düşmektedir. Bu alanda Performans etrafında tanımlanmış İşlevsel olmayan gereksinimler yoktur. geçerli sistem davranışı için bir Gerekçe yoktur)
Riskleriniz, mevcut durumun şu anda Mimarlık'tan saptığı yeri de çizebilir. Bu Riskler, proje planları aracılığıyla veya bunu biriktirme listesine ekleyerek şimdi geliştirme ekibi tarafından ele alınabilir.