2010年2月20日土曜日

OOP演習で学ばせたいこと(2)

前回の説明では各学習目標の説明が抜けていたので,今回説明したいと思います.順番は基礎的なものから並べましたが,並列な学習目標については適当に並べました.




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

OOP演習自体の位置づけを説明するのを忘れたので,次回はそれを説明しようかと思います.

つづく

追記: 「モデリングの概念を理解できる」の学習目標を追加しました.