1. |
授業の概要(ねらい)・ディプロマポリシーとの関連 |
|
本科目ではオブジェクト指向言語によるソフトウェア開発におけるデザインパターンについて学びます。オブジェクト指向言語に限らずソフトウェア開発では再利用性、保守性、移植性の高い設計と実装が要求されます。この要求を満たすための一手法としてデザインパターンの適用があります。デザインパターンを効果的に適用するためにはデザインパターンに関する理解が欠かせません。本科目ではGoFのデザインパターンを採り上げ、簡単なJavaプログラムの実装を通じてデザインパターンについて理解することを目標とします。また、目的に応じて適切なデザインパターンを選択して設計・実装できるようになることを目標とします。 本科目はDP1、DP2に関連します。
|
2. |
授業の到達目標 |
|
・デザインパターンとは何かを説明でき、それぞれのパターンの特徴を理解している。 ・それぞれのデザインパターンにおけるクラス間の役割や振舞いを理解している。 ・デザインパターンをプログラムの開発に適用することができる。
|
3. |
成績評価の方法および基準・フィードバック方法 |
|
第1回、第2回のレポート、及び科目習得試験により、それぞれ25%、25%、50%の割合で評価します。質問などは電子メールにて受け付けています。また、課題レポートについてもその結果をフィードバックします。
|
4. |
教科書・参考書 |
|
結城浩著、Java言語で学ぶデザインパターン入門、SB Creative ※補足資料の提供や課題レポートの一部の提出にLMSを活用します。
|
5. |
準備学修の内容・必要な時間 |
|
指定テキストのサンプルプログラムを使って学習を進めてください。指定テキストはJavaを使用していますが、他のオブジェクト指向言語を使用した学習でも構いません。(ただし、科目習得試験ではJavaをベースにした問題で構成されています。) なお、学習を進めるにあたりJavaの理解、オブジェクト指向プログラミングの理解が欠かせません。学習に取り組む前にこれらについての事前学習が必要です。また、事後学習として章末問題に取り組んだり、インターネットを活用してデザインパターンの適用事例を調べたりすることで理解を深めてください。これらの事前・事後学習に3時間程度必要です。
|
6. |
その他履修上の注意事項 |
|
本科目の履修にはJava言語によるオブジェクト指向プログラミングの基礎を習得していることが前提となりますので、不安がある人は別途書籍を購入して学習するなどして理解を深めたうえで臨んでください。
|
7. |
授業内容 |
|
【第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回 総合演習 |
|