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

Software Engineering

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

اهداف درس

هدف از این درس پرداختن به نکات مهندسی است که در کلیه مراحل تولید نرم‌افزار باید رعایت گردد. دانشجویان با مباحث ساخت نرم‌افزار(برنامه‌سازی) ، تجزیه و تحلیل نیازمندی‌ها و طراحی نرم‌افزار در درس‌های قبلی آشنا شده‌اند. در این درس هدف آموزش روش جدیدی برای تجزیه و تحلیل نیازها و یا طراحی نرم‌افزار نیست، بلکه هدف آموزش تولید نرم‌افزار به صورت یک محصول مهندسی است، مانند سایر محصولاتی که در سایر رشته‌های مهندسی تولید می‌گردد. در این درس ابتدا تفاوت محصولی که به روش مهندسی تولید می‌گردد با محصولی که به روش هنری تولید می‌شود بیان می‌شود، سپس انتظاراتی که یک محصول مهندسی باید برآورده سازد تشریح می‌گردد. در ادامه درس با تاکید بر روش‌های مهندسی تولید از جمله مدل‌سازی، قابل اندازه‌گیری و ارزیابی بودن، درستی‌یابی و اعتبارسنجی محصولات بینابینی، مروری بر دست‌آوردهای علمی در این زمینه در کلیه مراحل تولید نرم‌افزار انجام می‌شود. با توجه به اینکه در درس‌های قبلی دانشجویان با مباحث توصیف صوری نیازها، اندازه‌گیری، تخمین و آزمون کم‌تر آشنا شده‌اند در این درس این فصول مورد تاکید بیشتر قرار می‌گیرد. در انتها فعالیت‌های حمایتی از جمله مدیریت پروژه، زمان‌بندی، مدیریت ریسک، مدیریت پیکربندی و تضمین کیفیت با تاکید بر تاثیر آن‌ها در تولید نرم‌افزار به صورت مهندسی مرور می‌شود.

ریز مواد

ارزیابی

مراجع

  1. R. S. Pressman. Software Engineering: A Practitioner’s Approach. 8th Edition, McGraw-Hill, 2014.
  2. P. Ammann and J. Offutt. Introduction to Software Testing. Cambridge University Press, 2008.
  3. J. Woodcock and J. Davies. Using Z: Specification, Refinement, and Proof. Prentice-Hall, 1996.