You are not allowed to perform this action

معماری نرم‌افزار

Software Architecture

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

اهداف درس

هدف اصلی از این درس آشنایی با مفاهیم معماری نرم‌افزار، جایگاه آن، فرایند تدوین معماری، مستند‌سازی و ارزیابی معماری است که شامل اهداف جزئی زیر می‌باشد:

  • فهم تاثیر پیشران‌های معماری بر ساختار سیستم‌های نرم‌افزاری
  • درک نقش فنی، سازمانی و تجاری معماری نرم‌افزار
  • شناخت ساختارهای کلیدی معماری (سبک‌ها، تاکتیک‌ها و …)
  • فهم اصول صحیح مستند‌سازی و ارائه معماری
  • درک تاثیر COTS در طراحی معماری
  • آشنایی با مشخصه‌های کیفی و روش‌های ارزیابی معماری
  • آگاهی از آینده معماری نرم‌افزار

ریز مواد

  1. تعاریف معماری نرم‌افزار، پیشران‌های معماری (۲ جلسه)
  2. چرخه حیات معماری (۱ جلسه)
  3. نیازمندی‌های وظیفه‌مندی و غیر وظیفه‌مندی (۳ جلسه)
  4. نقش معماری نرم‌افزار در دستیابی به ویژگی‌های کیفی نرم‌افزار (۱ جلسه)
  5. جایگاه معماری نرم‌افزار در فرایند توسعه محصولات نرم‌افزاری (۱ جلسه)
  6. ساختارها و منظر‌های معماری (۲ جلسه)
  7. تکنیک‌ها و متدهای طراحی معماری (۱ جلسه)
  8. تاکتیک‌ها، الگوها و سبک‌های معماری (۲ جلسه)
  9. طراحی معماری و روش‌های دستیابی به خصوصیات کیفی (۵ جلسه)
  10. مستند‌سازی معماری و زبان‌های توصیف معماری (۱ جلسه)
  11. روش‌های ارزیابی معماری نرم‌افزار (۳ جلسه)
  12. بازیابی معماری نرم‌افزار (۱ جلسه)
  13. معماری نرم‌افزار خاص دامنه (۱ جلسه)
  14. معماری خط تولید نرم‌افزار (۲ جلسه)
  15. معماری سرویس‌گرا (۱ جلسه)
  16. توسعه بر پایه معماری مولفه محور (۱ جلسه)
  17. معماری محاسبات ابری (۱ جلسه)
  18. مباحث نوین در معماری نرم‌افزار (۳ جلسه)
  19. آینده معماری نرم‌افزار (۱ جلسه)

ارزیابی

  • تمرین (۱۵ درصد نمره)
  • پروژه (۲۵ درصد نمره)
  • آزمون پایان ترم (۵۰ درصد نمره)
  • سمینار (۱۰ درصد نمره)

مراجع

  1. L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. 3rd edition, Addison-Wesley, 2013.
  2. L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. 2nd edition, Addison-Wesley, 2003.
  3. P. Clements, et al. Documenting Software Architectures: Views and Beyond. Addison-Wesley, 2003.
  4. A.J. Lattanze. Architecting Software Intensive Systems: A Practitioner’s Guide. Taylor and Francis/Auerbach, 2008.
  5. M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.