معماری نرم‌افزار

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

معماری نرم‌افزار یعنی ساختار و سازمان یک سیستم نرم‌افزاری که به منظور پشتیبانی از عملیات مشخص، بر روی سازماندهی اجزاء متمرکز می‌باشد. در واقع اجزاء را در حوزه‌های مرتبط به هم گروه بندی می‌کند. دیگر حوزه‌های مرتبط به هم، بر روی تبادل و تعامل با این حوزه متمرکز می‌شوند.

معماری نرم‌افزار از کلیدی‌ترین بخشهای تولید نرم‌افزار مخصوصا نوع تجاری آن است که البته در سالهای اخیر با ایجاد مدلهای کلاسیک تولید نرم‌افزار به نرم‌افزارهای عظیم تر محدود شده است.

معماری نرم‌افزار در واقع انتخاب یک ساختار کلی برای پیاده‌سازی یک پروژه نرم‌افزاری بر مبنای مجموعه‌ای از نیازهای کاربری و تجاری یک سیستم نرم‌افزاری است تا هم بتوان کاربردهای مورد نظر را پیاده‌سازی کرد و هم بتوان کیفیت نرم‌افزار، تولید آن و نگهداری آن را نیز بهینه کرد و سرعت بخشید. به عبارتی دیگر: معماری نرم‌افزار یک برنامه یا سیستم محاسباتی، ساختار یا ساختارهای آن سیستم محاسباتی است که خصوصیات قابل رویت از بیرون، عناصر و ارتباطات بین آنها را نشان می‌دهد.


معماری نرم افزار فرآیند تعریف یا راه حل نرم افزاری ساختار منداست یه شکلی که بتواند کلیه نیازمندی های فنی و عملیاتی مورد انتظار را، پوشش دهد.

این فرآیند باید به شکلی انجام شود که معیارهای کیفی مانند بهره دهی ، امنیت و قابلیت اطمینان و مدیریت پذیری ، بهینه شده باشند. فیلیپ کرچن و گریدی بوش معماری نرم افزار را بصورت زیر تعریف می نمایند: "معماری نرم افزار شامل تصمیمات کلیدی راجع به ساختار یک سیستم نرم افزاری است که شامل انتخاب اجزای سازنده نرم افزار و رابطه های انها است . همچنین رفتار این اجزا را بعنوان تعاملی که باهم برای ساختن یک زیر سیستم بزرگتر ، انجام میدهند ، مشخص می سازد. معماری نرم افزار همچنین ، کارکرد ها ، قابلیت استفاده ،انعطاف پذیری، عملکرد ، استفاده مجدد، قابل درک بودن، محدودیت های اقتصادی و فن آوری، نحوه تبادل اطلاعات و جنبه های زیبایی سیستم نرم افزاری را شامل می شود."

نویسنده:فرشاد جهانگرد و رضا صاحب الزمانی