You are not allowed to perform this action

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

Patterns in Software Engineering

شماره درس: ۴۰۷۸۷ تعداد واحد: ۳
مقطع: کارشناسی ارشد نوع درس: نظری
پیش‌نیاز: – هم‌نیاز: –

اهداف درس

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

ریز مواد

  1. مقدمه: مبانی و تاریخچه (۱ جلسه - مدت هر جلسه، نود دقیقه است)
  2. الگوهای پایه Coad (۱ جلسه)
  3. الگوهای GoF (۵ جلسه)
  4. اصول و قواعد شیءگرایی در قالب الگوها - الگوهای GRASP (۲ جلسه)
  5. الگوهای معماریGoV (۴ جلسه)
  6. الگوهای طراحی GoV (۲ جلسه)
  7. الگوهای بازآرایی کد (۴ جلسه)
  8. الگوهای مهندسی مجدد (۴ جلسه)
  9. الگوهای فرایند ایجاد نرم‌افزار (۱ جلسه)
  10. پادالگوها (۳ جلسه)
  11. الگوهای تحلیل Fowler (۲ جلسه)
  12. روشهای طبقه‌بندی، مدیریت پیچیدگی و تحلیل الگوها (۱ جلسه)

ارزیابی

  • آزمون: آزمون‌های میان‌ترم و پایان‌ترم (۶۰ درصد نمره)
  • تمرین: سه یا چهار تمرین پژوهشی که در طول نیم‌سال تحویل داده می‌شوند (۲۰ درصد نمره).
  • گزارش پژوهشی: فهرستی از موضوعات پژوهشی توسط استاد درس به دانشجویان پیشنهاد میشود تا دانشجویان موضوع مورد علاقه خود را از آن فهرست انتخاب کنند. دانشجویان کار پژوهش را با کمک استاد درس آغاز می‌کنند و نتایج را نهایتاً در قالب یک گزارش پژوهشی تحویل می‌دهند (۲۰ درصد نمره).

مراجع

  1. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
  2. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture: A System of Patterns. Vol. 1. Wiley, 1996.
  3. M. Fowler. Analysis Patterns: Reusable Object Models. Addison-Wesley, 1996.
  4. J. Kerievsky. Refactoring to Patterns. Addison-Wesley, 2004.
  5. A. Shalloway and J. Trott. Design Patterns Explained: A New Perspective on Object-Oriented Design. 2nd edition, Addison-Wesley, 2005.
  6. D. Manolescu, M. Voelter, and J. Noble. Pattern Languages of Program Design. Vol. 5, Addison-Wesley, 2006.
  7. F. Buschmann, K. Henney, and D.C. Schmidt. Pattern-Oriented Software Architecture: On Patterns and Pattern Languages. Vol. 5, Wiley, 2007.