الگوها در مهندسی نرم‌افزار

Patterns in Software Engineering

مقطع: تحصیلات تکمیلی گرایش: نرم‌افزار
نوع درس: نظری تعداد واحد: ۳
پیش‌نیاز: – هم‌نیاز: –

هدف کلی

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

سرفصل‌ها

  1. مقدمه‌ای بر الگوها در مهندسی نرم‌افزار
  2. الگوهای طراحی GoF
  3. الگوهای طراحی GRASP
  4. الگوهای معماری
  5. الگوهای بازآرایی کد
  6. الگوهای مهندسی مجدد
  7. پادالگوها
  8. روش‌های طبقه‌بندی، مدیریت پیچیدگی و تحلیل الگوها

ارزیابی پیشنهادی

منابع پیشنهادی

  1. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. 1st Edition, Addison-Wesley, 1995.
  2. F. Pikus. Hands-On Design Patterns with C++. 2nd Edition, Packt Publishing, 2023.
  3. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture: A System of Patterns. Vol. 1. Wiley, 1996.
  4. F. Buschmann, K. Henney, and D.C. Schmidt. Pattern-Oriented Software Architecture: On Patterns and Pattern Languages. Vol. 5, Wiley, 2007.
  5. J. Kerievsky. Refactoring to Patterns. Addison-Wesley, 2004.