Loading

تولید نرم‌افزار


فرایند تولید نرم‌افزار که با عنوان «چرخهٔ حیات تولید نرم‌افزار» نیز شناخته می‌شود, ساختاری است که روی توسعه و تولید محصولات نرم‌افزاری اعمال می‌شود. عبارت‌های مشابهی چون «چرخهٔ حیات نرم‌افزار» و «فرایند نرم‌افزار» در این رابطه استفاده می‌شود. الگوهای گوناگونی نظیر فرایندهای (خاص) وجود دارند که هر کدام خط مشی مختص (آن فرایندها) برای انجام کارها و فعالیت‌های متنوع در طول فرایندها را مشخص می‌کنند. برخی عنوان می‌کنند که «طرح چرخهٔ حیات» یک عبارت بسیار عمومی بوده و «فرایند تولید نرم‌افزار» عبارت تخصصی‌تر است. برای مثال خیلی از فرایندهای تولید نرم‌افزار ویژه‌ای هستند که خود زیر مجموعه چرخهٔ حیات حلزونی به شمار می‌روند.
توسعه نرم‌افزار برگردان نیاز کاربران یا مشتریان درقالب یک محصول نرم‌افزاری است.
توسعه نرم‌افزار از مرحله طرح یک راه حل مفهومی برای مساله خواسته شده (امکان‌سنجی) آغاز شده, پس از دریافت خواسته‌ها و تحلیل سیستم طراحی صورت گرفته و در نهایت این طراحی با کمک ابزارهای پیاده‌سازی تبدیل به یک سیستم واقعی می‌شود. هدف این فرایند آن است که از یک سو برآورده ساختن نیازهای کاربران و از سوی دیگر کیفیت مناسب عملکرد سیستم تضمین گردد و بنابراین بایستی حاوی مکانیسم‌هایی برای اعتبارسنجی یعنی خروجی مطابق با خواسته‌ها (Validation) و وارسی‌پذیری یعنی صحت عملکرد خروجی (Verification) باشد. فرایند توسعه ضمن دادن آزادی به تحلیل‌گر باید تضمین کند که زمان‌بندی اجرای پروژه رعایت می‌شود.
توسعه نرم‌افزار ارتباط تنگاتنگی با مهندسی نرم‌افزار دارد و از دید بسیاری این دو مفاهیمی تقریباً یکسان هستند.
در سالهای اخیر با رشد نیاز به تولید نرم‌افزارهای تجاری توسعه نرم‌افزار به بحثی مهم تبدیل شده است و روشهای گوناگونی در قالبهای مختلف برای تولید نرم‌افزارها بر مبنای نیازهای کاربران, مشخصات کلی سیستم, شرایط مدیریتی و اقتصادی, زمان‌بندی و سطح کیفی به وجود آمده‌اند.
اغلب توسعه نرم‌افزار Software Development با برنامه نویسی Programming یکسان فرض شده‌اند در حالیکه توسعه نرم‌افزار بر خلاف برنامه نویسی با تولید تجاری نرم‌افزار, استفاده بهینه از بخشهای در دسترس تولید شده و همچنین روشهای مدیریت, افزایش سرعت و افزایش کیفیت پروژه‌های نرم‌افزاری سر و کار دارد.