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