توسعه

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

توسعه نرم‌افزار ارتباط تنگاتنگی با مهندسی نرم‌افزار دارد و از دید بسیاری این دو مفاهیمی تقریباً یکسان هستند.

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

اغلب توسعه نرم‌افزار Software Development با برنامه‌نویسی Programming یکسان فرض شده‌اند در حالیکه توسعه نرم‌افزار بر خلاف برنامه‌نویسی با تولید تجاری نرم‌افزار، استفاده بهینه از بخش‌های در دسترس تولید شده و همچنین روش‌های مدیریت، افزایش سرعت و افزایش کیفیت پروژه‌های نرم‌افزاری سر و کار دارد.