オブジェクト指向設計論
担当者水谷 晃三
学年・開講期1年次 通年  [情報科学専攻 (通信教育課程)修士課程]
科目の種類専門
クラスメディア授業
区分・単位選択 2単位
科目ナンバー

授業の概要(ねらい)

 本科目ではオブジェクト指向言語によるソフトウェア開発におけるデザインパターンについて学びます。オブジェクト指向言語に限らずソフトウェア開発では再利用性、保守性、移植性の高い設計と実装が要求されます。この要求を満たすための一手法としてデザインパターンの適用があります。デザインパターンを効果的に適用するためにはデザインパターンに関する理解が欠かせません。本科目ではGoFのデザインパターンを採り上げ、簡単なJavaプログラムの実装を通じてデザインパターンについて理解することを目標とします。また、目的に応じて適切なデザインパターンを選択して設計・実装できるようになることを目標とします。
 本科目はDP1、DP2に関連します。

授業の到達目標

・デザインパターンとは何かを説明でき、それぞれのパターンの特徴を理解している。
・それぞれのデザインパターンにおけるクラス間の役割や振舞いを理解している。
・デザインパターンをプログラムの開発に適用することができる。

成績評価の方法および基準

第1回、第2回のレポート、及び科目習得試験により、それぞれ25%、25%、50%の割合で評価します。質問などは電子メールにて受け付けています。また、課題レポートについてもその結果をフィードバックします。

教科書・参考文献

種別書名著者・編者発行所
教科書Java言語で学ぶデザインパターン入門結城浩著SB Creative、ISBN-13: 978-4797327038
参考文献

準備学修の内容

 指定テキストのサンプルプログラムを使って学習を進めてください。指定テキストはJavaを使用していますが、他のオブジェクト指向言語を使用した学習でも構いません。(ただし、科目習得試験ではJavaをベースにした問題で構成されています。)
 なお、学習を進めるにあたりJavaの理解、オブジェクト指向プログラミングの理解が欠かせません。学習に取り組む前にこれらについての事前学習が必要です。また、事後学習として章末問題に取り組んだり、インターネットを活用してデザインパターンの適用事例を調べたりすることで理解を深めてください。これらの事前・事後学習に3時間程度必要です。

その他履修上の注意事項

 補足資料の提供や課題レポートの一部の提出にLMSを活用します。
 本科目の履修にはJava言語によるオブジェクト指向プログラミングの基礎を習得していることが前提となりますので、不安がある人は別途書籍を購入して学習するなどして理解を深めたうえで臨んでください。

授業内容

授業内容
第1回第1回 オブジェクト指向プログラミングの復習(UMLとJavaプログラミング)
第2回第2回 IteratorとAdapterパターン
第3回第3回 Template Method と Factory Methodパターン
第4回第4回 SingletonとPrototypeパターン
第5回第5回 BuilderとAbstract Factoryパターン
第6回第6回 BridgeとStrategyパターン
第7回第7回 CompositeとDecoratorパターン
第8回第8回 VisitorとChain of Responsibilityパターン
第9回第9回 FacadeとMediatorパターン
第10回第10回 ObserverとMementoパターン
第11回第11回 Stateパターン
第12回第12回 Flyweight とProxyとパターン
第13回第13回 Commandパターン
第14回第14回 Interpreterパターン
第15回第15回 総合演習