情報工学では,様々なプログラミング言語やAPIの技術習得に加えて,ソフトウェア開発をいかに効率よく行うかを扱うソフトウェア工学の考え方は必須である.この授業ではソフトウェア工学のうち,チーム開発と下流工程に焦点をあてて,ソフトウェアレビュー,プロジェクト管理,リスク管理,リファクタリング,ソフトウェアテスト,ソフトウェア開発環境などを学ぶ.また,個人のソフトウェア開発に対して学習したソフトウェア工学的技術を適用し,その利点や欠点を発表・議論し,実践的な問題意識も習得する.
本講義の狙いは,ソフトウェア開発のチーム開発や下流工程の問題と技術を学ぶこと,実践的な問題意識を習得することである.
【到達目標】 本講義の履修により,ソフトウェア開発の(人的要因を含めた)チーム開発および下流工程の問題と技術について学ぶことを到達目標とする.また,単なる座学では無く,各自の実装に基づく経験の発表と議論を通じて,実践的な問題意識の習得も到達目標とする.
【テーマ】 本講義では,ソフトウェア開発のチーム開発および下流工程として,ソフトウェアレビュー,プロジェクト管理,リスク管理,リファクタリング,ソフトウェアテスト,ソフトウェア開発環境などをテーマとして扱う.
ソフトウェア工学,チーム開発,下流,ソフトウェアレビュー,プロジェクト管理,リスク管理,リファクタリング,ソフトウェアテスト,ソフトウェア開発環境
✔ 専門力 | 教養力 | ✔ コミュニケーション力 | 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
座学の後で発表と議論を行う
授業計画 | 課題 | |
---|---|---|
第1回 | 導入,ソフトウェア工学とは,下流と上流, Bubbles don’t crash,保守とは | 導入,ソフトウェア工学とは,下流と上流, Bubbles don’t crash,保守とは |
第2回 | コーディング技術,programing-in-the-small vs. programming-in-the-large | コーディング技術,programing-in-the-small vs. programming-in-the-large |
第3回 | ソフトウェアレビュー | ソフトウェアレビュー |
第4回 | パーソナルソフトウェアプロセス(PSP),ペアプログラミング | パーソナルソフトウェアプロセス(PSP),ペアプログラミング |
第5回 | プロジェクト管理,人的・社会学的要因,銀の弾丸 | プロジェクト管理,人的・社会学的要因,銀の弾丸 |
第6回 | プロジェクト生産性 | プロジェクト生産性 |
第7回 | リスク管理,デスマーチ,デンバー空港の事例研究 | リスク管理,デスマーチ,デンバー空港の事例研究 |
第8回 | リファクタリング | リファクタリング |
第9回 | コードの不吉な匂い(bad smell) | コードの不吉な匂い(bad smell) |
第10回 | ソフトウェアテスト | ソフトウェアテスト |
第11回 | テスト駆動開発,データ・制御フロー | テスト駆動開発,データ・制御フロー |
第12回 | ソフトウェア開発ツール,ソフトウェア開発環境(IDE), CASE | ソフトウェア開発ツール,ソフトウェア開発環境(IDE), CASE |
第13回 | 発表会と討論(1):ソフトウェア工学の基礎 | 発表会と討論(1):ソフトウェア工学の基礎 |
第14回 | 発表会と討論(2):ソフトウェア工学の技術 | 発表会と討論(2):ソフトウェア工学の技術 |
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
特になし.資料を配付.
特になし.
レポート:60%
発表と質問:40%
特になし