طراحی معماری نرمافزار یکی از مهمترین مراحل توسعه این بخش بوده و اهمیت آن به اندازه معماری ساختمان است، طوری که وجود اشتباه هر قدر کوچک در معماری ساختمان میتواند عواقب خطرناکی داشته باشد، از این رو انتخاب الگوهای طراحی مناسب برای معماری یک پروژه از اهمیت ویژهای برخوردار است.
خوشبختانه در دنیای نرمافزار ، معماری و الگوهای متفاوتی برای توسعه نرمافزار به وجود آمده است، این که از چه الگویی و کجا و چگونه استفاده شود به بررسی و استفاده از تجربه شخصی و تجربه دیگران نیاز دارد. شاخصههای زیادی برای طراحی این الگوها در نظر گرفته میشود که چند مورد از آنها را تیتروار بیان میکنیم:
۱ ـ نگهداری از سیستم: سیستم باید طوری طراحی شود تا گروه توسعهدهنده یا تیمهای دیگر بتوانند خطاها و باگهای آن را براحتی در کمترین زمان ممکن رفع کنند.
۲ ـ قابلیت استفاده مجدد: یک طراحی خوب باید بتواند در درازمدت هم قابلیت توسعه داشته باشد و قابلیتهای جدید براحتی و بدون کمترین خللی در بقیه اجزا به سیستم اضافه شود.
۳ ـ بازدهی سیستم: بخشی از بازدهی سیستم مربوط به چارچوب کاری و پلتفرم مورد استفاده است؛ اما یک الگوی مناسب با تقسیم اجزا و ایجاد رابطه منطقی بین آنها میتواند در بازدهی سیستم تاثیر بسزایی داشته باشد.
۴ ـRapid Application Development) RAD) : یک معماری خوب میتواند سرعت توسعه را به طرز قابل ملاحضهای افزایش دهد. حذف عملیات تکراری و ساده باعث میشود تمرکز تیم توسعهدهنده به بخشهای اساسی سیستم و تامین امنیت برنامه معطوف شود.
یکی از این الگوهای طراحی نرمافزار MVC نام دارد. MVC روشی