مهندسی نیازمندیهای نرمافزار
مدرس: دکتر مهران ریواده | گواهینامه: رسمی دوزبانه |
ترم: تابستان ۱۴۰۴ | پیشنیاز: – |
زمان ارائه: شنبه ۱۵:۰۰ تا ۱۸:۰۰ | محل برگزاری: کلاس مجازی |
هدف کلی
پیادهسازی یک سیستم کامپیوتری با شکست مواجه خواهد شد اگر به نیازمندیهای آن سیستم به درستی پاسخ داده نشود. همراه با گسترش و افزایش پیچیدگی سیستمهای کامپیوتری، شناسایی دقیق نیازمندیهای آنها نیز به فرآیندی پیچیده تبدیل گردیده است. بنابراین، لازم است تا از روشها و تکنیکهایی برای شناسایی، توصیف و مستندسازی، مدلسازی، و اعتبارسنجی نیازمندیهای سیستمهای کامپیوتری استفاده شود. هدف از این درس، آشناسازی دانشجویان مقاطع تحصیلات تکمیلی با این روشها و تکنیکهاست. به طور خاص، مباحثی که در این درس مطرح خواهند شد عبارتند از: (۱) استخراج و شناسایی نیازمندیهای وظیفهمندی و غیر وظیفهمندی، (۲) سازماندهی و اولویتبندی نیازمندیها، (۳) تکنیکهای توصیف و مستندسازی نیازمندیها، (۴) تکنیکهای مدلسازی نیازمندیها، (۵) تکنیکهای تحلیل، وارسی، و اعتبارسنجی نیازمندیها.
سرفصلها
- مبانی مهندسی نیازمندیها (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) (۱ جلسه)
ارزیابی
- تمرین و پروژه: ۶ نمره
- آزمونهای پایانی: ۱۴ نمره
منابع
- A. van Lamsweerde. Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, 2009.
- K. Pohl. Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, 2010.
- G. Kotonya and I. Sommerville. Requirements Engineering: Processes and Techniques. Wiley, 1998.
- S. Robertson and J. C. Robertson. Mastering the Requirements Process 2nd edition, Addison-Wesley, 2006.
- B. Berenbach, D. Paulish, J. Kazmeier, and A. Rudorfer. Software & Systems Requirements Engineering: In Practice. McGraw-Hill, 2009.
- E. Hull, K. Jackson, and J. Dick. Requirements Engineering. 3rd edition, Springer, 2010.
- J. Holt, S. Perry, and M. Brownsword. Model-Based Requirements Engineering. The Institution of Engineering and Technology (IET), 2011.
- D. Leffingwell. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley, 2011.
- M. Chemuturi. Requirements Engineering and Management for Software Development Projects. Springer, 2012.