معماری نرم افزار فرآیند تعریف یا راه حل نرم افزاری ساختارمند است به شکلی که بتواند کلیه نیازمندی های فنی و عملیاتی مورد انتظار را پوشش دهد.
این فرآیند باید به شکلی انجام شود که معیارهای کیفی مانند بهره دهی، امنیت و قابلیت اطمینان و مدیریت پذیری، بهینه شده باشند. فیلیپ کرچن و گریدی بوش معماری نرم افزار را بصورت زیر تعریف می نمایند: «معماری نرم افزار شامل تصمیمات کلیدی راجع به ساختار یک سیستم نرم افزاری است که شامل انتخاب اجزای سازنده نرم افزار و رابطه های آنها است. همچنین رفتار این اجزا را به عنوان تعاملی که باهم برای ساختن یک زیر سیستم بزرگتر انجام میدهند، مشخص می سازد. معماری نرم افزار همچنین کارکرد ها، قابلیت استفاده، انعطاف پذیری، عملکرد، استفاده مجدد، قابل درک بودن، محدودیت های اقتصادی و فنآوری، نحوه تبادل اطلاعات و جنبه های زیبایی سیستم نرم افزاری را شامل می شود.»
مشاورین شرکت سامانه هوشمند آبان که برخی اعضای آن بیش از 20 سال تجربه توسعه نرم افزارهای بزرگ در حوزه های مختلف را دارند بر اساس چارچوب های کاری تجربه شده و با اشراف به الگوهای معماری، خدمات راهبری پروژه معماری و همچنین معماری یکپارچه سیستم های BPM و DMS و ERP را ارائه می نمایند.
عوامل موثر بر معماری نرم افزار
- ذینفعان
- سازمان توسعه دهنده سیستم
- محیط فنآوری
- تجربه معماری
- نیازمندیها
- معماران آبان
- معماری
- سیستم نرم افزاری یکپارچه