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