軟體開發是根據用戶要求建造出軟件系統或者系統中的軟件部分的過程。
這個過程包括需求捕捉、需求分析、設計、實現和測試等多箇環節,軟件開發通常使用特定的程序設計語言,並在特定的計算機平臺上實現,軟件開發可能涉及軟件設計思路和方法的多箇方面,包括功能設計、算法和方法設計、總體結構設計和模塊設計、編程、調試、程序聯調和測試,以及最終編寫和提交程序。軟件分爲系統軟件和應用軟件,不僅包括可以在計算機上運行的程序,還涉及與這些程序相關的文件。
此外,軟件開發可能包括研究、新開發工作、修改、複用、重新設計(再工程)、維護等活動。