سیستم‌های نرم‌افزاری اتکاپذیر

Dependable Software Systems

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

هدف کلی

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

سرفصل‌ها

  1. چالش‌های مهندسی نرم‌افزار در ارتباط با اتکاپذیری
  2. معرفی واژگان مرتبط با اتکاپذیری، تاب‌آوری، امنیت و کارایی
  3. روش‌های افزونگی و گوناگونی در سیستم‌ها و نرم‌افزارها
  4. مدل‌سازی اتکاپذیری نرم‌افزار
  5. تحلیل قابلیت اطمینان نرم‌افزار
  6. پیری و بازجوان‌سازی نرم‌افزار
  7. روش نقطه وارسی و تحلیل‌های مربوط
  8. تحلیل درخت خرابی نرم‌افزار
  9. نرم‌افزارهای بحرانی-ایمنی و نهفته بیدرنگ
  10. استانداردهای تضمین کیفیت نرم‌افزار در دامنه کاربردی خاص نظیر خودرو

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

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

  1. F. J. Furrer. Safety and Security of Cyber-Physical Systems: Engineering Dependable Software using Principle-based Development. Springer Vieweg, 2022.
  2. S. Bernardi, J. Merseguer, and D. C. Petriu. Model-Driven Dependability Assessment of Software Systems. Springer, 2013.
  3. C. Hobbs. Embedded Software Development for Safety-Critical Systems. 2nd Edition, CRC Press, 2020.
  4. I. Koren and C.M. Krishna. Fault-Tolerant Systems. 1st Edition, Morgan Kaufmann Publishers, Elsevier, 2007.
  5. H. Pham. System Software Reliability. Springer-Verlag, 2006.