SAمعماری نرم‌افزار از جمله مفاهیمی است که در دو دهه اخیر به‌تدریج در حوزه مهندسی نرم‌افزار و توسعه نرم‌افزار جای پایی پیدا نموده است. برخلاف تفکر اغلب افراد که با شنیدن کلمه معماری نرم‌افزار به یاد لایه‌های نرم‌افزار می‌افتند و در مورد N-Tier صحبت می‌کنند و به آن ابراز ارادت می‌کنند، معماری نرم‌افزار مباحث بیشتری از جمله تشخیص و تعیین مولفه‌های کلیدی سیستم، چگونگی تقسیم وظایف بین مولفه‌ها، چگونگی برآورده‌سازی خصوصیات کیفی با اهمیت و الگوهای معماری را در برمی‌گیرد. معماری نرم‌افزار نیز همانند مهندسی نرم‌افزار در اغلب سیستم‌های کوچک کمتر به چشم می‌‌خورد و در واقع با چشم غیرمسلح دیده نمی‌شود اما در سیستم‌های بزرگ چه از نظر تعداد نیازمندی‌ها، نفرات توسعه‌دهنده، استاندارهای مورد استفاده و همچنین وجود خصوصیات کیفی با اولویت بالا همچون قابلیت اعتماد (Reliability)، قابلیت دسترسی‌پذیری (Availability) و امنیت (Security) مشاهده معماری نرم‌افزار و استفاده از آن بسیار مشهود و قابل درک است.

از جمله معروفترین کتاب‌هایی که در مورد معماری نرم‌افزار و خصوصاً خصوصیات کیفی صحبت می‌کند، کتاب Software Architecture in Practice می‌باشد که نمونه‌های اجرایی کاربردی و البته با حجم مستندات کم و محتوای سنگین را در بردارد که خواندن آن فتح بابی است برای کسانی که علاقه به دانستن این موضوع دارند. در پست‌های بعدی در این زمینه بیشتر خواهم نوشت. برای دریافت پاورپوینت‌های از اینجا استفاده کنید.