الگوهای طراحی و معماری نرمافزار
مدرس: رامان رامسین | گواهی: رسمی دوزبانه |
ترم: پاییز ۱۴۰۳ | پیشنیاز: برنامهسازی پیشرفته |
زمان ارائه: پنجشنبه ساعت ۱۵:۰۰ تا ۱۸:۰۰ | محل برگزاری: کلاس مجازی |
هدف کلی
هدف این درس، آشنا کردن دانشجویان با الگوها و کاربرد آنها در مهندسی نرمافزار است. دانشجویان ضمن آشنایی با الگوهای رایج طراحی و معماری، با پادالگوها نیز آشنا میشوند. به دلیل تعدد الگوها، سعی میشود ضمن تأکید بر معرفی تفصیلی الگوهای پرکاربرد، آشنایی کافی با ساختارها و اصول مبنایی و روشهای مدیریت پیچیدگی و تحلیل الگوها نیز حاصل شود.
سرفصلها
- مقدمه: مبانی و تاریخچه (۱ جلسه)
- الگوهای GoF - Gamma et al (۸ جلسه)
- الگوهای آفرینشی
- الگوهای ساختاری
- الگوهای رفتاری
- اصول و قواعد شیءگرا در قالب الگوها (۲ جلسه)
- اصول ششگانه
- الگوهای GRASP
- طراحی بر اساس قرارداد
- الگوهای معماری GoV - Buschmann et al (۵ جلسه)
- پادالگوها (۲ جلسه)
ارزیابی
- تمرینها: ۶ نمره
- آزمون پایان دوره: ۱۴ نمره
منابع
- 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.
- . C.J. Neill, P.A. Laplante, J.F. DeFranco. Antipatterns: Managing Software Organizations and People. 2nd ed. CRC Press, 2012.