分野概説
ソフトウェア工学は、ソフトウェアを体系的・効率的・高品質に開発・運用するための方法論・技術を扱う。要件定義、設計、実装、テスト、品質管理、プロジェクト管理などが含まれ、チーム開発や大規模システムに必須の枠組みを提供する。信頼性、保守性、再利用性を高める技術を追求し、社会インフラからアプリ開発まで、現代のあらゆるITサービスを支える実践的学問である。
出典: 『W100知識分類法 共通試験法[分類表・逐条解説]』(2025年12月・296頁)
ユースケース — 「〜したい」→ W100コード
- ①ソフトウェア工学の全体像と概念を素早く整理したいW 51.00.00.00
- ②ウォーターフォール〜アジャイルまで開発理論を比較したいW 51.10.01.00
- ③ソフトウェア危機からDevOps学の未来まで歴史的流れを確認したいW 51.20.02.00
- ④標準化・資格・品質保証・セキュリティ制度を調べたいW 51.30.03.00
- ⑤要件定義•設計•テスト DevOps手法を体系的に参照したいW 51.40.04.00
- ⑥実装・テスト・運用・プロマネアの未来など実務プロセスを把握したいW 51.50.05.00
- ⑦成功・失敗・公共・AIなど代表の未来像発事例を確認したいW 51.60.06.00
- ⑧品質•バグ•コスト•成功率•OSS) 統計など評価データを調べたいW 51.70.07.00
- ⑨大学〜企業研修・オンライン教育まで教育体系を整理したいW 51.80.08.00
- ⑩AI支援開発・量子・XR・市民開発など未来像を検討したいW 51.90.09.00
出典: 『W100知識分類法 共通試験法[分類表・逐条解説]』(2025年12月・296頁) 分野51ガイド
00–09基礎・定義
51.00ソフトウェア工学の定義と範囲準備中
51.01ソフトウェアとハードウェアの違い準備中
51.02ソフトウェアライフサイクル(要件,設計,実装,テスト,保守)準備中
51.03プログラミングと工学的手法の基礎準備中
51.04モジュール化と抽象化の概念準備中
51.05ソフトウェア品質の基礎(信頼性・可用性・保守性)準備中
51.06ソフトウェアプロジェクト管理の基礎準備中
51.07ソフトウェアとユーザビリティの関係準備中
51.08ソフトウェア倫理と社会的責任準備中
51.09入門教材・概論書準備中
10–19理論・分類
51.10ソフトウェア開発プロセスモデル理論(ウォーターフォール・V字モデル)準備中
51.11アジャイル開発理論(スクラム・XP)準備中
51.12要件工学理論準備中
51.13ソフトウェア設計理論(構造化・オブジェクト指向)準備中
51.14ソフトウェアアーキテクチャ理論(MVC,)準備中
51.15プログラミングパラダイム理論(手続き型・関数型・宣言型)準備中
51.16ソフトウェアテスト理論(ブラック/ホワイトボックス)準備中
51.17ソフトウェアメトリクス理論準備中
51.18ソフトウェア再利用と設計パターン理論準備中
51.19ソフトウェア信頼性工学理論準備中
20–29歴史・変遷
51.20ソフトウェア危機と工学化の歴史(1968)準備中
51.21構造化プログラミング史(ダイクストラ)準備中
51.22オブジェクト指向の登場史(Smalltalk,)準備中
51.23アジャイル運動史(AgileManifesto)準備中
51.24UNIXとオープンソース運動史準備中
51.25日本ソフトウェア産業史準備中
51.26CASEツールと自動化の歴史準備中
51.27Webアプリケーションの進化史準備中
51.28クラウドとDevOpsの歴史準備中
51.29ソフトウェア工学教育史準備中
30–39制度・ガバナンス
51.30ソフトウェア標準化制度(IEEE,)準備中
51.31プロジェクト管理資格制度(PMP,)準備中
51.32ソフトウェア著作権・ライセンス制度(GPL,)準備中
51.33品質保証制度(CMMI,ISO/IEC)準備中
51.34情報セキュリティ制度(ISO27001)準備中
51.35OSSガバナンス制度準備中
51.36政府・公共システム調達制度準備中
51.37AIソフトウェアと規制制度準備中
51.38国際共同開発制度(W3C,IETF)準備中
51.39倫理・コンプライアンス規範制度準備中
40–49設計・方法論
51.40要件定義設計手法準備中
51.41UML・モデリング設計準備中
51.42ソフトウェアアーキテクチャ設計準備中
51.43UI/UX設計手法準備中
51.44コーディング規約・設計指針準備中
51.45自動化テスト設計(CI/CD)準備中
51.46DevOps設計手法準備中
51.47リファクタリング手法準備中
51.48ソフトウェア品質評価設計準備中
51.49教育・演習カリキュラム設計準備中
50–59実務・運用
51.50プロジェクトマネジメント実務準備中
51.51コーディング・実装実務準備中
51.52テスト実務(単体・統合・受入)準備中
51.53バージョン管理実務(Git,SVN)準備中
51.54デプロイ・運用実務準備中
51.55障害対応・インシデント管理実務準備中
51.56継続的インテグレーション実務準備中
51.57OSS開発実務(GitHub,GitLab)準備中
51.58プロジェクトレビュー・監査実務準備中
51.59ソフトウェア教育・研修実務準備中
60–69事例・応用
51.60大規模プロジェクト事例(航空管制・銀行システム)準備中
51.61成功プロジェクト事例(Linux,)準備中
51.62失敗プロジェクト事例(税務システム障害等)準備中
51.63アジャイル開発事例(Spotify,)準備中
51.64DevOps事例(Netflix,Amazon)準備中
51.65モバイルアプリ開発事例(iOS,)準備中
51.66ゲーム開発事例準備中
51.67AIソフトウェア開発事例準備中
51.68公共システム開発事例準備中
51.69教育用ソフトウェア事例準備中
70–79データ・評価
51.70ソフトウェア規模データ(LOC,)準備中
51.71バグ・障害件数データ準備中
51.72生産性データ(開発工数・期間)準備中
51.73品質評価データ(信頼性・稼働率)準備中
51.74コスト評価データ(TCO,ROI)準備中
51.75プロジェクト成功率データ(Standish)準備中
51.76OSS利用統計データ準備中
51.77国際比較データ(産業規模・人材)準備中
51.78教育効果測定データ準備中
51.79ソフトウェア工学研究引用データ準備中
80–89教育・普及
51.80大学ソフトウェア工学教育準備中
51.81専門学校・高専教育準備中
51.82大学院研究教育プログラム準備中
51.83企業内教育・研修プログラム準備中
51.84オンライン教育・MOOC(Coursera,)準備中
51.85国際教育プログラム(SE教育連携)準備中
51.86プログラミング教育と工学接続準備中
51.87ソフトウェアコンテスト・ハッカソン教育準備中
51.88ソフトウェア博物館・展示教育準備中
51.89生涯教育としてのソフトウェア工学準備中
90–99未来・退避
51.90AI支援開発(Copilot,自動コード生成)の未来準備中
51.91自律型ソフトウェア(AIエージェント)の未来準備中
51.92量子ソフトウェア工学の未来準備中
51.93メタバース・XRソフトウェアの未来準備中
51.94サステナブルソフトウェア(省エネ・エコ設計)準備中
51.95セキュアソフトウェアの未来準備中
51.96グローバル協働開発の未来像準備中
51.97廃れた開発手法(過剰文書化型ウォーターフォール)準備中
51.98実験的ソフトウェア開発(ノーコード・市民開発)準備中
51.99退避:未分類・古典的開発知識準備中