ソフトウェア工学I  Software Engineering I



◇ 担当教員: 飯田 元(いいだ はじむ)
◇ 単位数:2 ◇選択・必修:選択 ◇開講時期:U期 火曜1限、金曜2限 ◇講義室:L1

◇ 授業目的:
プログラミング以外にソフトウェアの設計・開発に必要とされる技術として、要求・設計
モデリングやソフトウェアのライフサイクルに関連する概念の理解や具体的手法の習得を目指す。

◇ 授業内容:
ソフトウェアが社会に浸透し、高度化・大規模化するにつれて、ソフトウェア開発における生産性
の向上と品質の確保は、ますます重要な技術的課題となってきている。工業製品としてソフトウェ
アを開発するためには、要求分析、設計、実装、テスト、運用といったソフトウェア構築のための
エンジニアリングプロセス全体を通じた理解と、各フェーズにおいて有効な手法やツールの習得が
不可欠である。
本授業では、ソフトウェア工学の知識領域のうち、ソフトウェアのライフサイクルを通じたエンジ
ニアリングプロセスについて焦点を当てる。特にUMLなどのモデリング言語を用いた要求分析および
設計の手法を中心に、領域毎にいくつかのトピックスを概説すると共に、実際にモデリングの演習
などを行うことで、ソフトウェア工学におけるエンジニアリングプロセス全般の現状と今後につい
て議論し、理解を深める。具体的には、次の6つの基本知識領域を取り上げる。
基本知識領域
1.ソフトウェア要求:構造化分析、オブジェクト指向分析
2.ソフトウェア設計:構造化設計、オブジェクト指向設計、デザインパターン
3.ソフトウェア構築:構造化プログラミング、再利用技術
4.ソフトウェア構成管理:バージョン管理、プロダクトライン
5.ソフトウェアエンジニアリング・プロセス:プロセスモデル、プロセス改善
6.ソフトウェアエンジニアリング・ツール:統合開発環境、コード分析ツール


◇ 教科書 :
特になし。講義ノートを配布。
◇ 参考書 :
井上克郎、松本健一、飯田元、ソフトウェアプロセス、共立出版 (2000)。
その他、関連する書籍や資料は講義中に紹介する。
◇ 履修条件:
プログラミング手法、アルゴリズムとデータ構造、プログラミング言語、OSなどに関する基礎知識を
有することが望ましいが、必須ではない。
◇ 成績評価:
試験(40%)、提出レポートの完成度や独創性(50%)、および、出席状況(10%)によって行う。
◇ オフィスアワー:
(B204)随時