・報告書(ホスト技術者のOO技術者への短期変換)
一年間:170名に研修(3ヶ月中心)を実施した結果のまとめ
・パターンにしたいな
<1. オブジェクト指向の学習曲線>
1 学習要素を分解して、学習曲線を直線に近いものに変更する
2 Java+UML -> モデリング -> 開発プロセスという順番でカリキュラムを構成する
<2. Javaを学ぶ>
1 2〜4のポイントを学んだら、即刻モデリングに移行する。Javaに長居をしない
2 クラスとインスタンスを理解する
・メソッド、変数におけるstaticとinstanceの違いを理解する
3 インターフェースによるポリモルフィズム(多態性)を理解する
・コレクションとイテレータ(反復)も理解
4 Eclipse(統合開発環境)のデバッガが使えるようにする
・JDKソースも含め、ソースにステップ・インできるようにする
・メソッドの定義元、メソッドの呼び出し元を自由に参照できるようにする
・インスタンスの中身を実際に見えるようになること
5 UMLのクラス図とシーケンス図の概要を知り、クラス間の関連がどう実装されるかを理解する
・単方向関連、双方向関連、関連クラス
<3. モデリングを覚える>
1 ごく小さな要件(ユースケース)でエンティティクラス図を書き、シーケンス図でメソッド分析をして、実装してみる
ことを目標とする【重要】
・最初は業務で使う内容でモデリングしないこと。マスタや集計など、集約オブジェクトが出てきて、エンティ
ティのモデリングが乱れてしまう
2 ユースケースごとに1つのクラス図という錯覚をなくす。システム全体で1つのクラス図になる
3 クラス図とオブジェクト図を自由に変換できるようにする
・オブジェクト図が、クラス図のある瞬間のスナップショット(写真)であることを理解する
・抽象クラスやインターフェースがオブジェクトを束ねる構造を記述する方法であることを理解する(これが
わからないとデザインパターンは理解できない)
4 エンティティ(主体)がモデルの本質であり、ビジネスルールなどを構成することを理解する
5 MVCを理解する
・エンティティクラス図にコントロール(入力や処理)、ビュー(見せ方)を追加する方法を理解する
6 ロバストネス分析(ICONIX方式:参考文献1)を理解する
・エンティティ、コントロール(処理)、バウンダリ(境界:入出力)を使いこなす
・MVCとロバストネス分析の違いを理解する
7 モデルがうまく習得できない時は、1で作った動くソースをもらい、デバッガで動きをトレースして、モデルにさかの
ぼれば良い【重要】
<4. OO開発の流れを理解する>
1 OOの開発工程の基本要素を理解する(工程表添付)
2 OOの開発工程は繰り返し型であり、各フェーズに様々な割合で1項の開発工程が含まれることを理解する
3 RUP(ラショナル統一プロセス)を理解する
(おわり)