軟件開發(Software development)是根據用戶要求建造出軟件系統或者系統中的軟件部分的過程。它是一項包括需求獲取、開發規劃、需求分析和設計、編程實現、軟件開發、版本控制的系統工程。軟件開發包括研究、修改、復用、重新設計(再工程)、維護等活動,通常采用軟件開發工具進行開發。
由于互聯網的普及,pc、移動等端口的軟件應用變得越來越廣泛,衍生出一系列的軟件,軟件開發的市場變得廣闊。因此,軟件開發也衍生出不同方向的職位。軟件開發的相關職業很多,比如MIS、ERP、手機游戲開發、網絡游戲開發、電子商務、電子政務、嵌入式開發、中間件開發等等。
很多人常常會把編程默認地看做是軟件開發。其實編程和軟件開發確實有很多的共同點。首先這二者同屬于開發領域,再者這二者的核心工作都是代碼編寫。
唯一的區別就是軟件開發的工作比編程更為繁雜,相比于編程有更多的工作流程。編程可以說是軟件開發的一部分環節,不涉及到設計、開發、售前、售后等工作。而軟件開發是一條龍的服務。