درس معماری نرمافزار با هدف آشنایی دانشجویان فناوری اطلاعات با اصول، مفاهیم و روشهای طراحی ساختار کلان سیستمهای نرمافزاری ارائه میشود. در این درس، دانشجویان میآموزند چگونه اجزای یک سیستم نرمافزاری، ارتباطات میان آنها، زیرساختهای اجرایی و فناوریهای مورد استفاده را بهگونهای طراحی کنند که سیستم از نظر کیفیت، کارایی، امنیت، توسعهپذیری و نگهداشتپذیری در وضعیت مطلوبی قرار گیرد.
با توجه به تحولات جدید در حوزه هوش مصنوعی، این درس بر معماریهای نرمافزاری بومی هوش مصنوعی (AI-Native Software Architectures) نیز تمرکز دارد تا دانشجویان با اصول طراحی سیستمهای هوشمند، یکپارچهسازی مدلهای هوش مصنوعی، عاملهای هوشمند (AI Agents)، سرویسهای ابری و معماریهای مقیاسپذیر آشنا شوند.
اهداف اصلی درس
-
آشنایی با مفاهیم بنیادین معماری نرمافزار و نقش آن در چرخه عمر توسعه نرمافزار.
-
شناخت الگوهای معماری، سبکهای طراحی و اجزای اصلی سیستمهای نرمافزاری.
-
توانایی تحلیل و انتخاب معماری مناسب بر اساس نیازمندیهای عملکردی و غیرعملکردی سیستم.
-
آشنایی با معماریهای توزیعشده، میکروسرویسها، رایانش ابری و اصول یکپارچهسازی سیستمها.
-
شناخت اصول طراحی معماریهای بومی هوش مصنوعی و ادغام مدلهای زبانی بزرگ، عاملهای هوشمند و سرویسهای هوش مصنوعی در سامانههای نرمافزاری.
-
تقویت مهارت مستندسازی، ارزیابی و تصمیمگیری معماری با تأکید بر کیفیت، امنیت، مقیاسپذیری و نگهداشتپذیری.
خروجی مورد انتظار: دانشجویان در پایان درس باید بتوانند معماری یک سیستم نرمافزاری را تحلیل و طراحی کنند، درباره تصمیمهای معماری استدلال کنند و راهکارهای مناسب برای ساخت سامانههای مدرن و هوشمند ارائه دهن