پرش به مطلب اصلی

اصول طراحی نرم‌افزار

Principles of SoftwareDesign


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

سرفصل درس:

  • مدل‌های فرآیند نرم‌افزار: مدل آبشاری، مدل تدریجی،‌ مدل تکاملی، مدل هم‌زمان

  • توسعه چابک، اصول چابک:‌ مقدمه‌ای بر چارچوب‌های چابک: Scrum،‌ مقدمه‌ای بر نرم‌افزارها و ابزارهای چابک، مطالعه موردی در دنیای واقعی

  • فرآیند یکپارچه RUP: معرفی RUP، مدیریت نیازمندی‌ها، زبان مدل‌سازی یکپارچه UML

  • مدل C4 برای معماری نرم‌افزار

  • اصول و الگوهای طراحی، اصول طراحی شی‌گرا: الگوهای طراحی نرم‌افزار (GoF)، استفاده از الگوهای طراحی در مواجهه با مسائل واقعی

  • ضدالگوها و code smellها: تشخصی ضدالگوها و code smellها

  • بهسازی نرم‌افزار: روش‌های بهسازی نرم‌افزار، ابزارهای بهسازی نرم‌افزار،

  • کیفیت نرم‌افزار: مقدمه‎ای بر مدل‌های کیفیت نرم‌افزار، سنجه‌های اندازه‌گیری کمّی کیفیت نرم‌افزار

  • معماری نرم‌افزار: مقدمه‌ای بر مدل‎های معماری نرم‌افزار، معماری Clean

  • آزمون نرم‌افزار: آزمون واحد، آزمون یکپارچگی، توسعه آزمون‌محور (TDD)

  • طراحی نرم‌افزار به کمک هوش مصنوعی

  • انجام پروژه تیمی.

منابع:

  • رسول زادگان، ع (۱۳۹۱)، مدل سازی نرم فزار به کمک UML با رویکرد RUP انتشارات علوم رایانه، چاپ اول.

  • Pressman, R. S., & Roger, P. (2009). Software engineering: A practitioner's approach (7th ed.). McGraw Hill.

  • Sommerville, I. (2011). Software engineering (9th ed.). Addison Wesley.

  • Larman, C. (2004). Applying UML and patterns: An introduction to object-oriented analysis and design and the unified process (2nd ed.). Prentice Hall.

  • Rubin, K. S. (2012). Essential scrum: A practical guide to the most popular agile process (1st ed.). Addison-Wesley.

  • Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software. Addison-Wesley.

  • Robson, E., & Freeman, E. (2021). Head first design patterns: Building extensible and maintainable object-oriented software (2nd ed.). O'Reilly Media.

  • Shvets, A. (2019). Dive into design patterns. Refactoring.Guru.

  • Brown, W. J., Malveau, R. C., Brown, W. H., McCormic, H. W., & Mowbray, T. J. (1998). AntiPatterns: Refactoring software, architectures, and projects in crisis (1st ed.). John Wiley and Sons.

  • Fowler, M., & Beck, K. (1999). Refactoring: Improving the design of existing code. Addison-Wesley.

  • Martin, R. C. (2017). Clean architecture: A craftsman's guide to software structure and design (1st ed.). Pearson.

  • Bass, L., Clements, P., & Kazman, R. (2012). Software architecture in practice (3rd ed.). Addison-Wesley Professional.