ソフトウェア工学の講義資料
名城大学でのソフトウェア工学の講義資料が公開されていた。
用語や概念を知るには分かりやすいのでリンクしておく。
(講義内容)
1 大規模ソフトウェア開発の課題
2 ソフトウェアの開発工程
3 プロジェクト管理
4 要求分析
5 構造化分析
6 オブジェクト指向分析
7 中間試験
8 アーキテクチャ設計
9 ユーザインターフェース設計
10 モジュール設計
11 プログラミング
12 テストと検証
13 保守と再利用
14 中間試験2
上記のソフトウェア工学の講義内容は、もちろんアジャイル開発やスパイラルモデルなどの説明もあるが、従来のWF型開発における知識の総体系のように思える。
要求仕様の品質特性、ソフトウェア品質の6つの特性、テスト設計の種類、ソフトウェア再利用、ソフトウェア保守などの概念を網羅的に説明してくれているので分かりやすい。
上記の資料は、今までのソフトウェア開発で蓄積されたノウハウの一つ。
しかしながら、それら知識体系を知っているからといって、高品質で効率性の高い開発ができるとは限らない。
アジャイルの背景には、開発生産性の向上がある - ウィリアムのいたずらの開発日記にも書いているように、実際の開発現場ではむしろ、フレームワークありきのアーキテクチャを元に、要求仕様や工数見積を合わせて、高速に開発していくという現実もある。
フレームワークのAPIを駆使した泥臭いプログラミング、サーバーやDB移行などの泥臭い環境構築、色んな観点でのテストによるバグ出しと修正、肥大化しがちな要求スコープを現実的に折り合いをつける調整などの作業が実際の開発現場では多い。
ソフトウェア工学の綺麗な概念だけでは、実際のソフトウェア開発ではうまくいかない。
とは言え、上記のソフトウェア工学の概念を知ることによって、自分たちの経験を整理して、現状の問題とそこから生じる今後の課題を見つけることはできる。
過去のソフトウェアの偉人の肩に乗って、少しずつ遠くを見ることはできるようになる。
そうでなければ、ソフトウェア開発は、いつまで経っても、蓄積されないノウハウの塊であって、ソフトウェア工学の概念を何度も車輪の再発明で実装する羽目になるだろう。
アジャイル開発やチケット駆動開発も、ソフトウェア工学の知見を注入して、体系化できればいいなと思っている。
| 固定リンク
「ソフトウェア工学」カテゴリの記事
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
「Agile」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
コメント