ソフトウェア保守(ソフトウェアほしゅ)またはソフトウェアメンテナンス (software maintenance) とは、ソフトウェア工学において既存のソフトウェアを改良・最適化していくと共にバグを修正していくプロセスを意味する。ソフトウェア保守はソフトウェア製品ライフサイクルにおける主要なプロセスの一部であり、ソフトウェアの実際の現場への投入後に行われる。ソフトウェア保守工程では、実際の使用で発見された問題点やバグを修正すると共に、そのソフトウェアのユーザビリティや可用性を改善するための機能追加も行う。 ソフトウェア保守プロセスは、JIS規格 JIS X 0160(ソフトウェア・ライフサイクル・プロセス)で規定されたプロセスで、JIS X 0161:2008(ソフトウェアライフサイクルプロセス-保守)で詳細が規定されている。 ソフトウェア保守工程は、構造化プログラミング運動が盛んになった