ソフトウェア設計とは何か。ソフトウェア設計法とは何か。どの設計法がどのようなソフトウェア開発に向き、どのようなソフトウェアの開発に向かないか。これらを決定付ける本質的な要因は何か。ソフトウェアの開発効率向上・品質向上のために既存の設計法のどこをどのように改良すべきか。これらの諸問題を講義を通じて明らかにする。
1.ソフトウェア工学の誕生とその背景/ソフトウェア工学誕生前の主な成果
2.良いプログラムを作成するための諸原理
3.種々のソフトウェア・ライフサイクル・モデルとそれらの狙い
4.ソフトウェア・ライフサイクル・モデルの選択基準
5.ソフトウェア設計とは何か/ソフトウェア設計法とは何か
6.Functional viewに基づく(複数の)設計法: 手順とその事例
7.Data viewに基づく(複数の)設計法: 手順とその事例
8.Behavioral Viewに基づく(複数の)設計法: 手順とその事例
9.Scenario Viewに基づく(複数の)設計法: 手順とその事例
10.オブジェクト指向計算モデルとその問題点
11.Structural Viewに基づく(複数の)設計法: 手順とその事例
12.Interaction Viewに基づく(複数の)設計法: 手順とその事例
13.モジュール分割とソフトウェア設計法
14.ソフトウェア設計法の評価基準 /
対象ソフトウェアの分類とソフトウェア設計法の選択基準
15. formal method によるソフトウェア設計とその原理