مهندسی نیازمندیهای نرمافزار
Software Requirements Engineering
شماره درس: ۴۰۶۸۸ | تعداد واحد: ۳ |
مقطع: کارشناسی ارشد | نوع درس: نظری |
پیشنیاز: – | همنیاز: – |
اهداف درس
پیادهسازی یک سیستم کامپیوتری با شکست مواجه خواهد شد اگر به نیازمندیهای آن سیستم به درستی پاسخ داده نشود. همراه با گسترش و افزایش پیچیدگی سیستمهای کامپیوتری، شناسایی دقیق نیازمندیهای آنها نیز به فرآیندی پیچیده تبدیل گردیده است. بنابراین، لازم است تا از روشها و تکنیکهایی برای شناسایی، توصیف و مستندسازی، مدلسازی، و اعتبارسنجی نیازمندیهای سیستمهای کامپیوتری استفاده شود. هدف از این درس، آشناسازی دانشجویان مقاطع تحصیلات تکمیلی با این روشها و تکنیکهاست. به طور خاص، مباحثی که در این درس مطرح خواهند شد عبارتند از: (۱) استخراج و شناسایی نیازمندیهای وظیفهمندی و غیر وظیفهمندی، (۲) سازماندهی و اولویتبندی نیازمندیها، (۳) تکنیکهای توصیف و مستندسازی نیازمندیها، (۴) تکنیکهای مدلسازی نیازمندیها، (۵) تکنیکهای تحلیل، وارسی، و اعتبارسنجی نیازمندیها.
ریز مواد
- مبانی مهندسی نیازمندیها (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.