تحلیل و طراحی سیستم‌ها

Systems Analysis and Design

شماره درس: ۴۰۴۱۸ تعداد واحد: ۳
مقطع: کارشناسی نوع درس: نظری
پیش‌نیاز: ارائه مطالب علمی و فنی، طراحی پایگاه داده‌ها هم‌نیاز: –

اهداف درس

همان‌طور که برای حل یک مسئله‌ی ریاضی ابتدا نیاز است پیچیدگی‌ها و ابعاد آن شناسایی شده، استراتژی‌های مناسب برای حل آن مسئله طراحی شده و سپس اقدام به حل آن نمود، مسائلی از جنس ساخت سامانه‌های رایانه‌ای برای مجموعه‌ای از مردم (که شاید در بسیاری از موارد از مسائل ریاضی پیچیده‌تر نیز باشند) نیز قبل از اقدام به پیاده‌سازی نیاز به تحلیل و طراحی دارند. در این درس دانشجویان با مهارت‌های تحلیل و طراحی مانند تحلیل نیازمندی‌ها، تحلیل امکان‌سنجی، مدل‌سازی، تحلیل فرایندها، طراحی معماری، و طراحی UI/UX‌ آشنا می‌شوند. در کنار این‌ مهارت‌ها، این درس حاوی مهارت‌های مدیریت و برنامه‌ریزی تولید سامانه‌های رایانه‌ای مانند روشگان‌های تولید این سامانه‌ها، خودکارسازی فرایند، و مفاهیم مدیریت پروژه در این‌گونه پروژه‌ها خواهد بود.

ریز مواد

  1. مقدمه‌ای بر سامانه‌های رایانه‌ای (۱ جلسه)
  2. مفاهیم توسعه سامانه‌های رایانه‌ای (۱ جلسه)
  3. تحلیل امکان‌سنجی (۱ جلسه)
    • جنبه‌های مختلف امکان‌سنجی
    • تحلیل هزینه/درآمد
    • مقدمه‌ای بر طراحی مدل‌ کسب‌وکار
  4. مدیریت و برنامه‌ریزی پروژه توسعه‌ سامانه‌های یارانه‌ای (۱ جلسه)
  5. آشنایی با ساختار سامانه‌های کسب‌وکاری مختلف نظیر سامانه‌های حسابداری، انبارداری و … (۲ جلسه)
  6. برنامه‌ریزی محصول و برنامه‌ریزی انتشار محصول (۱ جلسه)‌
  7. تحلیل سامانه‌های رایانه‌ای (۶ جلسه)
    • آشنایی با مفاهیم تحلیل سامانه‌های رایانه‌ای
    • استخراج و مدل‌سازی نیازمندی
      1. روش‌های استخراج نیازمندی‌ها
      2. مدل‌سازی نیازمندی‌ها با Use Case Diagram
    • مدل‌سازی و نگاشت فرایند‌ها
      1. مفاهیم فرایندهای کسب‌وکار
      2. روش‌های استخراج و تحلیل فرایندها
      3. مدل‌سازی و نگاشت فرایند با Activity Diagram
    • یادآوری تحلیل داده‌‌ای در سامانه‌های یارانه‌ای
      1. مدل‌سازی و تحلیل موجودیت با Class Diagram
  8. طراحی سامانه‌های رایانه‌ای (۶ جلسه)
    • آشنایی با مفاهیم طراحی سامانه‌های رایانه‌ای
    • طراحی معماری
      1. انواع نیازمندی‌های غیرعملکردی
      2. طراحی تاکتیک معماری
      3. آشنایی با مفهوم دید
      4. بیان معماری با Component Diagram‌ و Deployment Diagram
      5. معرفی الگوها و سبک‌های طراحی معماری سامانه‌های سازمانی حداقل شامل معماری‌های لایه‌ای، معماری‌های سرویس‌گرا و میکروسرویس، معماری مبتنی بر سرویس‌های پیام‌رسانی آسنکرون
    • طراحی UI/UX
    • یادآوری طراحی مدل داده‌ای در سامانه‌های یارانه‌ای
  9. روشگان توسعه سامانه‌های رایانه‌ای (۱۰ جلسه)
    • آشنایی با انواع روشگان‌ها شامل روشگان‌های آبشاری، مبتنی بر مدل و چابک
    • روشگان Scrum
      1. چارچوب Scrum
      2. کاربردپذیری Scrum
      3. مهندسی نیازمندی‌ها در Scrum
      4. تعریف و مدیریت Product Backlog
      5. برنامه‌ریزی Sprint
      6. اجرای Sprint
      7. بازبینی Sprint
      8. پس‌نگری Sprint
  10. ساخت و نگه‌داری سامانه‌های رایانه‌ای (۴ جلسه)
    • آشنایی با مفاهیم ساخت، عملیات، مراقبت و نگه‌داری و پایان‌دهی سامانه‌های رایانه‌ای
    • آشنایی مقدماتی با DevOps
    • چابک‌سازی تیم Dev و تیم Ops
    • یکپارچه‌سازی مستمر، تحویل مستمر و استقرار مستمر

ارزیابی

  • آزمون: آزمون‌های میان‌نیم‌سال (۲۵ درصد نمره) و پایان‌نیم‌سال (۳۵ درصد نمره)
  • تمرین: انجام تمرین‌هایی در حوزه‌ی تحلیل و طراحی سامانه (۲۰ درصد نمره)‌
  • پروژه: توسعه‌ی چابک یک محصول کوچک مبتنی بر روشگان Scrum (۲۰ درصد نمره)

مراجع

  1. L.D. Bentley, K.C. Dittman, and J.L. Whitten. Systems analysis and design methods. Irwin/McGraw Hill, 2007.
  2. K.S. Rubin. Essential Scrum: A practical guide to the most popular Agile process. Addison-Wesley, 2012.
  3. M. Fowler, C. Kobryn, and K. Scott. UML distilled: A brief guide to the standard object modeling language. Addison-Wesley Professional, 2004.
  4. D.J. Duffy. Domain architectures: Models and architectures for UML applications. John Wiley & Sons, 2004.
  5. L. Bass, I. Weber, and L. Zhu. DevOps: A software architect's perspective. Addison-Wesley Professional, 2015.
  6. M. Fowler. Patterns of enterprise application architecture. Addison-Wesley Longman Publishing, 2002.