- C言語プログラミングできる
- C言語の基本的な文法を使える
- 基本的なアルゴリズムとデータ構造を実装できる
- モデリングの概念を理解できる
- モデルとは何か,モデルの重要性を理解できる
- 抽象,捨象の概念を理解できる
- 基本UMLが読める
- 基本的な UML の図が文法的・意味的に理解できる
- UML の図のうち,何を基本的な図と定義するかは,検討が必要.
- 基本UMLが書ける
- 上記の UML の図をつかって簡単なモデルを書ける
- 「1手詰め」くらいのレベルを想定.
- UMLをもとにプログラムが書ける
- UMLからプログラムに変換できる
- 狭い意味でのOOP演習
- プログラミング言語は Java を想定しているが,他の言語にも通用する話を主体にしたい.
- OOPLの API・言語仕様書が読める
- プログラミング言語でどう記述したらいいかを自習できるよう,ドキュメントの読み方を理解する
- ドキュメントを読むことは,初心者から脱皮するのに必要かつ重要なスキル
- テストが書ける
- xUnit を使って,要求仕様をテストコードとして書く方法を理解する
- テスト駆動開発のノリを体験する
- コードリファクタリングができる
- 開発したコードをきれいにリファクタリング(再構成)する方法を学ぶ
- 開発環境を整備できる
- 統合開発環境を自分で一通りセットアップできるようになる
- ツール依存なので,インストールガイドやチュートリアルなどの読み方を説明する
- UMLの仕様書が読める
- OMG が提供している UML の仕様書を読んで,UML の細かい使い方を自分で調べられるようにする
- 英語のドキュメントになじむ
- 構造化できる
- OOA(Object-Oriented Analysis: オブジェクト指向分析)やOOD(Object-Oriented Design: オブジェクト指向設計)の元となった構造化分析・設計の重要な原則を学ぶ
- 構造化分析・設計の考え方を現代的にアレンジ
- OOAができる
- OOA の基本的な原則を理解する
- 現実世界のことがらを自在にモデリングできる
- 何ができれば OOA ができたことになるのかは,要検討
- OODができる
- OOD の基本的な原則を理解する
- OOA で記述した What (何を実現するか)を How (どのように実現するか)に落とし込むことができる
- 品質モデルを理解できる
- 品質モデルを理解する
- 品質モデルに基づいてモデルやプログラムをレビューできる
- テストケースを設計できる
- 実現したい品質要求をどのように保証するかの基礎を理解する
- デザインパターンを使える
- デザインパターンに基づいて OOD ができるようになる
- パターンという概念を理解する
- アーキテクチャ設計ができる
- アーキテクチャという概念を理解する
- アーキテクチャパターンを使える
- 品質要求をどのようにアーキテクチャとして実現するかを理解する
うーん,こうしてみてみると,実に盛りだくさんですね.これら全部を180分x14or15回で教えるのは,いかにも無理そうです.ただ,範囲を絞るのは当然としても,せっかく発展的な学習目標を考えたので,その広がりを感じさせるような,あるいは体感させられるような教材を作りたいですね.
OOP演習自体の位置づけを説明するのを忘れたので,次回はそれを説明しようかと思います.