You are not allowed to perform this action

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

Software Analysis and Design

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

هدف کلی

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

سرفصل‌ها

  • اهمیت و جایگاه تحلیل و طراحی نرم‌افزار
    • مقدمه‌ای بر چرخه حیات تولید نرم‌افزار
    • معرفی کلان مدل‌های فرایند تولید نرم‌افزار
    • اهمیت تحلیل و طراحی نرم‌افزار
    • جایگاه تحلیل و طراحی در فرایند توسعه نرم‌افزار
  • شناخت و تحلیل نیازمندی‌ها
    • آشنایی با فنون شناخت و استخراج نیازمندی‌ها
    • مدل‌سازی نیازمندی‌ها با استفاده از Use Cases
    • مدل‌سازی نیازمندی‌ها با استفاده از User Stories
    • تحلیل و مدل‌سازی شی‌گرا به وسیله UML
    • تحلیل از طریق نمونه سازی (Prototyping)
  • طراحی نرم‌افزار
    • طراحی شی‌گرا به وسیله UML
    • طراحی رابط کاربری (UI) و تجربه کاربری (UX)
    • اصول طراحی نرم‌افزار
    • مقدمه‌ای بر الگوهای طراحی

ارزیابی پیشنهادی

  • فعالیت‌های کلاسی (ترجیحا پروژه‌های عملی) در طول نیم‌سال: ۴۰ درصد
  • آزمون‌های میان‌ترم و پایان‌ترم: ۶۰ درصد

منابع پیشنهادی

  1. J. L. Whitten and L. D. Bentley. System Analysis and Design Methods. 8th Edition, McGraw-Hill, 2021.
  2. S. Bennett and R. Farmer. Object Oriented Systems Analysis and Design Using UML. 4th Edition, McGraw Hill, 2010.
  3. E. Freeman and E. Robson. Head First Design Patterns. 2nd Edition, O’Reilly Media, Inc., 2021.
  4. M. Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling Language. 3rd Edition, Addison-Wesley Professional, 2004.
  5. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.