معماری نرم افزار یعنی ساختار و سازمان یک سیستم نرم افزاری که به منظور پشتیبانی از عملیات مشخص، بر روی سازماندهی اجزاء متمرکز می باشد. در واقع اجزاء را در حوزه های مرتبط به هم گروه بندی می کند. دیگر حوزه های مرتبط به هم، بر روی تبادل و تعامل با این حوزه متمرکز می شوند.
معماری نرم افزار از کلیدی ترین بخش های تولید نرم افزار مخصوصاً نوع تجاری آن است که البته در سالهای اخیر با ایجاد مدل های کلاسیک تولید نرم افزار به نرم افزارهای عظیم تر محدود شده است.
معماری نرم افزار در واقع انتخاب یک ساختار کلی برای پیاده سازی یک پروژه نرم افزاری بر مبنای مجموعه ای از نیازهای کاربری و تجاری یک سیستم نرم افزاری است تا هم بتوان کاربردهای مورد نظر را پیاده سازی کرد و هم بتوان کیفیت نرم افزار، تولید آن و نگهداری آن را نیز بهینه کرد و سرعت بخشید. به عبارتی دیگر: معماری نرم افزار یک برنامه یا سیستم محاسباتی، ساختار یا ساختارهای آن سیستم محاسباتی است که خصوصیات قابل رویت از بیرون، عناصر و ارتباطات بین آن ها را نشان می دهد.
معماری نرم افزار فرایند تعریف یا راه حل نرم افزاری ساختار منداست به شکلی که بتواند کلیه نیازمندی های فنی و عملیاتی مورد انتظار را، پوشش دهد.
این فرایند باید به شکلی انجام شود که معیارهای کیفی مانند بهره دهی، امنیت و قابلیت اطمینان و مدیریت پذیری، بهینه شده باشند. فیلیپ کرچن و گریدی بوش معماری نرم افزار را به صورت زیر تعریف می نمایند: «معماری نرم افزار شامل تصمیمات کلیدی راجع به ساختار یک سیستم نرم افزاری است که شامل انتخاب اجزای سازنده نرم افزار و رابطه های آنها است. همچنین رفتار این اجزا را به عنوان تعاملی که باهم برای ساختن یک زیر سیستم بزرگتر، انجام می دهند، مشخص می سازد. معماری نرم افزار همچنین، کارکردها، قابلیت استفاده، انعطاف پذیری، عملکرد، استفاده مجدد، قابل درک بودن، محدودیت های اقتصادی و فناوری، نحوه تبادل اطلاعات و جنبه های زیبایی سیستم نرم افزاری را شامل می شود. »
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفمعماری نرم افزار از کلیدی ترین بخش های تولید نرم افزار مخصوصاً نوع تجاری آن است که البته در سالهای اخیر با ایجاد مدل های کلاسیک تولید نرم افزار به نرم افزارهای عظیم تر محدود شده است.
معماری نرم افزار در واقع انتخاب یک ساختار کلی برای پیاده سازی یک پروژه نرم افزاری بر مبنای مجموعه ای از نیازهای کاربری و تجاری یک سیستم نرم افزاری است تا هم بتوان کاربردهای مورد نظر را پیاده سازی کرد و هم بتوان کیفیت نرم افزار، تولید آن و نگهداری آن را نیز بهینه کرد و سرعت بخشید. به عبارتی دیگر: معماری نرم افزار یک برنامه یا سیستم محاسباتی، ساختار یا ساختارهای آن سیستم محاسباتی است که خصوصیات قابل رویت از بیرون، عناصر و ارتباطات بین آن ها را نشان می دهد.
معماری نرم افزار فرایند تعریف یا راه حل نرم افزاری ساختار منداست به شکلی که بتواند کلیه نیازمندی های فنی و عملیاتی مورد انتظار را، پوشش دهد.
این فرایند باید به شکلی انجام شود که معیارهای کیفی مانند بهره دهی، امنیت و قابلیت اطمینان و مدیریت پذیری، بهینه شده باشند. فیلیپ کرچن و گریدی بوش معماری نرم افزار را به صورت زیر تعریف می نمایند: «معماری نرم افزار شامل تصمیمات کلیدی راجع به ساختار یک سیستم نرم افزاری است که شامل انتخاب اجزای سازنده نرم افزار و رابطه های آنها است. همچنین رفتار این اجزا را به عنوان تعاملی که باهم برای ساختن یک زیر سیستم بزرگتر، انجام می دهند، مشخص می سازد. معماری نرم افزار همچنین، کارکردها، قابلیت استفاده، انعطاف پذیری، عملکرد، استفاده مجدد، قابل درک بودن، محدودیت های اقتصادی و فناوری، نحوه تبادل اطلاعات و جنبه های زیبایی سیستم نرم افزاری را شامل می شود. »
wiki: معماری نرم افزار