ソフトウェア工学の講義資料
名城大学でのソフトウェア工学の講義資料が公開されていた。
用語や概念を知るには分かりやすいのでリンクしておく。
(講義内容)
1 大規模ソフトウェア開発の課題
2 ソフトウェアの開発工程
3 プロジェクト管理
4 要求分析
5 構造化分析
6 オブジェクト指向分析
7 中間試験
8 アーキテクチャ設計
9 ユーザインターフェース設計
10 モジュール設計
11 プログラミング
12 テストと検証
13 保守と再利用
14 中間試験2
上記のソフトウェア工学の講義内容は、もちろんアジャイル開発やスパイラルモデルなどの説明もあるが、従来のWF型開発における知識の総体系のように思える。
要求仕様の品質特性、ソフトウェア品質の6つの特性、テスト設計の種類、ソフトウェア再利用、ソフトウェア保守などの概念を網羅的に説明してくれているので分かりやすい。
上記の資料は、今までのソフトウェア開発で蓄積されたノウハウの一つ。
しかしながら、それら知識体系を知っているからといって、高品質で効率性の高い開発ができるとは限らない。
アジャイルの背景には、開発生産性の向上がある - ウィリアムのいたずらの開発日記にも書いているように、実際の開発現場ではむしろ、フレームワークありきのアーキテクチャを元に、要求仕様や工数見積を合わせて、高速に開発していくという現実もある。
フレームワークのAPIを駆使した泥臭いプログラミング、サーバーやDB移行などの泥臭い環境構築、色んな観点でのテストによるバグ出しと修正、肥大化しがちな要求スコープを現実的に折り合いをつける調整などの作業が実際の開発現場では多い。
ソフトウェア工学の綺麗な概念だけでは、実際のソフトウェア開発ではうまくいかない。
とは言え、上記のソフトウェア工学の概念を知ることによって、自分たちの経験を整理して、現状の問題とそこから生じる今後の課題を見つけることはできる。
過去のソフトウェアの偉人の肩に乗って、少しずつ遠くを見ることはできるようになる。
そうでなければ、ソフトウェア開発は、いつまで経っても、蓄積されないノウハウの塊であって、ソフトウェア工学の概念を何度も車輪の再発明で実装する羽目になるだろう。
アジャイル開発やチケット駆動開発も、ソフトウェア工学の知見を注入して、体系化できればいいなと思っている。
| 固定リンク
「ソフトウェア工学」カテゴリの記事
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- プロジェクト管理やソフトウェアアーキテクチャの問題の背後にはトレードオフが隠れているのではないか(2023.02.18)
- デブサミ2023の感想(2023.02.11)
- ChatGPTにEclipseでEclEmmaとJaCoCoからカバレッジを出力する方法を聞いた(2023.02.01)
- DDPは品質管理に役立つのか(2022.12.13)
「チケット駆動開発」カテゴリの記事
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
- タスク分割は親子チケットにすべきか、それともチェックリストにすべきか #redmine(2022.03.04)
- Redmineにメンション機能が入るらしい(2022.01.15)
「Agile」カテゴリの記事
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
- DDPは品質管理に役立つのか(2022.12.13)
- UMTPモデリングフォーラムのパネル討論の感想(2022.11.29)
- XPエクストリームプログラミングは偉大だ~時代がその設計思想に追いついた(2022.11.16)
コメント