You are not allowed to perform this action

مهندسی نیازمندی‌های نرم‌افزار

مدرس: دکتر مهران ریواده گواهی‌نامه: رسمی دوزبانه
ترم: تابستان ۱۴۰۴ پیش‌نیاز: –
زمان ارائه: شنبه ۱۵:۰۰ تا ۱۸:۰۰ محل برگزاری: کلاس مجازی

هدف کلی

پیاده‌سازی یک سیستم کامپیوتری با شکست مواجه خواهد شد اگر به نیازمندی‌های آن سیستم به درستی پاسخ داده نشود. همراه با گسترش و افزایش پیچیدگی سیستم‌های کامپیوتری، شناسایی دقیق نیازمندی‌های آن‌ها نیز به فرآیندی پیچیده تبدیل گردیده است. بنابراین، لازم است تا از روش‌ها و تکنیک‌هایی برای شناسایی، توصیف و مستندسازی، مدل‌سازی، و اعتبارسنجی نیازمندی‌های سیستم‌های کامپیوتری استفاده شود. هدف از این درس، آشناسازی دانشجویان مقاطع تحصیلات تکمیلی با این روش‌ها و تکنیک‌هاست. به طور خاص، مباحثی که در این درس مطرح خواهند شد عبارتند از: (۱) استخراج و شناسایی نیازمندی‌های وظیفه‌مندی و غیر وظیفه‌مندی، (۲) سازمان‌دهی و اولویت‌بندی نیازمندی‌ها، (۳) تکنیک‌های توصیف و مستندسازی نیازمندی‌ها، (۴) تکنیک‌های مدل‌سازی نیازمندی‌ها، (۵) تکنیک‌های تحلیل، وارسی، و اعتبارسنجی نیازمندی‌ها.

سرفصل‌ها

  • مبانی مهندسی نیازمندی‌ها (Basics of Requirements Engineering) (۲ جلسه)
  • درک دامنه مسئله و استخراج نیازمندی‌ها (Domain Understanding & Requirements Elicitation) (۲ جلسه)
  • ارزیابی نیازمندی‌ها (Requirements Evaluation) (۲ جلسه)
  • توصیف و مستندسازی نیازمندی‌ها (Requirements Specification and Documentation) (۲ جلسه)
  • تضمین کیفی نیازمندی‌ها (Requirements Quality Assurance) (۱ جلسه)
  • تکامل نیازمندی‌ها و ردیابی (Requirements Evolution and Traceability) (۱ جلسه)
  • مقصودگرایی در مهندسی نیازمندی‌ها (Goal Orientation in Requirements Engineering) (۲ جلسه)
  • مدل‌سازی اهداف سیستم با استفاده از مدل‌های مقصود (Modeling System Objectives with Goal Diagrams) (۳ جلسه)
  • تحلیل خطر با استفاده از مدل‌های مقصود (Risk Analysis on Goal Models) (۲ جلسه)
  • مدل‌سازی نیازمندی‌ها با استفاده از نمودارهای سناریوگرا (Modeling Requirements with Scenario-Oriented Modeling) (۲ جلسه)
  • مدل‌سازی نیازمندی‌ها با استفاده از نمودارهای UML (Modeling System Requirements with UML Diagrams) (۲ جلسه)
  • مدل‌سازی عملیات سیستم (Modeling System Operations) (۱ جلسه)
  • مدل‌سازی رفتار سیستم (Modeling System Behaviors) (۲ جلسه)
  • وارسی و اعتبارسنجی نیازمندی‌ها (Requirements Verification and Validation) (۲ جلسه)
  • مدیریت نیازمندی‌ها (Requirements Management) (۱ جلسه)

ارزیابی

  • تمرین‌ و پروژه: ۶ نمره
  • آزمون‌‌های پایانی: ۱۴ نمره

منابع

  1. A. van Lamsweerde. Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, 2009.
  2. K. Pohl. Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, 2010.
  3. G. Kotonya and I. Sommerville. Requirements Engineering: Processes and Techniques. Wiley, 1998.
  4. S. Robertson and J. C. Robertson. Mastering the Requirements Process 2nd edition, Addison-Wesley, 2006.
  5. B. Berenbach, D. Paulish, J. Kazmeier, and A. Rudorfer. Software & Systems Requirements Engineering: In Practice. McGraw-Hill, 2009.
  6. E. Hull, K. Jackson, and J. Dick. Requirements Engineering. 3rd edition, Springer, 2010.
  7. J. Holt, S. Perry, and M. Brownsword. Model-Based Requirements Engineering. The Institution of Engineering and Technology (IET), 2011.
  8. D. Leffingwell. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley, 2011.
  9. M. Chemuturi. Requirements Engineering and Management for Software Development Projects. Springer, 2012.