الگوهای طراحی و معماری نرمافزار
مدرس: دکتر رامان رامسین | گواهینامه: رسمی دوزبانه |
ترم: تابستان ۱۴۰۴ | پیشنیاز: برنامهسازی شیگرا (جاوا) |
زمان ارائه: یکشنبه و سهشنبه ۱۷:۳۰ تا ۱۹:۰۰ | محل برگزاری: کلاس مجازی |
هدف کلی
هدف این درس، آشنا کردن دانشجویان با الگوها و کاربرد آنها در مهندسی نرمافزار است. دانشجویان ضمن آشنایی با الگوهای رایج طراحی و معماری، با پادالگوها نیز آشنا میشوند. به دلیل تعدد الگوها، سعی میشود ضمن تأکید بر معرفی تفصیلی الگوهای پرکاربرد، آشنایی کافی با ساختارها و اصول مبنایی و روشهای مدیریت پیچیدگی و تحلیل الگوها نیز حاصل شود.
سرفصلها
- مقدمه: مبانی و تاریخچه (۱ جلسه)
- الگوهای طراحی (8 جلسه)
- الگوهای آفرینشی
- الگوهای ساختاری
- الگوهای رفتاری
- اصول و قواعد شیءگرا در قالب الگوها (۲ جلسه)
- اصول ششگانه
- الگوهای GRASP
- طراحی بر اساس قرارداد
- الگوهای معماری (۵ جلسه)
- پادالگوها (۲ جلسه)
ارزیابی
- تمرینها: ۶ نمره
- آزمون پایان دوره: ۱۴ نمره
منابع
- E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
- E. Freeman, E. Robson. Head First Design Patterns. 2nd ed. O'Reilly Media, 2020.
- F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Pattern-Oriented Software Architecture: A System of Patterns. Vol. 1. Wiley, 1996.
- M. Richards, Software Architecture Patterns, 2nd ed. O'Reilly Media, 2022.
- C.J. Neill, P.A. Laplante, J.F. DeFranco. Antipatterns: Managing Software Organizations and People. 2nd ed. CRC Press, 2012.