| مدرس: دکتر مهران ریواده | پیشنیاز: – |
| ترم: | محل برگزاری: کلاس مجازی |
| زمان ارائه: شنبه ۱۵:۰۰ تا ۱۸:۰۰ | مشاهده: دریافت لایسنس |
نیازمندیهای نرمافزار؛ از شناخت نیازهای کاربران تا مدلسازی و اعتبارسنجی سیستم
موفقیت یک سیستم نرمافزاری تنها به کیفیت پیادهسازی آن وابسته نیست؛ بلکه پیش از هر چیز، به این بستگی دارد که نیازهای واقعی کاربران و اهداف سیستم تا چه اندازه درست شناسایی و درک شده باشند. بسیاری از مشکلات و شکستهای پروژههای نرمافزاری از جایی آغاز میشوند که نیازمندیها بهدرستی استخراج نشدهاند، ابهام دارند یا در طول توسعه بهدرستی مدیریت نمیشوند. با افزایش ابعاد و پیچیدگی سیستمها، شناسایی و تحلیل این نیازمندیها نیز به فعالیتی تخصصی و نظاممند تبدیل شده است.
مهندسی نیازمندیها مجموعهای از روشها و تکنیکها برای شناخت، تحلیل، توصیف، مستندسازی و اعتبارسنجی نیازهای یک سیستم است. در این درس، با اصول و مراحل اصلی این حوزه آشنا میشوید؛ از درک دامنه مسئله و استخراج نیازمندیهای وظیفهمندی و غیروظیفهمندی گرفته تا ارزیابی، اولویتبندی، مستندسازی و تضمین کیفیت آنها. همچنین با روشهای مدلسازی نیازمندیها آشنا خواهید شد تا بتوانید اهداف، سناریوها، عملیات و رفتارهای مورد انتظار سیستم را به شکلی روشن و قابل تحلیل توصیف کنید.
در ادامه، موضوعاتی مانند مقصودگرایی در مهندسی نیازمندیها، مدلسازی اهداف سیستم، تحلیل خطر، نمودارهای سناریوگرا و نمودارهای UML بررسی میشوند. همچنین تکنیکهای وارسی و اعتبارسنجی، مدیریت تغییرات و ردیابی نیازمندیها مورد توجه قرار میگیرند. این مباحث به شما کمک میکنند تا نیازمندیهای یک سیستم را نه صرفاً بهصورت فهرستی از خواستهها، بلکه بهعنوان مجموعهای منسجم، قابل ارزیابی و قابل پیگیری در فرآیند توسعه نرمافزار درک کنید.
در پایان این درس چه تواناییهایی کسب میکنید؟
این درس برای دانشجویان مهندسی کامپیوتر و علوم کامپیوتر، بهویژه علاقهمندان به مهندسی نرمافزار، تحلیل و طراحی سیستمها و مدیریت پروژههای نرمافزاری، مناسب است. همچنین میتواند برای توسعهدهندگان و تحلیلگرانی مفید باشد که میخواهند توانایی خود را در فهم مسئله، تعامل با ذینفعان و تبدیل نیازهای اولیه به توصیفی دقیق و قابل اتکا از سیستم بهبود دهند.
آشنایی مقدماتی با مفاهیم توسعه نرمافزار و مراحل کلی چرخه عمر آن برای بهرهگیری بهتر از این درس مفید است. آشنایی قبلی با تحلیل و طراحی نرمافزار میتواند در درک برخی مباحث مدلسازی کمککننده باشد، اما تسلط بر ابزار یا روش خاصی از مهندسی نیازمندیها پیششرط اصلی درس نیست.