ソフトウェアの設計,開発,保守,および再利用を行う上で重要な概念や技術に ついて述べる。従来からのソフトウェア開発技法に加え,オブジェクト指向やソフトウェア開発プロセスなどの新しい話題も取り上げる。また,設計という人間固有の知的活動に焦点を当て,設計プロセスの性質を自然科学や社会科学を通じて探り,technology-centeredではなくhuman-centered な視点からのコンピュータを用いた設計支援の可能性を考える。なお,講義では,概念や技術を説明するだけにとどまらず,自らそれらを実践するため,適宜演習を行い,レポートの提出を求める。

講義計画
1. ソフトウェア分析/設計法概観(SA/SD, JSD, OODなど)
2. オブジェクト指向分析/設計法(OMT/RUP)
3. ソフトウェア開発プロセス
4. 協調分散型ソフトウェア開発とグループウェア
5. ソフトウェア設計と人的要因
6. インタラクションデザイン
7. 総括と討論

なし

1. James Rumbaugh:オブジェクト指向方法論OMT,トッパン
2. Tom DeMarco:構造化分析とシステム仕様,日経BP社
3. 本位田,山城:オブジェクト指向システム開発,日経BP社
4. G. Booch: Object-Oriented Analysis and Design with Applications,
Benjamin/Cummings, 1994
5. D.A. Norman: Things That Make Us Smart, Addison-Wesley Publishing
Company (Reading, MA), 1993 
6. Terry Winograd (Ed), Bringing Design to Software, ACM Press, 1996,
ISBN 0-201-85491-0

(必ずしも先修条件ではない)
プログラミング手法,アルゴリズムとデータ構造
プログラミング言語,OS

成績評価は,授業の出席・討論への参加(20%),レポート(80%)によって行う。