Buna kesin bir cevap yoktur, çünkü "yazılım mimarisi" ve "yazılım tasarımı" nın oldukça fazla tanımı vardır ve ikisi için de kanonik bir tanım yoktur.
Bunu düşünmenin iyi bir yolu Len Bass, Paul Clements ve Rick Kazman'ın "tüm mimari tasarımdır, ancak tüm tasarım mimari değildir" ifadesidir [Uygulamada Yazılım Mimarisi]. Buna tamamen katıldığımdan emin değilim (çünkü mimari başka aktiviteler de içerebilir) ancak mimarinin tasarımın kritik alt kümesiyle ilgilenen bir tasarım faaliyeti olduğu gerçeğini yakalar.
Biraz saygısız tanımım ( SEI tanımları sayfasında bulundu ), yanlış yapılırsa projenizin iptal edilmesine neden olan kararlar kümesidir.
Mimari, tasarım ve uygulamayı kavram olarak ayırmaya yönelik faydalı bir girişim, Amnon Eden ve Rick Kazman tarafından birkaç yıl önce burada bulunabilen "Mimarlık, Tasarım, Uygulama" başlıklı bir araştırma makalesinde yapıldı: http: //www.sei.cmu .edu / kütüphane / varlıklar / ICSE03-1.pdf . Onların dili oldukça soyut ama simplistically onlar söylüyorlar mimarisi birçok bağlamlarda kullanılabilir ve sistem boyunca uygulanmak üzere içindir tasarımdır, tasarım birçok bağlamlarda kullanılabilir ancak belirli bir kısmında uygulanan (err) tasarımdır sistemin ve uygulama bağlamında tasarım özeldir ve bu bağlamda uygulanır.
Mimari bir karar, sistemi RPC yerine mesajlaşma yoluyla entegre etme kararı olabilir (bu nedenle birçok yerde uygulanabilen ve tüm sisteme uygulanması amaçlanan genel bir prensiptir), bir tasarım kararı bir master kullanmak olabilir / giriş girdisi işleme modülündeki / slave iş parçacığı yapısı (herhangi bir yerde kullanılabilen ancak bu durumda yalnızca bir modülde kullanılan genel bir ilke) ve son olarak, bir uygulama kararı güvenlik için sorumlulukları İstek Yönlendiricisinden taşımak olabilir İstek Yöneticisi modülündeki İstek İşleyicisine (yalnızca bu bağlamla ilgili, bu bağlamda kullanılan bir karar) başvurun.
Umarım bu yardımcı olur!