diff --git a/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward.html b/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward.html
index 623a7c7..64ebdfa 100644
--- a/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward.html
+++ b/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward.html
@@ -1,12 +1,12 @@
- 課題A1 (ArgoUML)
+ 課題A1 (アーキテクチャ理解)
- 課題A1
+ 課題A1 (アーキテクチャ理解)
課題A1では, ArgoUMLの図形の削除機能について見ていきます.
ArgoUMLはオープンソースのUMLモデリングツールで, Javaで書かれております.
@@ -20,43 +20,43 @@
-
デスクトップのEclipseを起動し, 指定されたワークスペースを開いてください.
-
+
-
ワークスペース中にあるGEF-0.13.7プロジェクトを選択し, メニューバーの Search → Java で Fig というタイプの宣言を検索してください.
-
-
+
+
-
Figクラスのソースファイルを開いて743行目 (Fig#removeFromDiagram()) にブレークポイントを入れてください.
-
+
-
メニューバーの Window → Perspective → Open Perspective → Other... → トレースデバッガ(順方向) でトレースデバッガのパースペクティブを開いてください.
-
-
+
+
-
開いたトレースデバッガのパースペクティブ右上のブレークポイントビュー上にあるフォルダアイコン(左から1番目)を
- クリックしてトレースファイル(ArgoUMLBenchMarkWithMoreStandardClasses.trace)を開いてください.
-
-
+ クリックしてトレースファイル (ArgoUMLBenchMarkWithMoreStandardClasses.trace) を開いてください.
+
+
-
トレースファイルの読み込みが終わるまで待ってから, ブレークポイントビュー上にある「ブレークポイントをEclipseから取り入れる」アイコン(左から2番目)を
クリックしてトレースデバッガ用のブレークポイントを作成してください.
-
+
-
ブレークポイントビュー上にあるデバッグアイコン(左から3番目)をクリックしてください.
トレースデバッガによるデバッグ実行が起動し, ブレークポイントを入れた位置の行が選択された状態で一時停止します.
-
+
- 課題A1
+ アーキテクチャ理解
Fig クラスはグラフィックエディタ上の図形を表すGEFの内部のクラスです.
また, FigClass クラスはクラス図上に配置された「クラス」を表す ArgoUML のクラスで, Fig クラスの子孫クラスにあたります.
@@ -70,27 +70,27 @@
ここで, 変数ビューを確認すると, このメソッド実行は FigClass クラスのインスタンス (id = 1675174935) に対する呼び出しだとわかります.
この FigClass クラスのインスタンス (id = 1675174935) がどこから来たのかを確認していきます.
まずは, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である FigNode クラスの removeFromDiagram() メソッドを見ています.
ここで, 変数ビューを見ると, このメソッドも同一の FigClass クラスのインスタンス (id = 1675174935) に対して呼び出されていることがわかります.
これを確認したら, 呼び出しスタック上でさらに1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である FigNodeModelElement クラスの removeFromDiagramImpl() メソッドを見ています.
ここで, 変数ビューを見ると, このメソッドも先ほどと同様に FigClass クラスのインスタンス (id = 1675174935) によって呼び出されていることがわかります.
これを確認したら, 呼び出しスタック上でさらに1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である FigNodeModelElement クラスの removeFromDiagram() メソッドを見ています.
ここで, ソースコードを見ると, ローカル変数 delegate が参照しているインスタンスに対して removeFromDiagramImpl() メソッドが呼び出されていることがわかります.
ここでは, ローカル変数 delegate の値がどこから来たのかを見ていきます.
FigNodeModelElement クラスの removeFromDiagram() メソッドの1965行目にブレークポイントを入れ,
- ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
-
+ ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
+
ここで, いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
@@ -103,29 +103,29 @@
先ほどの確認が終わったら, いったんデバッグ実行を終了して, 再びデバッグ実行してください.
FigClassModelElement クラスの removeFromDiagram() メソッドの1965行目に止まります.
ここでは, ステップインを2回押して getRemoveDelegate() メソッドの中に入ってください.
-
+
FigNodeModelElement クラスの getRemoveDelegate() メソッドに入りました.
ここで, ソースコードを見ると, このメソッドでは return this で自分自身が戻り値として返されていることがわかります.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である FigNodeModelElement クラスの removeFromDiagram() メソッドを見ています.
ここで, 呼び出しスタック上でさらに1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である ActionRemoveFromDiagram() クラスの actionPerformed(ActionEvent) メソッドの89行目を見ています.
ここで, 変数ビュー上で 「呼び出し前」を開いて, レシーバのIDを確認してください.
-
+
ソースコードを見ると, ローカル変数 f の値は, 86行目の拡張for文で ローカル変数 figs から取得した要素を代入していることが確認できます.
ここからは, ローカル変数 figs の値がどこから来たのかを見ていきます.
- すぐ上にある85行目にブレークポイントを入れてから, ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
-
+ すぐ上にある85行目にブレークポイントを入れてから, ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
+
いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
@@ -140,57 +140,57 @@
ソースコードを見ると, ここでは ローカル変数 ce で参照されているインスタンスに対して getSelectionManager() メソッドが呼び出され,
その戻り値に対して getFigs() メソッドが呼び出され, getFigs() メソッドの戻り値として返されたリストが, ローカル変数 figs に代入されていることが確認できます.
ここで, まずはステップインを1回押して Editor クラスの getSelectionManager() メソッドの中に入ってください.
-
+
Editor クラスの getSelectionManager() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, Editor クラスのインスタンス (id = 371019845) が
- フィールド _selectionManager として SelectionManager クラスのインスタンス (id = 4310438) を保持していることがわかります.
+ フィールド _selectionManager として SelectionManager クラスのインスタンス (id = 4310438) を参照していることがわかります.
これを確認したら, ステップリターンを1回押して呼び出し元に戻ってください.
-
+
呼び出し元である ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドに戻ってきました.
ここでは, ステップイン1回押して, getSelectionManager クラスの getFigs() メソッドの中に入ってください.
-
+
SelectionManager クラスの getFigs() メソッドに入りました.
ソースコードを見ると, 360行目ではローカル変数 figs を生成し, それが366行目では return figs で戻り値として返されていることが確認できます.
ここで, ステップオーバーを2回押して363行目に進んでください.
-
+
現在は SelectionManager クラスの getFigs() メソッドの363行目にいます.
ソースコードを見ると, フィールド selections から get() メソッドで取り出した要素に対して,
さらに getContent() メソッドを呼び出し, その戻り値をローカル変数 figs に追加していることが確認できます.
-
+
ここで, まずはステップインを3回押してください.
すると, selections に対する get() メソッドの実行が終了し, その戻り値に対して getContent() メソッドを呼び出す直前の時点にまで現在の実行時点が進みます.
ここで, ステップインを1回押して, SelectionClass クラスの getContent() メソッドの中に入ってください.
-
+
SelectionClass クラスの getContent() メソッドの中に入りました.
ここで, 変数ビュー上の this を開くと SelectionClass クラスのインスタンス (id = 1672744985) が
- フィールド content として FigClass クラスのインスタンス (id = 1675174935) を保持していることがわかります.
+ フィールド content として FigClass クラスのインスタンス (id = 1675174935) を参照していることがわかります.
これを確認したら, ステップリターンを1回押して呼び出し元に戻ってください.
-
+
SelectionManager クラスの getFigs() メソッドに戻ってきました.
ここで, 変数ビュー上の「呼び出し前」を開いて引数のIDを確認してください.
すると, 先ほど取得してきた FigClass クラスのインスタンス (id = 1675174935) をローカル変数 figs に追加することがわかります.
-
+
ここで, ステップオーバーを1回押して, ローカル変数 figs にそれ以上何も追加されずに
そのまま366行目の return figs まで進むことを確認してください.
これを確認したら, ステップオーバーを1回押して呼び出し元に戻ってください.
-
+
呼び出し元である ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドに戻ってきました.
@@ -198,8 +198,8 @@
そのあと, 変数ビュー上の「呼び出し後」を開いて戻り値のIDを確認してください.
すると, 先ほどの FigClass クラスのインスタンス (id = 1675174935) を取得していることがわかります.
これを確認したら, ステップオーバーを2回押して89行目に進んでください.
-
-
+
+
現在は ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドの89行目にいます.
@@ -207,26 +207,26 @@
この「呼び出し前」を開いてレシーバのIDを確認してください.
すると, ここでは, 先ほどの FigClass クラスのインスタンス (id = 1675174935) に対して removeFromDiagram() メソッドを呼び出していることがわかります.
これを確認したら, ステップインをもう1回押して FigClass クラスの removeFromDiagram() メソッドの中に入ってください.
-
+
FigClass クラスの removeFromDiagram() メソッドに入りました.
ここでは, 変数ビューを見て this の ID を確認してください.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
今までの結果から, FigClass クラスのインスタンス (id = 1675174935) に関連するオブジェクトについて, 以下のことがわかりました.
- - FigClass クラスのインスタンス (id = 1675174935) は SelectionClass クラスのインスタンス (id = 1672744985) が保持している.
- - SelectionClass クラスのインスタンス (id = 1672744985) は SelectionManager クラスのインスタンス (id = 4310438) が保持している.
- - SelectionManager クラスのインスタンス (id = 4310438) は Editor クラスのインスタンス (id = 371019845) が保持している.
+ - FigClass クラスのインスタンス (id = 1675174935) は SelectionClass クラスのインスタンス (id = 1672744985) が参照している.
+ - SelectionClass クラスのインスタンス (id = 1672744985) は SelectionManager クラスのインスタンス (id = 4310438) が参照している.
+ - SelectionManager クラスのインスタンス (id = 4310438) は Editor クラスのインスタンス (id = 371019845) が参照している.
ここからは, Editor クラスのインスタンス (id = 371019845) について見ていきます.
Editor クラスのインスタンスは, 85行目でローカル変数 ce の値として参照されていることがわかっています.
したがって, ここでは, ローカル変数 ce の値がどこから来たのかを探していきます.
- すぐ上の83行目にブレークポイントを入れてから, ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
-
+ すぐ上の83行目にブレークポイントを入れてから, ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
+
いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
@@ -239,18 +239,18 @@
この83行目では, Globals クラスの static メソッドである curEditor() メソッドが呼び出され,
その戻り値がローカル変数 ce に代入されていることが確認できます.
ここで, ステップインを2回押してこのメソッドの中に入ってください.
-
+
Globals クラスの static メソッドである curEditor() メソッドに入りました.
- ここで, ソースコードを見ると, Globals クラスが static フィールド _curEditor として Editor クラスのインスタンスを保持していることがわかります.
+ ここで, ソースコードを見ると, Globals クラスが static フィールド _curEditor として Editor クラスのインスタンスを参照していることがわかります.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は 呼び出し元である ActionRemoveFromDiagram クラスの actionPerformed() メソッドを見ています.
ここで, 課題A1は終了です. 時間計測を終了してください.
-
+
diff --git a/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward_Delta.html b/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward_Delta.html
new file mode 100644
index 0000000..8f5a75c
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/ArgoUML1_Forward_Delta.html
@@ -0,0 +1,116 @@
+
+
+
+ 課題A1 (接近過程抽出)
+
+
+
+
+ 課題A1 (接近過程抽出)
+
+
+ 接近過程抽出
+
+ Fig クラスはグラフィックエディタ上の図形を表すGEFの内部のクラスです.
+ また, FigClass クラスはクラス図上に配置された「クラス」を表す ArgoUML のクラスで, Fig クラスの子孫クラスにあたります.
+
+
+
+
+ 課題A1終了直後は下図のような状態になっているはずです.
+ 右上にあるパースペクティブを右クリックし, いったん「トレースデバッガ(順方向)」のパースペクティブを閉じてください.
+
+
+
+ ここで, 「トレースデバッガ(逆方向)」のパースペクティブを開いてください.
+
+
+
+ その状態のままで, ブレークポイントビュー上にある「ブレークポイントを取り入れる」をクリックしてください.
+ ブレークポイントを取り入れたら, デバッグ実行してください.
+
+
+
+ 現在は, ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドの83行目にいます.
+ まずは, ActionRemoveFromDiagram クラスのインスタンスに FigClass クラスのインスタンス (id = 1675174935) が接近する過程を抽出して見ていきます.
+ ここで, ステップオーバーを6回押して, 89行目にまで進んでください.
+ そのあと, ステップネクストを1回押してください.
+
+
+
+
+ 現在は, ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドの89行目にいます.
+ ここで, 変数ビュー上の「呼び出し前」を開いて, レシーバを右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照先側001」から「参照先側018」までを順番にクリックしていってください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしていってください.
+
+
+
+ ここまでで, ActionRemoveFromDiagram クラスのインスタンスに FigClass クラスのインスタンス (id = 1675174935) が接近する過程を見てきました.
+ 抽出した結果を見ると, SelectionManager クラスのインスタンス (id = 4310438) のローカル変数 figs が参照している Vector に追加されていた FigClass クラスのインスタンスを
+ 取得してきていることがわかりましたが, その FigClass クラスのインスタンスがどうやって追加されたのかについては, この抽出範囲だけではわかりません.
+ そこで, ここからは, そのローカル変数 figs に FigClass クラスのインスタンス (id = 1675174935) が追加されるまでの過程を見ていきます.
+ まずは, 「オブジェクトの接近過程抽出」ビュー上の「参照先側012」をクリックしてください.
+
+
+
+ 先ほどの操作によって, 現在は SelectionManager クラスの getFigs() メソッドの360行目にいます.
+ ここで, まずはステップオーバーを2回押して363行目にまで進んでください.
+ 363行目にまで進んだら, 次はステップネクストを4回押してください.
+
+
+
+
+ ここで, 変数ビュー上の「呼び出し前」を開いて, 引数を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照先側001」から「参照先側009」までを順番にクリックしていってください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照元側001」から「参照元側002」までを順番にクリックしていってください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしていってください.
+
+
+
+ ここまでで, SelectionManager クラスのインスタンス (id = 4310438) のローカル変数 figs が参照している Vector に
+ FigClass クラスのインスタンス (id = 1675174935) が追加されるまでの過程を見てきました.
+ ここで, 課題A1の接近過程抽出は終了です.
+ 「オブジェクトの接近過程」ビューを全て閉じ, そのあとデバッグ実行を終了してください.
+ デバッグ実行を終了したら, この「トレースデバッガ(逆方向)」のパースペクティブを閉じてください.
+
+
+
+
+
\ No newline at end of file
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_01.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_01.png
new file mode 100644
index 0000000..02f1fd4
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_01.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_02.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_02.png
new file mode 100644
index 0000000..3acdc9e
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_02.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_03.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_03.png
new file mode 100644
index 0000000..fd35063
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_03.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_04.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_04.png
new file mode 100644
index 0000000..c6e09c4
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_04.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_05.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_05.png
new file mode 100644
index 0000000..3dbc088
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_05.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_06.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_06.png
new file mode 100644
index 0000000..d26c330
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_06.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_07.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_07.png
new file mode 100644
index 0000000..0fa7acb
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_07.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_08.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_08.png
new file mode 100644
index 0000000..b4f3538
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_08.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_09.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_09.png
new file mode 100644
index 0000000..153aeb6
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_09.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_10.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_10.png
new file mode 100644
index 0000000..0f9e3f1
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_10.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_11.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_11.png
new file mode 100644
index 0000000..7b91361
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_11.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_12.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_12.png
new file mode 100644
index 0000000..4f9cedf
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_12.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_13.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_13.png
new file mode 100644
index 0000000..12e4df9
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_13.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_14.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_14.png
new file mode 100644
index 0000000..5169705
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_14.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_15.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_15.png
new file mode 100644
index 0000000..f6198a9
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_15.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_16.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_16.png
new file mode 100644
index 0000000..a94a898
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_16.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_17.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_17.png
new file mode 100644
index 0000000..2710bd1
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_17.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_18.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_18.png
new file mode 100644
index 0000000..6b7365e
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_18.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_19.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_19.png
new file mode 100644
index 0000000..8f066e4
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_19.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_20.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_20.png
new file mode 100644
index 0000000..1f750fd
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_20.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_21.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_21.png
new file mode 100644
index 0000000..21d0bb0
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_21.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_22.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_22.png
new file mode 100644
index 0000000..730fa28
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_22.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_23.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_23.png
new file mode 100644
index 0000000..82d7459
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_23.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_24.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_24.png
new file mode 100644
index 0000000..3e17d3b
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_24.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_25.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_25.png
new file mode 100644
index 0000000..d129604
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_25.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_26.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_26.png
new file mode 100644
index 0000000..d132641
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1/ArgoUML_1_26.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_01.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_01.png
new file mode 100644
index 0000000..ddcf745
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_01.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_02.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_02.png
new file mode 100644
index 0000000..faab80b
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_02.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_03.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_03.png
new file mode 100644
index 0000000..6bf48cb
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_03.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_04.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_04.png
new file mode 100644
index 0000000..1e1be4e
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_04.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_05.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_05.png
new file mode 100644
index 0000000..7c3428d
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_05.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_06.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_06.png
new file mode 100644
index 0000000..b1c9c72
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_06.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_07.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_07.png
new file mode 100644
index 0000000..42d5669
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_07.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_08.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_08.png
new file mode 100644
index 0000000..2308733
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_08.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_09.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_09.png
new file mode 100644
index 0000000..606eb47
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_09.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_10.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_10.png
new file mode 100644
index 0000000..962ca3c
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_10.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_11.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_11.png
new file mode 100644
index 0000000..6eb0120
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_11.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_12.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_12.png
new file mode 100644
index 0000000..ea9827f
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_12.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_13.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_13.png
new file mode 100644
index 0000000..0af7a15
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_13.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_14.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_14.png
new file mode 100644
index 0000000..6807f68
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_14.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_15.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_15.png
new file mode 100644
index 0000000..486a526
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_15.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_16.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_16.png
new file mode 100644
index 0000000..3afd797
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_16.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_17.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_17.png
new file mode 100644
index 0000000..4cb6e86
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_17.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_18.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_18.png
new file mode 100644
index 0000000..39fa743
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_18.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_19.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_19.png
new file mode 100644
index 0000000..dc9f594
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_19.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_20.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_20.png
new file mode 100644
index 0000000..a600f19
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_20.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_21.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_21.png
new file mode 100644
index 0000000..8a470bf
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_21.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_22.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_22.png
new file mode 100644
index 0000000..4757d4f
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_22.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_23.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_23.png
new file mode 100644
index 0000000..abe2fdc
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta/ArgoUML_1_delta_23.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_01.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_01.png
new file mode 100644
index 0000000..19cda7c
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_01.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_02.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_02.png
new file mode 100644
index 0000000..987cdeb
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_02.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_03.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_03.png
new file mode 100644
index 0000000..bf74f4e
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_03.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_04.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_04.png
new file mode 100644
index 0000000..f25acdc
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_04.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_05.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_05.png
new file mode 100644
index 0000000..acba769
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_05.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_06.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_06.png
new file mode 100644
index 0000000..23b4f1a
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_06.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_06_2.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_06_2.png
new file mode 100644
index 0000000..b21cdb2
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_06_2.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_07.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_07.png
new file mode 100644
index 0000000..d0d2dea
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_07.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_08.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_08.png
new file mode 100644
index 0000000..5479ff4
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_08.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_09.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_09.png
new file mode 100644
index 0000000..f469838
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_09.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_09_2.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_09_2.png
new file mode 100644
index 0000000..4b0604a
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_09_2.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_01.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_01.png
new file mode 100644
index 0000000..ea96483
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_01.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_02.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_02.png
new file mode 100644
index 0000000..6ea5526
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_02.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_03.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_03.png
new file mode 100644
index 0000000..f8441e7
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_03.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_04.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_04.png
new file mode 100644
index 0000000..a139768
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_04.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_05.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_05.png
new file mode 100644
index 0000000..8dab940
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_05.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_06.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_06.png
new file mode 100644
index 0000000..59cc34b
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_06.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_07.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_07.png
new file mode 100644
index 0000000..274e9c0
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_07.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_08.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_08.png
new file mode 100644
index 0000000..7b8c544
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_08.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_09.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_09.png
new file mode 100644
index 0000000..72fb287
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_09.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_10.png b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_10.png
new file mode 100644
index 0000000..d7cda8a
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem1/images/images_problem1_pre/ArgoUML_1_pre_10.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_01.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_01.png
deleted file mode 100644
index 02f1fd4..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_01.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_02.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_02.png
deleted file mode 100644
index 3acdc9e..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_02.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_03.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_03.png
deleted file mode 100644
index fd35063..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_03.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_04.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_04.png
deleted file mode 100644
index c6e09c4..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_04.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_05.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_05.png
deleted file mode 100644
index 3dbc088..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_05.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_06.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_06.png
deleted file mode 100644
index d26c330..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_06.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_07.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_07.png
deleted file mode 100644
index 0fa7acb..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_07.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_08.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_08.png
deleted file mode 100644
index b4f3538..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_08.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_09.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_09.png
deleted file mode 100644
index 153aeb6..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_09.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_10.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_10.png
deleted file mode 100644
index 0f9e3f1..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_10.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_11.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_11.png
deleted file mode 100644
index 7b91361..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_11.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_12.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_12.png
deleted file mode 100644
index 4f9cedf..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_12.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_13.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_13.png
deleted file mode 100644
index 12e4df9..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_13.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_14.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_14.png
deleted file mode 100644
index 5169705..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_14.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_15.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_15.png
deleted file mode 100644
index f6198a9..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_15.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_16.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_16.png
deleted file mode 100644
index a94a898..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_16.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_17.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_17.png
deleted file mode 100644
index 2710bd1..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_17.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_18.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_18.png
deleted file mode 100644
index 6b7365e..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_18.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_19.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_19.png
deleted file mode 100644
index 8f066e4..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_19.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_20.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_20.png
deleted file mode 100644
index 1f750fd..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_20.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_21.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_21.png
deleted file mode 100644
index 21d0bb0..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_21.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_22.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_22.png
deleted file mode 100644
index 730fa28..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_22.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_23.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_23.png
deleted file mode 100644
index 82d7459..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_23.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_24.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_24.png
deleted file mode 100644
index 3e17d3b..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_24.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_25.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_25.png
deleted file mode 100644
index d129604..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_25.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_26.png b/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_26.png
deleted file mode 100644
index d132641..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1/ArgoUML_1_26.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_01.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_01.png
deleted file mode 100644
index ea96483..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_01.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_02.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_02.png
deleted file mode 100644
index 6ea5526..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_02.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_03.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_03.png
deleted file mode 100644
index f8441e7..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_03.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_04.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_04.png
deleted file mode 100644
index a139768..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_04.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_05.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_05.png
deleted file mode 100644
index 8dab940..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_05.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_06.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_06.png
deleted file mode 100644
index 59cc34b..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_06.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_07.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_07.png
deleted file mode 100644
index 274e9c0..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_07.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_08.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_08.png
deleted file mode 100644
index 7b8c544..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_08.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_09.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_09.png
deleted file mode 100644
index 72fb287..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_09.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_10.png b/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_10.png
deleted file mode 100644
index d7cda8a..0000000
--- a/courseA/ArgoUML_Forward/problem1/images_problem1_pre/ArgoUML_1_pre_10.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/ArgoUML2_Forward.html b/courseA/ArgoUML_Forward/problem2/ArgoUML2_Forward.html
index 03c4518..da9090e 100644
--- a/courseA/ArgoUML_Forward/problem2/ArgoUML2_Forward.html
+++ b/courseA/ArgoUML_Forward/problem2/ArgoUML2_Forward.html
@@ -1,12 +1,12 @@
- 課題A2 (ArgoUML)
+ 課題A2 (アーキテクチャ理解)
- 課題A2
+ 課題A2 (アーキテクチャ理解)
課題A2では, ArgoUMLの図形の選択機能について見ていきます.
ArgoUMLはオープンソースのUMLモデリングツールで, Javaで書かれております.
@@ -18,31 +18,24 @@
前準備
- 課題A1(削除機能)が終了した直後は下図のような状態になっているはずです.
-
+ 課題A1と同様に「トレースデバッガ(順方向)」のパースペクティブを開いてください.
+
-
- ここで, ステップオーバーを2回押して85行目に進んでください.
- そのあと, ステップインを4回押して getSelectionManager() に入ってからそのまま抜けて, 次の getFigs() メソッドの中に入ってください.
-
-
-
- SelectinoManager クラスの getFigs() メソッドに入りました.
+
ここでは, フィールド selections に SelectionClass クラスのインスタンス (id = 1672744985) を実際に追加しているのはどこなのかを見ていきます.
ソースコード中の selections にカーソルを入れ, そのフィールドに対してオブジェクトを追加している全ての行にブレークポイントを入れてください.
今回は, SelectionManager クラスの125行目と130行目の二か所が該当します.
-
+
SelectinoManager クラスの125行目と130行目にブレークポイントを入れた状態で,
- ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
+ ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
すると, 実際にトレース上に実行された記録が残っている130行目にだけブレークポイントが新規追加されます.
そのあと, ブレークポイントビュー上で下記のブレークポイントのチェックを外してください.
- - ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッド 83行目
+ - 83行目 ActionRemoveFromDiagram.actionPerformed(ActionEvent)
- ここで, 課題A1から続いているデバッグ実行をいったん停止してください.
-
+
デバッグ実行を押すと, SelectionManager クラスの addFig(Fig) メソッドの130行目で止まります.
@@ -51,13 +44,13 @@
もう一度再開ボタンを押すと 今度は ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドの85行目に止まることが確認できます.
そこからさらに再開ボタンを押していくと, 現在の実行時点は FigNodeModelElement クラスの 1965行目 → Fig クラスの743行目に移り変わっていくことが確認できます.
これを確認したら, デバッグ実行をいったん終了してから再び実行して, 再開ボタンを1回押して2回目の130行目に進めてください.
- 下図の状態になれば, ここで課題2の前準備は終了です.
-
+ 下図の状態になれば, ここで課題A2の前準備は終了です.
+
- 課題A2
+ アーキテクチャ理解
Fig クラスはグラフィックエディタ上の図形を表すGEFの内部のクラスです.
また, FigClass クラスはクラス図上に配置された「クラス」を表す ArgoUML のクラスで, Fig クラスの子孫クラスにあたります.
@@ -68,11 +61,11 @@
先ほどの実行手順にしたがって進めていくと, 下図のように SelectionManager クラスの addFig(Fig) メソッド内の130行目で一時停止している状態になっているはずです.
この状態になっていれば, ここから時間計測を開始してください.
- ここで, ソースコードと変数ビューを見ると, SelectionManager クラスのインスタンス (id = 4310438) が保持するフィールド selections へは
+ ここで, ソースコードと変数ビューを見ると, SelectionManager クラスのインスタンス (id = 4310438) が参照するフィールド selections へは
makeSelectionFor(Fig) メソッドの戻り値である SelectionClass クラスのインスタンス (id = 1672744985) が追加されていることがわかります.
課題A2では, このオブジェクトの追加に関わっている SelectionManager クラスのインスタンスと SelectionClass クラスのインスタンスについて見ていきます.
まずは, ステップインを3回押してこのメソッドの中に入ってください.
-
+
SelectionManager クラスの makeSelectionFor(Fig) メソッドに入りました.
@@ -80,52 +73,52 @@
また, ソースコードを見ると, 1129行目では 仮引数 f で渡されてきたこのインスタンスに対して makeSelection() メソッドが呼び出され,
その戻り値がローカル変数 customSelection に代入されていることが確認できます.
ここでは, ステップインを2回押してこのメソッドの中に入ってください.
-
+
FigClass クラスの makeSelection() メソッドに入りました.
ソースコードを見ると, ここで SelectionClass クラスのインスタンスを新たに生成し, その引数として自分自身が渡されていることが確認できます.
- よって, ここで新たに生成された SelectionClass クラスのインスタンスが FigClass クラスのインスタンス (id = 1675174935) を保持していることがわかります.
+ よって, ここで新たに生成された SelectionClass クラスのインスタンスが FigClass クラスのインスタンス (id = 1675174935) を参照していることがわかります.
また, このメソッドでは, この SelectionClass クラスのインスタンスを戻り値として返していることが確認できます.
これを確認したら, ステップオーバーを1回押して, 呼び出し元に戻ってください.
-
+
SelectionManager クラスの makeSelectionFor(Fig) メソッドに戻ってきました.
ここで, ソースコードを見ると, 先ほど呼び出された FigClass クラスの makeSelection() メソッドの戻り値が,
ローカル変数 customSelection に代入されて, それがここでは戻り値として返されていることがわかります.
これを確認したら, ステップオーバーで呼び出し元に戻ってください.
-
+
SelectionManager クラスの addFig(Fig) メソッドに戻ってきました.
ここで, 変数ビュー上の「呼び出し前」を開くと, 先ほどの SelectionClass クラスのインスタンス (id = 1672744985) が引数として渡されており,
これがフィールド selections に追加されることがわかります.
また, この引数をさらに開くと, SelectionClass クラスのインスタンス (id = 1672744985) が
- フィールド content として 実際に FigClass クラスのインスタンス(id = 1675174935) を保持していることを確認できます.
+ フィールド content として 実際に FigClass クラスのインスタンス(id = 1675174935) を参照していることを確認できます.
ここからは, FigClass クラスのインスタンス(id = 1675174935) について見ていきます.
ソースコードと変数ビューを見ると, このインスタンスは 仮引数 f として渡されていることが確認できます.
この仮引数 f の値がどこから来たのかを見るために, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は SelectionManager クラスの select(Fig) メソッドの180行目を見ています.
ここで, ソースコードを見ると, この FigClass クラスのインスタンス (id = 1675174935) は, ここでも仮引数として渡されてきていることが確認できます.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は ModeSelect クラスの mousePressed(MouseEvent) メソッドの187行目を見ています.
ここで, ソースコードを見ると, ローカル変数 underMouse で参照されているインスタンスが実引数として渡されていることがわかります.
-
+
ここからは, このローカル変数 underMouse の値がどこから来たのかを見ていきます.
ローカル変数 underMouse にカーソルを入れて この underMouse に代入された箇所を探していきます.
ローカル変数 underMouse の初期化が160行目にあるので, ここにブレークポイントを入れてください.
- ブレークポイントを入れたら, ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
+ ブレークポイントを入れたら, ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
そのあと, ブレークポイントビュー上で130行目と160行目以外のブレークポイントのチェックを外してください.
-
+
いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
@@ -141,32 +134,32 @@
ここで, ステップオーバーを1回押すと, 163行目に止まることが確認できます.
163行目では, ローカル変数 underMouse で参照されているインスタンスに対して deepSelect(Rectangle) メソッドが呼び出され
その戻り値がローカル変数 underMouse に再び代入されていることが確認できます.
-
-
+
+
ここでは, ステップオーバーを8回押して, このローカル変数がこれ以上更新されずに187行目まで進むことを確認してください.
これにより, 187行目で実引数として渡しているローカル変数 underMouse の値は, 163行目で呼び出されたメソッドの戻り値から来ていることがわかります.
-
+
いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
まずは, 再開ボタンを2回押して, 2回目の160行目にまで進んでください.
そのあと, ステップオーバーを1回押して163行目に進んでください.
ここで, ステップインを2回押して FigGroup クラスの deepSelect(Rectangle) メソッドの中に入ってください.
-
+
FigGroup クラスの deepSelect(Rectangle) メソッドに入りました.
ここで, ソースコードを見ると, return this によって, 自分自身が戻り値として返されていることが確認できます.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は, ModeSelect クラスの mousePressed(MouseEvent) メソッドを見ています.
163行目では元々参照されていた値と同じ FigClass クラスのインスタンス (id = 1675174935) が, 再び代入されているだけだということがわかりました.
ここで, ソースコードを見ると, 元々の値は160行目で代入されていることが確認できます.
-
+
いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
@@ -174,46 +167,46 @@
ソースコードを見ると, 160行目では Editor クラスの hit(Point) メソッドが呼び出され,
その戻り値がローカル変数 underMouse に代入されていることが確認できます.
ここで, ステップインを3回押して, このメソッドの中に入ってください.
-
+
Editor クラスの hit(Point) メソッドに入りました.
ここでは, ステップオーバーを1回押して446行目に進んだあと, ステップインを2回押して hit(Rectangle) メソッドの中に入ってください.
-
+
Editor クラスの hit(Rectangle) メソッドに入りました.
ここで, ソースコードを見ると, getLayerManager() メソッドの戻り値に対して hit() メソッドが呼び出され,
その戻り値がローカル変数 f に代入されたあと, 次の行で return f によって戻り値として返されていることが確認できます.
まずは, ステップインを2回押して getLayerManager() メソッドの中に入ってください.
-
+
Editor クラスの getLayerManager() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, Editor クラスのインスタンス (id = 371019845) が
- フィールド _layerManager として LayerManager クラスのインスタンス (id = 1975264299) を保持していることがわかります.
+ フィールド _layerManager として LayerManager クラスのインスタンス (id = 1975264299) を参照していることがわかります.
これを確認したら, ステップオーバーを1回押して呼び出し元に戻ってください.
-
+
Editor クラスの hit(Rectangle) メソッドに戻ってきました.
ここでは, ステップインを1回押して, LayerManager クラスの hit(Rectangle) メソッドの中に入ってください.
-
+
LayerManager クラスの hit(Rectangle) メソッドに入りました.
ここで, 変数ビュー上の this を開くと LayerManager クラスのインスタンス (id = 1975264299) が
- フィールド _activeLayer として LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) を保持していることがわかります.
+ フィールド _activeLayer として LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) を参照していることがわかります.
これを確認したら, ステップインを4回押して LayerPerspectiveMutable クラスの hit(Rectangle) メソッドの中に入ってください.
-
+
LayerPerspectiveMutable クラスの hit(Rectangle) メソッドに入りました.
ここで, 変数ビュー上の this を開くと, LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) が
- フィールド contents として ArrayList を保持していることがわかります.
+ フィールド contents として ArrayList を参照していることがわかります.
また, ソースコードを見ると, 231行目でこの ArrayList から取り出してきた要素を, 233行目の return f で戻り値として返されていることが確認できます.
ここでは, ステップオーバーを2回押して232行目にまで進んでください.
-
+
現在は LayerPerspectiveMutable クラスの hit(Rectangle) メソッドの232行目にいます.
@@ -221,23 +214,23 @@
FigClass クラスのインスタンス (id = 1675174935) を取得していることがわかります.
ステップオーバーを1回押して, 実際に233行目の return f で戻り値として返されていることを確認してください.
これを確認したら, 呼び出しスタック上で4つ呼び出し元である ModeSelect クラスの mousePressed(MouseEvent) メソッドをクリックしてください.
-
-
+
+
現在は ModeSelect クラスの mousePressed(MouseEvent) メソッドの160行目を見ています.
ここで, 変数ビュー上の this を開くと, ModeSelect クラスのインスタンス (id = 1807431709) が
- フィールド editor として Editor クラスのインスタンス (id = 371019845) を保持していることがわかります.
-
+ フィールド editor として Editor クラスのインスタンス (id = 371019845) を参照していることがわかります.
+
ここまでの結果から, SelectionClass クラスのインスタンスに関わる各オブジェクトの関係について, 以下のことがわかりました.
- SelectionClass クラスのインスタンス (id = 1672744985) は Fig クラスのインスタンス (id = 1675174935) を引数に渡して生成している.
- - FigClass クラスのインスタンス (id = 1675174935) は LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) が保持している.
- - LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) は LayerManager クラスのインスタンス (id = 1975264229) が保持している.
- - LayerManager クラスのインスタンス (id = 1975264229) は Editor クラスのインスタンス (id = 371019845) が保持している.
- - Editor クラスのインスタンス (id = 371019845) は ModeSelect クラスのインスタンス (id = 1807431709) が保持している.
+ - FigClass クラスのインスタンス (id = 1675174935) は LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) が参照している.
+ - LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) は LayerManager クラスのインスタンス (id = 1975264229) が参照している.
+ - LayerManager クラスのインスタンス (id = 1975264229) は Editor クラスのインスタンス (id = 371019845) が参照している.
+ - Editor クラスのインスタンス (id = 371019845) は ModeSelect クラスのインスタンス (id = 1807431709) が参照している.
課題A2では, オブジェクトの追加に関わっている SelectionManager クラスのインスタンスと SelectionClass クラスのインスタンスについて見ていくのでした.
ここからは, SelectionManager クラスのインスタンスの方がどこから来たかを見ていきます.
@@ -246,9 +239,9 @@
ソースコードをスクロールして187行目を見ると, SelectionManager クラスのインスタンスはローカル変数 sm で参照されていることが確認できます.
ここでは, このローカル変数 sm の値がどこから来たかを見るために, ローカル変数 sm にカーソルを入れて, 代入された箇所を探していきます.
ローカル変数 sm の初期化が156行目にあるので, ここにブレークポイントを入れてください.
- ブレークポイントを入れたら, ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
+ ブレークポイントを入れたら, ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
そのあと, ブレークポイントビュー上で130行目と156行目以外のブレークポイントのチェックを外してください.
-
+
いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
@@ -263,21 +256,20 @@
そのあと, 再開ボタンを2回押して, 2回目の156行目にまで進んでください.
156行目では, Editor クラスの getSelectionManager() メソッドが呼び出され, その戻り値がローカル変数 sm に代入されていることが確認できます.
ここで, ステップインを2回押して, このメソッドの中に入ってください.
-
+
Editor クラスの getSelectionManager() メソッドに入りました.
ここで, 変数ビュー上の this を開くと Editor クラスのインスタンス (id = 371019845) が
- フィールド _selectionManager として SelectionManager クラスのインスタンス (id = 4310438) を保持していることがわかります.
+ フィールド _selectionManager として SelectionManager クラスのインスタンス (id = 4310438) を参照していることがわかります.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は ModeSelect クラスの mousePressed(MouseEvent) メソッドを見ています.
ここで, 課題A2は終了です. 時間計測を終了してください.
-
+
-
\ No newline at end of file
diff --git a/courseA/ArgoUML_Forward/problem2/ArgoUML2_Forward_Delta.html b/courseA/ArgoUML_Forward/problem2/ArgoUML2_Forward_Delta.html
new file mode 100644
index 0000000..b076d60
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/ArgoUML2_Forward_Delta.html
@@ -0,0 +1,79 @@
+
+
+
+ 課題A2 (接近過程抽出)
+
+
+
+
+ 課題A2 (接近過程抽出)
+
+
+ 接近過程抽出
+
+ Fig クラスはグラフィックエディタ上の図形を表すGEFの内部のクラスです.
+ また, FigClass クラスはクラス図上に配置された「クラス」を表す ArgoUML のクラスで, Fig クラスの子孫クラスにあたります.
+
+
+
+
+ 課題A2終了直後は下図のような状態になっているはずです.
+ 右上にあるパースペクティブを右クリックし, いったん「トレースデバッガ(順方向)」のパースペクティブを閉じてください.
+
+
+
+ ここで, 「トレースデバッガ(逆方向)」のパースペクティブを開いてください.
+
+
+
+ その状態のままで, ブレークポイントビュー上にある「ブレークポイントを取り入れる」をクリックしてください.
+ ブレークポイントを取り入れたら, デバッグ実行してください.
+ まずは, SelectionManager クラスのインスタンス (id = 4310438) のフィールド selections が参照している ArrayList に
+ SelectionClass クラスのインスタンス (id = 1672744985) が追加されるまでの過程を見ていきます.
+ デバッグ実行したら, そのまま再開ボタンを2回押してください.
+ すると, 現在の実行時点が2回目の SelectionManager クラスの addFig(Fig) メソッドの130行目に移ります.
+
+
+
+ 現在は, 2回目の SelectionManager クラスの addFig(Fig) メソッドの130行目にいます.
+ ここで, ステップネクストを3回押してください.
+
+
+
+ ここで, 変数ビュー上で「呼び出し前」を開いて, 引数を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照先側001」から「参照先側040」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照元側001」から「参照元側009」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, SelectionManager クラスのインスタンス (id = 4310438) のフィールド selections が参照している ArrayList に
+ SelectionClass クラスのインスタンス (id = 1672744985) が追加されるまでの過程を見てきました.
+ ここで, 課題A2の接近過程抽出は終了です.
+ 「オブジェクトの接近過程」ビューを全て閉じ, そのあとデバッグ実行を終了してください.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_01.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_01.png
new file mode 100644
index 0000000..fbc13ae
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_01.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_02.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_02.png
new file mode 100644
index 0000000..9ab6ad1
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_02.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_03.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_03.png
new file mode 100644
index 0000000..0925fd9
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_03.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_04.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_04.png
new file mode 100644
index 0000000..1e7f494
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_04.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_05.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_05.png
new file mode 100644
index 0000000..cc29ae4
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_05.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_06.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_06.png
new file mode 100644
index 0000000..1c060cb
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_06.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_07.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_07.png
new file mode 100644
index 0000000..9cc32ab
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_07.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_08.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_08.png
new file mode 100644
index 0000000..cc098f4
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_08.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_09.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_09.png
new file mode 100644
index 0000000..2156331
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_09.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_10.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_10.png
new file mode 100644
index 0000000..91e036c
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_10.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_11.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_11.png
new file mode 100644
index 0000000..3522541
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_11.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_12.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_12.png
new file mode 100644
index 0000000..239a377
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_12.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_13.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_13.png
new file mode 100644
index 0000000..6da4158
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_13.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_14.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_14.png
new file mode 100644
index 0000000..6126af0
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_14.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_15.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_15.png
new file mode 100644
index 0000000..56b2549
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_15.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_16.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_16.png
new file mode 100644
index 0000000..69c88f0
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_16.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_17.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_17.png
new file mode 100644
index 0000000..fd315f5
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_17.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_18.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_18.png
new file mode 100644
index 0000000..90eee34
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_18.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_19.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_19.png
new file mode 100644
index 0000000..a0ba144
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_19.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_20.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_20.png
new file mode 100644
index 0000000..a1e206e
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_20.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_21.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_21.png
new file mode 100644
index 0000000..103debd
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_21.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_22.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_22.png
new file mode 100644
index 0000000..2df4ae2
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_22.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_23.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_23.png
new file mode 100644
index 0000000..7aea444
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_23.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_24.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_24.png
new file mode 100644
index 0000000..d06fa85
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_24.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_25.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_25.png
new file mode 100644
index 0000000..2f52ee1
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_25.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_26.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_26.png
new file mode 100644
index 0000000..baa441b
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_26.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_27.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_27.png
new file mode 100644
index 0000000..8e233f5
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_27.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_28.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_28.png
new file mode 100644
index 0000000..9bcd216
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2/ArgoUML_2_28.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_01.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_01.png
new file mode 100644
index 0000000..e0ad5ad
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_01.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_02.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_02.png
new file mode 100644
index 0000000..93403d7
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_02.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_03.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_03.png
new file mode 100644
index 0000000..718f948
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_03.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_04.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_04.png
new file mode 100644
index 0000000..c92a466
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_04.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_05.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_05.png
new file mode 100644
index 0000000..a9ba472
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_05.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_06.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_06.png
new file mode 100644
index 0000000..e9c2ef9
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_06.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_07.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_07.png
new file mode 100644
index 0000000..4bd1836
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_07.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_08.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_08.png
new file mode 100644
index 0000000..f41c979
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_08.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_09.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_09.png
new file mode 100644
index 0000000..784092a
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_09.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_10.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_10.png
new file mode 100644
index 0000000..5356a6e
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_10.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_11.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_11.png
new file mode 100644
index 0000000..b6853c2
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_11.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_12.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_12.png
new file mode 100644
index 0000000..4d2d87f
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_12.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_13.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_13.png
new file mode 100644
index 0000000..afe34d5
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta/ArgoUML_2_delta_13.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_01.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_01.png
new file mode 100644
index 0000000..00d23c2
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_01.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_02.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_02.png
new file mode 100644
index 0000000..43de899
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_02.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_03.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_03.png
new file mode 100644
index 0000000..a3884ba
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_03.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_04.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_04.png
new file mode 100644
index 0000000..ca80f67
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_04.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_05.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_05.png
new file mode 100644
index 0000000..90c3fa8
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_05.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_06.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_06.png
new file mode 100644
index 0000000..22e060b
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_06.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_07.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_07.png
new file mode 100644
index 0000000..02a531f
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_07.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_08.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_08.png
new file mode 100644
index 0000000..b329fcb
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_08.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_09.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_09.png
new file mode 100644
index 0000000..8c02fc9
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_09.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_01.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_01.png
new file mode 100644
index 0000000..d49fc88
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_01.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_02.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_02.png
new file mode 100644
index 0000000..7a016df
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_02.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_03.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_03.png
new file mode 100644
index 0000000..0bdbca2
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_03.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_04.png b/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_04.png
new file mode 100644
index 0000000..b551f0b
--- /dev/null
+++ b/courseA/ArgoUML_Forward/problem2/images/images_problem2_pre/ArgoUML_2_pre_04.png
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_01.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_01.png
deleted file mode 100644
index fbc13ae..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_01.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_02.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_02.png
deleted file mode 100644
index 9ab6ad1..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_02.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_03.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_03.png
deleted file mode 100644
index 0925fd9..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_03.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_04.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_04.png
deleted file mode 100644
index 1e7f494..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_04.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_05.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_05.png
deleted file mode 100644
index cc29ae4..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_05.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_06.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_06.png
deleted file mode 100644
index 1c060cb..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_06.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_07.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_07.png
deleted file mode 100644
index 9cc32ab..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_07.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_08.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_08.png
deleted file mode 100644
index cc098f4..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_08.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_09.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_09.png
deleted file mode 100644
index 2156331..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_09.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_10.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_10.png
deleted file mode 100644
index 91e036c..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_10.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_11.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_11.png
deleted file mode 100644
index 3522541..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_11.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_12.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_12.png
deleted file mode 100644
index 239a377..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_12.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_13.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_13.png
deleted file mode 100644
index 6da4158..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_13.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_14.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_14.png
deleted file mode 100644
index 6126af0..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_14.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_15.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_15.png
deleted file mode 100644
index 56b2549..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_15.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_16.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_16.png
deleted file mode 100644
index 69c88f0..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_16.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_17.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_17.png
deleted file mode 100644
index fd315f5..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_17.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_18.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_18.png
deleted file mode 100644
index 90eee34..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_18.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_19.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_19.png
deleted file mode 100644
index a0ba144..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_19.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_20.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_20.png
deleted file mode 100644
index a1e206e..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_20.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_21.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_21.png
deleted file mode 100644
index 103debd..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_21.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_22.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_22.png
deleted file mode 100644
index 2df4ae2..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_22.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_23.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_23.png
deleted file mode 100644
index 7aea444..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_23.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_24.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_24.png
deleted file mode 100644
index d06fa85..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_24.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_25.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_25.png
deleted file mode 100644
index 2f52ee1..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_25.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_26.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_26.png
deleted file mode 100644
index baa441b..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_26.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_27.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_27.png
deleted file mode 100644
index 8e233f5..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_27.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_28.png b/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_28.png
deleted file mode 100644
index 9bcd216..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2/ArgoUML_2_28.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_01.png b/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_01.png
deleted file mode 100644
index d132641..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_01.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_02.png b/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_02.png
deleted file mode 100644
index ca1d5a0..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_02.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_03.png b/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_03.png
deleted file mode 100644
index b4ef1e0..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_03.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_04.png b/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_04.png
deleted file mode 100644
index 248a76d..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_04.png
+++ /dev/null
Binary files differ
diff --git a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_05.png b/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_05.png
deleted file mode 100644
index fbc13ae..0000000
--- a/courseA/ArgoUML_Forward/problem2/images_problem2_pre/ArgoUML_2_pre_05.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/JHotDraw1_Reverse.html b/courseA/JHotDraw_Reverse/problem1/JHotDraw1_Reverse.html
index 81d02e7..1a95648 100644
--- a/courseA/JHotDraw_Reverse/problem1/JHotDraw1_Reverse.html
+++ b/courseA/JHotDraw_Reverse/problem1/JHotDraw1_Reverse.html
@@ -1,14 +1,14 @@
- 課題B1 (JHotDraw)
+ 課題A3 (アーキテクチャ理解)
- 課題B1
+ 課題A3 (アーキテクチャ理解)
- 課題B1では, JHotDrawの図形の移動機能について見ていきます.
+ 課題A3では, JHotDrawの図形の移動機能について見ていきます.
JHotDrawはオープンソースの図形描画ツールで, Javaで書かれております.
ワークスペース内のjhotdraw7が、JHotDrawを構成するプロジェクトです。
@@ -17,50 +17,48 @@
実行手順
+
-
ワークスペース中にあるjhotdraw7プロジェクトを選択し, メニューバーの Search → Java で DefaultDragTracker という型の宣言を検索してください.
-
-
+
+
-
DefaultDragTrackerクラスのソースファイルを開いて159行目 (DefaultDragTracker#mouseDragged(MouseEvent)) にブレークポイントを入れてください.
-
+
-
メニューバーの Window → Perspective → Open Perspective → Other... → トレースデバッガ(逆方向) でトレースデバッガのパースペクティブを開いてください.
-
-
+
+
-
開いたトレースデバッガのパースペクティブ右上のブレークポイントビュー上にあるフォルダアイコン(左から1番目)を
- クリックしてトレースファイル(jHotDrawBenchMarkWithMoreStandardClasses.trace)を開いてください.
-
-
+ クリックしてトレースファイル (jHotDrawBenchMarkWithMoreStandardClasses.trace) を開いてください.
+
+
-
トレースファイルの読み込みが終わるまで待ってから, ブレークポイントビュー上にある「ブレークポイントをEclipseから取り入れる」アイコン(左から2番目)を
クリックしてトレースデバッガ用のブレークポイントを作成してください.
-
+
-
ブレークポイントビュー上にあるデバッグアイコン(左から3番目)をクリックしてください.
トレースデバッガによるデバッグ実行が起動し, ブレークポイントを入れた位置の行が選択された状態で一時停止します.
-
+
- 課題B1
+ アーキテクチャ理解
-
ブレークポイントを置いた行は、図形を移動するたびに実行されます.
@@ -69,80 +67,80 @@
先ほどの実行手順にしたがって進めていくと, 下図のように DefaultDragTracker クラスの
mouseDragged(MouseEvent) メソッド内の159行目で一時停止している状態になっているはずです.
この状態になっていれば, ここから時間計測を開始してください.
-
+
DefaultDragTracker クラスの mouseDragged(MouseEvent) メソッドの159行では,
ローカル変数 f で参照されている RectangleFigure クラスのインスタンスに対してメソッドが呼び出されていることが確認できます.
まずは, この f の値がどこから来たのかを見るために, ステップバックオーバーを2回押して157行目の拡張for文まで戻ってください.
-
+
先ほどのステップバックオーバーの実行によって157行目まで戻ってきました.
ここでは, まずステップネクストを1回押してください.
そのあと, 変数ビュー上にある「呼び出し後」を開くと,
戻り値として RectangleFigure クラスのインスタンス (id = 1952912699) が返されていることがわかります.
-
+
ソースコードを見ると, RectangleFigure クラスのインスタンス (id = 1952912699) は DefaultDragTracker クラスのインスタンス (id = 758826749) が
- フィールド transFormedFigures の要素として保持していることがわかります.
+ フィールド transFormedFigures の要素として参照していることがわかります.
次は, この transFormedFigures に RectangleFigure クラスのインスタンスがどの実行時点で追加されたのかを見ていきます.
変数ビュー上で開いている「呼び出し後」の中にある戻り値を右クリックして「オブジェクトの追加時点に飛ぶ」を選択してください.
実行すると, オブジェクトの追加時点である DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの118行目にまで現在の実行時点が遡ります.
-
+
先ほどの操作によって, DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの118行目に現在の実行時点が移りました.
この118行目では, ローカル変数 f の値が フィールド transFormedFigures に追加されていることが確認できます.
ここで, 「トレースデバッガ」パースペクティブの右下にある「実行時点の登録」ビューの追加ボタンをクリックしてください.
そうすると, 現在の実行時点がこのビュー上に登録されます.
-
+
この f の値がどこから来たのかを見るために, ステップバックオーバーを1回押して116行目の拡張for文に戻ってください.
ここで, ソースコードを見ると, この116行目の拡張for文では, ローカル変数 view が参照しているインスタンスに対して getSelectedFigures() メソッドが呼び出され,
戻り値として返された Collections$UnmodifiableSet クラスのインスタンスから先ほどのローカル変数 f の値を取得していることが確認できます.
これを確認したら, この戻り値がどうなっているのかを見るために, ステップバックインを4回押して getSelectedFigures() メソッドの中に後ろから入ってください.
-
+
DefaultDrawingView クラスの getSelectedFigures() メソッドに入りました.
ここで, ソースコードを見ると, Collections クラスの static メソッドである unmodifiableSet(Set) が呼び出されており,
その引数として フィールド getSelectedFigures が渡されていることが確認できます.
また, 変数ビュー上の「呼び出し後」および this を開くと, このフィールド getSelectedFigures は
- DefaultDrawingView クラスのインスタンス (id = 150367587) が保持していることがわかります.
+ DefaultDrawingView クラスのインスタンス (id = 150367587) が参照していることがわかります.
これを確認したら, ステップバックリターンを1回押して呼び出し元に戻ってください.
-
+
先ほどの結果から, RectangleFigure クラスのインスタンス (id = 1952912699) は
- DefaultDrawingView クラスのインスタンス (id = 150367587) が セットの要素として保持していることがわかりました.
+ DefaultDrawingView クラスのインスタンス (id = 150367587) が セットの要素として参照していることがわかりました.
次は, この DefaultDrawingView クラスのインスタンスがどこから来たのかを見ていきます.
ここでは, ステップバックオーバーを5回押して98行目に戻ってください.
ソースコードを見ると, getView() メソッドの戻り値を ローカル変数 view に代入していることが確認できます.
ここで, この戻り値がどうなっているのかを確認するために, ステップインを1回押してこのメソッドの中に前から入ってください.
-
+
AbstractTool クラスの getView() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DefaultDragTracker クラスのインスタンス (id = 758826749) が
- DefaultDraingEditor クラスのインスタンス (id = 1859859960) を保持していることがわかります.
+ DefaultDraingEditor クラスのインスタンス (id = 1859859960) を参照していることがわかります.
これを確認したら, ステップインを3回押して DefaultDrawingEditor クラスの getAcitiveView() メソッドの中に前から入ってください.
-
+
DefaultDrawingEditor クラスの getAcitiveView() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が
- DefaultDrawingView クラスのインスタンス (id = 150367587) を保持していることがわかります.
-
+ DefaultDrawingView クラスのインスタンス (id = 150367587) を参照していることがわかります.
+
先ほどの結果から, DefaultDrawingView クラスのインスタンス (id = 150367587) は
- DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が保持していることがわかりました.
+ DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が参照していることがわかりました.
呼び出しスタック上で2つ呼び出し元である DefaultDragTrackerクラスの mousePressed(MouseEvent) メソッドをクリックしてください.
- ここで, 課題B1は終了です. 時間計測を終了してください.
-
+ ここで, 課題A3は終了です. 時間計測を終了してください.
+
diff --git a/courseA/JHotDraw_Reverse/problem1/JHotDraw1_Reverse_Delta.html b/courseA/JHotDraw_Reverse/problem1/JHotDraw1_Reverse_Delta.html
new file mode 100644
index 0000000..7c9f9fb
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/JHotDraw1_Reverse_Delta.html
@@ -0,0 +1,65 @@
+
+
+
+ 課題A3 (接近過程抽出)
+
+
+
+
+ 課題A3 (接近過程抽出)
+
+
+ 接近過程抽出
+
+
+
+
+
+
+ 課題A3終了直後は下図のような状態になっているはずです.
+ まずは, DefaultDragTracker クラスのインスタンス (id = 758826749) のフィールド transformedFigures が参照している HashSet に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を抽出して見ていきます.
+ ここで, 「実行時点の登録」ビュー上で登録している「118行目 DefaultDragTracker.mousePressed(MouseEvent)」をダブルクリックしてください.
+ すると, 現在の実行時点が DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの118行目に移ります.
+
+
+
+
+ 先ほどの操作によって, 現在は DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの118行目にいます.
+ ここで, 変数ビュー上の「呼び出し前」を開いて, 引数を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側020」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側002」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, DefaultDragTracker クラスのインスタンス (id = 758826749) のフィールド transformedFigures が参照している HashSet に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を見てきました.
+ ここで, 課題A3の接近過程抽出は終了です.
+ 「オブジェクトの接近過程」ビューを全て閉じてください.
+ なお, デバッグ実行は終了せずにそのままの状態にしておいてください.
+
+
+
+
+
\ No newline at end of file
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_01.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_01.png
new file mode 100644
index 0000000..b8bcdb6
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_01.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_02.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_02.png
new file mode 100644
index 0000000..f7ea61a
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_02.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_03.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_03.png
new file mode 100644
index 0000000..6d8be67
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_03.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_04.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_04.png
new file mode 100644
index 0000000..bdf1412
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_04.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_05.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_05.png
new file mode 100644
index 0000000..b28fd53
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_05.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_06.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_06.png
new file mode 100644
index 0000000..4aa1165
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_06.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_07.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_07.png
new file mode 100644
index 0000000..5ce76fb
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_07.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_08.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_08.png
new file mode 100644
index 0000000..3a7e27a
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_08.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_09.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_09.png
new file mode 100644
index 0000000..cc2afe0
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_09.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_10.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_10.png
new file mode 100644
index 0000000..f26d045
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_10.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_11.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_11.png
new file mode 100644
index 0000000..c72d5f2
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1/JHotDraw_1_11.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_01.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_01.png
new file mode 100644
index 0000000..7ce44cc
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_01.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_02.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_02.png
new file mode 100644
index 0000000..aa8653f
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_02.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_03.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_03.png
new file mode 100644
index 0000000..5dbd8cb
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_03.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_04.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_04.png
new file mode 100644
index 0000000..6a9ae6d
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_04.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_05.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_05.png
new file mode 100644
index 0000000..b051fae
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_05.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_06.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_06.png
new file mode 100644
index 0000000..5bced31
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_06.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_07.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_07.png
new file mode 100644
index 0000000..c2bcd69
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_07.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_08.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_08.png
new file mode 100644
index 0000000..cc9e93e
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_08.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_09.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_09.png
new file mode 100644
index 0000000..441e06b
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_09.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_10.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_10.png
new file mode 100644
index 0000000..0357cd5
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_10.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_11.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_11.png
new file mode 100644
index 0000000..12b2ede
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_11.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_12.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_12.png
new file mode 100644
index 0000000..5e7bc49
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_12.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_13.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_13.png
new file mode 100644
index 0000000..a5f92c8
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_13.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_14.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_14.png
new file mode 100644
index 0000000..b6a0169
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_14.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_15.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_15.png
new file mode 100644
index 0000000..aa9cf5e
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_15.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_16.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_16.png
new file mode 100644
index 0000000..1cd1202
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta/JHotDraw_1_delta_16.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_01.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_01.png
new file mode 100644
index 0000000..04a21ff
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_01.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_02.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_02.png
new file mode 100644
index 0000000..f3ea430
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_02.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_03.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_03.png
new file mode 100644
index 0000000..54bca45
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_03.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_04.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_04.png
new file mode 100644
index 0000000..0f244ca
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_04.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_01.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_01.png
new file mode 100644
index 0000000..f0e6c51
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_01.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_02.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_02.png
new file mode 100644
index 0000000..13a341c
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_02.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_03.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_03.png
new file mode 100644
index 0000000..c4f5274
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_03.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_04.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_04.png
new file mode 100644
index 0000000..edebae3
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_04.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_05.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_05.png
new file mode 100644
index 0000000..a3ed54c
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_05.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_06.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_06.png
new file mode 100644
index 0000000..57ada6b
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_06.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_07.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_07.png
new file mode 100644
index 0000000..31cc164
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_07.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_08.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_08.png
new file mode 100644
index 0000000..cda9eb8
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_08.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_09.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_09.png
new file mode 100644
index 0000000..fa10c98
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_09.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_10.png b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_10.png
new file mode 100644
index 0000000..b8bcdb6
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem1/images/images_problem1_pre/JHotDraw_1_pre_10.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_01.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_01.png
deleted file mode 100644
index b8bcdb6..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_01.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_02.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_02.png
deleted file mode 100644
index f7ea61a..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_02.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_03.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_03.png
deleted file mode 100644
index 6d8be67..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_03.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_04.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_04.png
deleted file mode 100644
index bdf1412..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_04.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_05.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_05.png
deleted file mode 100644
index b28fd53..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_05.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_06.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_06.png
deleted file mode 100644
index 4aa1165..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_06.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_07.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_07.png
deleted file mode 100644
index 5ce76fb..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_07.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_08.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_08.png
deleted file mode 100644
index 3a7e27a..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_08.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_09.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_09.png
deleted file mode 100644
index cc2afe0..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_09.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_10.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_10.png
deleted file mode 100644
index f26d045..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_10.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_11.png b/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_11.png
deleted file mode 100644
index c72d5f2..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1/JHotDraw_1_11.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_01.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_01.png
deleted file mode 100644
index f0e6c51..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_01.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_02.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_02.png
deleted file mode 100644
index 13a341c..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_02.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_03.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_03.png
deleted file mode 100644
index c4f5274..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_03.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_04.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_04.png
deleted file mode 100644
index edebae3..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_04.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_05.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_05.png
deleted file mode 100644
index a3ed54c..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_05.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_06.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_06.png
deleted file mode 100644
index 57ada6b..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_06.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_07.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_07.png
deleted file mode 100644
index 31cc164..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_07.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_08.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_08.png
deleted file mode 100644
index cda9eb8..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_08.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_09.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_09.png
deleted file mode 100644
index fa10c98..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_09.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_10.png b/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_10.png
deleted file mode 100644
index b8bcdb6..0000000
--- a/courseA/JHotDraw_Reverse/problem1/images_problem1_pre/JHotDraw_1_pre_10.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/JHotDraw2_Reverse.html b/courseA/JHotDraw_Reverse/problem2/JHotDraw2_Reverse.html
index 866ab27..ad14087 100644
--- a/courseA/JHotDraw_Reverse/problem2/JHotDraw2_Reverse.html
+++ b/courseA/JHotDraw_Reverse/problem2/JHotDraw2_Reverse.html
@@ -1,14 +1,14 @@
- 課題B2 (JHotDraw)
+ 課題A4 (アーキテクチャ理解)
- 課題B2
+ 課題A4 (アーキテクチャ理解)
- 課題B2では, JHotDrawの図形の選択機能について見ていきます.
+ 課題A4では, JHotDrawの図形の選択機能について見ていきます.
JHotDrawはオープンソースの図形描画ツールで, Javaで書かれております.
ワークスペース内のjhotdraw7が、JHotDrawを構成するプロジェクトです。
@@ -17,36 +17,27 @@
前準備
- 課題B1(移動機能)が終了した直後は下図のような状態になっているはずです.
-
+ 課題A3が終了した直後は下図のような状態になっているはずです.
+
- まずは, 課題B1の途中で「実行時点の登録」ビューに登録しておいた DefaultDragTracker.mousePressed(MouseEvent) 118行目 の実行時点をダブルクリックしてください.
- ダブルクリックすることで, 現在の実行時点が登録した実行時点へと移ります.
-
-
-
- ここで, ステップバックオーバーを2回押してから, ステップネクストを1回押してください.
+ ここで, ステップバックオーバーを2回押してから, ステップオーバーを1回押してください.
そのあと, 変数ビュー上で「呼び出し後」を開いて, 戻り値を右クリックしてください.
右クリックするとポップアップメニューが現れるので, 「オブジェクトの追加時点に飛ぶ」を選択してください.
-
+
「オブジェクトの追加時点に飛ぶ」を選択すると, selectedFigures に この RectangleFigure クラスのインスタンス (id = 1952912699) が追加された時点である
DefaultDrawingView クラスの addToSelection(Figure) メソッドの780行目にまで現在の実行時点が遡ります.
下図の状態になっていれば前準備は終了です.
-
+
- 課題B2
+ アーキテクチャ理解
-
- ブレークポイントを置いた行は、図形を選択するたびに実行されます.
+ 現在の実行時点の行は、図形を選択するたびに実行されます.
@@ -54,47 +45,47 @@
先ほどの前準備にしたがって進めていくと, 下図のように DefaultDrawingView クラスの
addToSelection(Figure) メソッド内の780行目で一時停止している状態になっているはずです.
この状態になっていれば, ここから時間計測を開始してください.
-
+
まずは,「実行時点の登録」ビューの追加ボタンをクリックして実行時点の登録を行ってください.
- ここで, ソースコードと変数ビューを見ると, DefaultDrawingView クラスのインスタンス (id = 150367587) が保持するフィールド selectedFigures へは
+ ここで, ソースコードと変数ビューを見ると, DefaultDrawingView クラスのインスタンス (id = 150367587) が参照するフィールド selectedFigures へは
RectangleFigure クラスのインスタンス (id = 1952912699) が追加されていることがわかります.
- 課題B2では, このオブジェクトの追加に関わっている DefaultDrawingView クラスのインスタンスと RectangleFigure クラスのインスタンスについて見ていきます.
-
+ 課題A4では, このオブジェクトの追加に関わっている DefaultDrawingView クラスのインスタンスと RectangleFigure クラスのインスタンスについて見ていきます.
+
まずは RectangleFigure がどこから来たのかを見るために, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
ここで, ソースコードを見ると, 先ほど呼び出されていた addToSelection(Figure) メソッドは, ローカル変数 view で参照されているインスタンスに対する呼び出しであり,
その実引数としてフィールド anchorFigure の値が渡されていることがわかります.
- また, 変数ビュー上の this を開くと, このフィールドは DefaultDragTracker クラスのインスタンス (id = 758826749) が保持していることがわかります.
-
+ また, 変数ビュー上の this を開くと, このフィールドは DefaultDragTracker クラスのインスタンス (id = 758826749) が参照していることがわかります.
+
ここでは, いったんローカル変数 view の値がどこから来たのかを見ていきます.
ステップバックオーバーを4回押して98行目に戻ってください.
ソースコードを見ると, getView() メソッドの戻り値を ローカル変数 view に代入していることが確認できます.
ここで, この戻り値がどうなっているのかを確認するために, ステップインを1回押して getView() メソッドの中に前から入ってください.
-
+
AbstractTool クラスの getView() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DefaultDragTracker クラスのインスタンス (id = 758826749) が
- DefaultDraingEditor クラスのインスタンス (id = 1859859960) を保持していることがわかります.
+ DefaultDraingEditor クラスのインスタンス (id = 1859859960) を参照していることがわかります.
これを確認したら, ステップインを3回押して DefaultDrawingEditor クラスの getAcitiveView() メソッドの中に前から入ってください.
-
+
DefaultDrawingEditor クラスの getAcitiveView() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が
- DefaultDrawingView クラスのインスタンス (id = 150367587) を保持していることがわかります.
-
+ DefaultDrawingView クラスのインスタンス (id = 150367587) を参照していることがわかります.
+
先ほどの結果から, DefaultDrawingView クラスのインスタンス (id = 150367587) は
- DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が保持していることがわかりました.
+ DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が参照していることがわかりました.
呼び出しスタック上で2つ呼び出し元である DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドをクリックしてください.
-
+
現在は, 呼び出し元である DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの98行目を見ています.
@@ -102,7 +93,7 @@
ここからは, RectangleFigure クラスのインスタンス (id = 1952912699) がどこから来たのかを見ていきます.
ここで, 変数ビュー上の this を開き, その中にある anchorFigure を右クリックしてください.
右クリックするとポップアップメニューが現れるので, 「値の代時点に飛ぶ」を選択してください.
-
+
「値の追加時点に飛ぶ」を選択すると, DefaulatDragTracker クラスのインスタンス (id = 758826749) に
@@ -111,66 +102,66 @@
まずは, 「実行時点の登録」ビューの追加ボタンをクリックして実行時点の登録を行ってください.
ここでは, DefaultDragTracker クラスのフィールド anchorFigure に仮引数 f の値を代入していることが確認できます.
仮引数 f の値がどこから来たのかを見るために, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である SelectionTool クラスの getDragTracker() メソッド見ています.
ここで 変数ビュー上の 「呼び出し前」および this を開くと, 先ほどの setDraggedFigure (Figure) メソッドが呼び出されている
- DefaultDragTracker クラスのインスタンス (id = 758826749) は DelegationSelectionTool クラスのインスタンス (id = 5999587451) が保持していることがわかります.
+ DefaultDragTracker クラスのインスタンス (id = 758826749) は DelegationSelectionTool クラスのインスタンス (id = 5999587451) が参照していることがわかります.
引き続き, 仮引数 f の値がどこから来ているのかを見るために, 呼び出しスタック上でさらに1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である DelegationSelectionTool クラスの mousePressed(MouseEvent) メソッドを見ています.
ここで, ソースコードを見ると, ここではローカル変数 figure の値が実引数として渡されていることが確認できます.
-
+
今度はこのローカル変数 figure の値がどこから来ているのかを見るために, ステップバックオーバーを3回押して270行目に戻ってください.
270行目では, ローカル変数 view で参照されるインスタンスに対して findFigure(Point) メソッドが呼び出され,
その戻り値がローカル変数 figure に代入されていることが確認できます.
この戻り値がどうなっているのかを確認するために, ステップインでこのメソッドの中に前から入ってください.
-
+
DefaultDrawingView クラスの findFigure(Point) メソッドに入りました.
ここで, ソースコードを見ると, このメソッドでは getDrawing() メソッドで取得してきたインスタンスに対して,
findFigure(Double) メソッドが呼び出され, その戻り値を返していることが確認できます.
これを確認したら, ステップインを2回押して, getDrawing() メソッドの中に前から入ってください.
-
+
DefaultDrawingView クラスの getDrawing() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DefaultDrawingView クラスのインスタンス (id = 150367587) が
- フィールド drawing として QuadTreeDrawing クラスのインスタンス (id = 1583174451) を保持していることがわかります.
+ フィールド drawing として QuadTreeDrawing クラスのインスタンス (id = 1583174451) を参照していることがわかります.
これを確認したら, ステップリターンを1回押して呼び出し元に戻ってください.
-
+
DefaultDrawingView クラスの findFigure(Point) メソッドに戻ってきました.
ここでは, まずステップネクストを1回押して viewToDrawingPoint(Point) メソッドを飛ばし,
それから, ステップインを1回押して QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドの中に前から入ってください.
-
-
+
+
QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドに入りました.
ここでは, ステップインを3回押して QuadTree クラスの findContains(Point2D$Double) メソッドの中に前から入ってください.
-
+
QuadTree クラスの findContains(Point2D$Double) メソッドに入りました.
ここで, 変数ビュー上の this を開くとQuadTree クラスのインスタンス (id = 808853315) がフィールド root として
- QuadTree の内部クラス QuadNode クラスのインスタンス (id = 2120356010) を保持していることがわかります.
+ QuadTree の内部クラス QuadNode クラスのインスタンス (id = 2120356010) を参照していることがわかります.
ここでは, ステップオーバーを1回押して83行目に進んだあと, ステップインを2回押して,
QuadTree$QuadNode クラスの findContains(Point2D$Double) メソッドの中に前から入ってください.
-
+
QuadTree$QuadNode クラスの findContains(Point2D$Double) メソッドに入りました.
ここで, 変数ビュー上の this を開くと, QuadTree$QuadNode クラスのインスタンスは
- フィールド objects として HashMap を保持していることがわかります.
-
+ フィールド objects として HashMap を参照していることがわかります.
+
ここでは, ステップオーバーを3回押して226行目まで進んだあと, ステップネクストを2回押してください.
@@ -179,68 +170,69 @@
ここで, 変数ビュー上の「呼び出し後」および「呼び出し前」を開くと,
実際に RectangleFigure クラスのインスタンス (id = 1952912699) を取得してから追加していることを確認できます.
これを確認したら, ステップオーバーを4回押して呼び出し元に戻ってください.
-
+
呼び出し元である QuadTree クラスの findContains(Point2D$Double) メソッドの84行目に戻ってきました.
ここでは, ステップオーバーを1回実行し, このメソッド内ではローカル変数 result に何もオブジェクトが追加されず,
89行目の return result に現在の実行時点が移ることを確認してください.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
-
+
+
現在は QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドを見ています.
ここでは, まずステップオーバーを2回押して129行目まで進んでください.
129行目で「実行時点の登録」ビューの追加ボタンをクリックして実行時点の登録を行ってください.
-
-
+
+
現在は QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドの129行目にいます.
そのあと, ステップネクストを3回実行すると, 現在の実行時点が130行目に移ります.
ここで, 変数ビュー上の「呼び出し後」を開き, 戻り値として RectangleFigure クラスのインスタンス (id = 1952912699) があることを確認してください.
これを確認したら, 呼び出しスタック上で2つ呼び出し元をクリックしてください.
-
+
ここまでの結果から RectangleFigure クラスのインスタンスに関わる各オブジェクトの関係について, 以下のことがわかりました.
- - RectangleFigure クラスのインスタンス (id = 1952912699) は QuadTree の内部クラス QuadNode クラスのインスタンス (id = 2120356010) が保持している.
- - QuadTree の内部クラス QuadNode クラスのインスタンス (id = 2120356010) は QuadTree クラスのインスタンス (id = 808853315) が保持している.
- - QuadTree クラスのインスタンス (id = 808853315) は QuadTreeDrawing クラスのインスタンス (id = 1583174451) が保持している.
- - QuadTreeDrawing クラスのインスタンス (id = 1583174451) は DefaultDrawingView クラスのインスタンス (id = 150367587) が保持している.
+ - RectangleFigure クラスのインスタンス (id = 1952912699) は QuadTree の内部クラス QuadNode クラスのインスタンス (id = 2120356010) が参照している.
+ - QuadTree の内部クラス QuadNode クラスのインスタンス (id = 2120356010) は QuadTree クラスのインスタンス (id = 808853315) が参照している.
+ - QuadTree クラスのインスタンス (id = 808853315) は QuadTreeDrawing クラスのインスタンス (id = 1583174451) が参照している.
+ - QuadTreeDrawing クラスのインスタンス (id = 1583174451) は DefaultDrawingView クラスのインスタンス (id = 150367587) が参照している.
ここからは, DefaultDrawingView クラスのインスタンス (id = 150367587) がどこから来たのかを見ていきます.
現在は, 呼び出し元である SelectionTool クラスの mousePressed(MouseEvent) メソッドの270行目を見ています.
ここで, ソースコードを見ると, このDefaultDrawingView クラスのインスタンスはローカル変数 view で参照されていることが確認できます.
-
+
このローカル変数 view の値がどこから来たのかを見るために, ステップバックオーバーを10回押して228行目にまで戻ってください.
228行目では, ローカル変数 view に getView() メソッドの戻り値を代入していることが確認できます.
ここで, この戻り値がどうなっているのかを確認するために, ステップインを1回押して getView() メソッドの中に前から入ってください.
-
+
AbstractTool クラスの getView() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DelegationSelectionTool クラスのインスタンス (id = 599587451) が
- DefaultDraingEditor クラスのインスタンス (id = 1859859960) を保持していることがわかります.
+ DefaultDraingEditor クラスのインスタンス (id = 1859859960) を参照していることがわかります.
これを確認したら, ステップインを3回押して DefaultDrawingEditor クラスの getAcitiveView() メソッドの中に前から入ってください.
-
+
DefaultDrawingEditor クラスの getAcitiveView() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が
- DefaultDrawingView クラスのインスタンス (id = 150367587) を保持していることがわかります.
-
+ DefaultDrawingView クラスのインスタンス (id = 150367587) を参照していることがわかります.
+
先ほどの結果から, DefaultDrawingView クラスのインスタンス (id = 150367587) は
- DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が保持していることがわかりました.
+ DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が参照していることがわかりました.
呼び出しスタック上で2つ呼び出し元をクリックしてください.
- ここで, 課題B2は終了です. 時間計測を終了してください.
-
+ ここで, 課題A4は終了です. 時間計測を終了してください.
+
+
\ No newline at end of file
diff --git a/courseA/JHotDraw_Reverse/problem2/JHotDraw2_Reverse_Delta.html b/courseA/JHotDraw_Reverse/problem2/JHotDraw2_Reverse_Delta.html
new file mode 100644
index 0000000..21d7688
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/JHotDraw2_Reverse_Delta.html
@@ -0,0 +1,160 @@
+
+
+
+ 課題A4 (接近過程抽出)
+
+
+
+
+ 課題A4 (接近過程抽出)
+
+
+ 接近過程抽出
+
+
+
+
+
+
+ 課題A4終了直後は下図のような状態になっているはずです.
+ まずは, DefaultDrawingView クラスのインスタンス (id = 150367587) のフィールド selectedFigures が参照している LinkedHashSet に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を見ていきます.
+ ここで, 「実行時点の登録」ビュー上で登録している「780行目 DefaultDrawingView.addToSelection(Figure)」をダブルクリックしてください.
+ すると, 現在の実行時点が DefaultDrawingView クラスの addToSelection(Figure) メソッドの780行目に移ります.
+
+
+
+
+ 先ほどの操作によって, 現在は DefaultDrawingView クラスの addToSelection(Figure) メソッドの780行目にいます.
+ ここで, 変数ビュー上の「呼び出し前」を開いて, 引数を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側004」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側013」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, DefaultDrawingView クラスのインスタンス (id = 150367587) のフィールド selectedFigures が参照している LinkedHashSet に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が接近する過程を見てきました.
+ 抽出した結果を見ると, DefaultDragTracker クラスのインスタンス (id = 758826749) のフィールド anchorFigure に代入されていた RectangleFigure クラスのインスタンスを
+ 取得してきていることがわかりましたが, その RectangleFigure クラスのインスタンスがどうやって代入されたのかについては, この抽出範囲だけではわかりません.
+ そこで, ここからは, DefaultDragTracker クラスのインスタンス (id = 758826749) に RectangleFigure クラスのインスタンス (id = 1952912699) が
+ 接近する過程を抽出して見ていきます.
+ まずは, 「オブジェクトの接近過程抽出」ビュー上の「参照先側002」をクリックしてください.
+
+
+
+ 先ほどの操作によって, 現在は DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの109行目にいます.
+ ここで, 変数ビュー上の this を開き, フィールド anchorFigure を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+ すると, 現在の実行時点が DefaultDragTracker クラスの setDraggedFigure(Figure) メソッドの218行目に移ります.
+
+
+
+
+ 先ほどの操作によって, 現在は DefaultDragTracker クラスの setDraggedFigure(Figure) メソッドの218行目にいます.
+ ここで, 変数ビュー上の「フィールド代入前」を開いて, 参照先を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので,「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側036」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側004」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, DefaultDragTracker クラスのインスタンス (id = 758826749) に RectangleFigure クラスのインスタンス (id = 1952912699) が接近する過程を見てきました.
+ 抽出した結果を見ると, QuadTree クラスのインスタンス (id = 808853315) のローカル変数 result に追加されていた RectangleFigure クラスのインスタンスを
+ 取得してきていることがわかりましたが, その RectangleFigure クラスのインスタンスがどうやって追加されたのかについては, この抽出範囲だけではわかりません.
+ そこで, ここからは, そのローカル変数 result に RectangleFigure クラスのインスタンス (id = 1952912699) が追加される過程を見ていきます.
+ まずは, 「オブジェクトの接近過程抽出」ビュー上の「参照先側028」をクリックしてください.
+
+
+
+ 先ほどの操作によって, 現在は QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドの129行目にいます.
+ ここで, ステップネクストを1回押して130行目にまで進んでください.
+
+
+
+
+ 先ほどの操作によって, 現在は QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドの130行目にいます.
+ ここで, 変数ビュー上で「呼び出し後」を開いて, 戻り値を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 「オブジェクトの追加時点に飛ぶ」をクリックしてください.
+ すると, 現在の実行時点が QuadTree$QuadNode クラスの findContains(Point2D$Double, HashSet) メソッドの226行目に移ります.
+
+
+
+
+ 先ほどの操作によって, 現在は QuadTree$QuadNode クラスの findContains(Point2D$Double, HashSet) メソッドの226行目にいます.
+ ここで, 変数ビュー上で「呼び出し後」を開いて, 戻り値を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側013」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側004」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, QuadTree クラスのインスタンス (id = 808853315) のローカル変数 result に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が追加される過程を見てきました.
+ ここで, 課題A4の接近過程抽出は終了です.
+ 「オブジェクトの接近過程」ビューを全て閉じ, そのあとデバッグ実行を終了してください.
+
+
+
+
+
\ No newline at end of file
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_01.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_01.png
new file mode 100644
index 0000000..18d573b
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_01.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_02.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_02.png
new file mode 100644
index 0000000..f0f6bc5
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_02.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_03.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_03.png
new file mode 100644
index 0000000..7c605ed
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_03.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_04.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_04.png
new file mode 100644
index 0000000..fe8091e
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_04.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_05.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_05.png
new file mode 100644
index 0000000..cc9d224
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_05.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_06.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_06.png
new file mode 100644
index 0000000..b363c17
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_06.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_07.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_07.png
new file mode 100644
index 0000000..82bc717
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_07.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_08.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_08.png
new file mode 100644
index 0000000..f306f5e
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_08.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_09.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_09.png
new file mode 100644
index 0000000..163003c
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_09.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_10.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_10.png
new file mode 100644
index 0000000..ac03727
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_10.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_11.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_11.png
new file mode 100644
index 0000000..7c526a0
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_11.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_12.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_12.png
new file mode 100644
index 0000000..8a7ec06
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_12.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_13.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_13.png
new file mode 100644
index 0000000..ca67e25
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_13.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_14.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_14.png
new file mode 100644
index 0000000..3edc987
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_14.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_15.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_15.png
new file mode 100644
index 0000000..92a3238
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_15.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_16.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_16.png
new file mode 100644
index 0000000..cd931dd
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_16.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_17.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_17.png
new file mode 100644
index 0000000..cbae41c
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_17.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_18.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_18.png
new file mode 100644
index 0000000..9129687
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_18.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_19.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_19.png
new file mode 100644
index 0000000..ddadc08
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_19.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_20.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_20.png
new file mode 100644
index 0000000..4ca4458
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_20.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_21.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_21.png
new file mode 100644
index 0000000..f69746f
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_21.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_22.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_22.png
new file mode 100644
index 0000000..d762fb4
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_22.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_23.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_23.png
new file mode 100644
index 0000000..903bc64
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_23.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_24.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_24.png
new file mode 100644
index 0000000..e260170
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_24.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_25.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_25.png
new file mode 100644
index 0000000..b8a6a30
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_25.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_26.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_26.png
new file mode 100644
index 0000000..4cca698
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_26.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_27.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_27.png
new file mode 100644
index 0000000..befeddd
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_27.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_28.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_28.png
new file mode 100644
index 0000000..f3deaaf
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_28.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_29.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_29.png
new file mode 100644
index 0000000..5e471df
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_29.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_30.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_30.png
new file mode 100644
index 0000000..91294db
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2/JHotDraw_2_30.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_01.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_01.png
new file mode 100644
index 0000000..bc39336
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_01.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_02.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_02.png
new file mode 100644
index 0000000..6f69e01
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_02.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_03.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_03.png
new file mode 100644
index 0000000..bf71a2c
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_03.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_04.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_04.png
new file mode 100644
index 0000000..5b6fe33
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_04.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_05.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_05.png
new file mode 100644
index 0000000..52d0f62
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_05.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_06.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_06.png
new file mode 100644
index 0000000..fdd444f
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_06.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_07.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_07.png
new file mode 100644
index 0000000..9f65eea
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_07.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_08.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_08.png
new file mode 100644
index 0000000..b2ce094
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_08.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_09.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_09.png
new file mode 100644
index 0000000..53bd81a
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_09.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_10.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_10.png
new file mode 100644
index 0000000..a7dd9ec
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_10.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_11.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_11.png
new file mode 100644
index 0000000..f96cd44
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_11.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_12.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_12.png
new file mode 100644
index 0000000..7fbcbba
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_12.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_13.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_13.png
new file mode 100644
index 0000000..8f2635a
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_13.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_14.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_14.png
new file mode 100644
index 0000000..35eaf31
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_14.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_15.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_15.png
new file mode 100644
index 0000000..1b5497e
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_15.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_16.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_16.png
new file mode 100644
index 0000000..ac9ea8c
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_16.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_17.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_17.png
new file mode 100644
index 0000000..04d0c32
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_17.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_18.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_18.png
new file mode 100644
index 0000000..554455f
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_18.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_19.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_19.png
new file mode 100644
index 0000000..33ae836
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_19.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_20.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_20.png
new file mode 100644
index 0000000..fde128a
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_20.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_21.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_21.png
new file mode 100644
index 0000000..8ac55f4
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_21.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_22.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_22.png
new file mode 100644
index 0000000..0761e19
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_22.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_23.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_23.png
new file mode 100644
index 0000000..d3f6ce0
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_23.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_24.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_24.png
new file mode 100644
index 0000000..370958a
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_24.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_25.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_25.png
new file mode 100644
index 0000000..00f65bb
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_25.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_26.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_26.png
new file mode 100644
index 0000000..60d8737
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_26.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_27.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_27.png
new file mode 100644
index 0000000..9bdb496
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_27.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_28.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_28.png
new file mode 100644
index 0000000..287d161
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_28.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_29.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_29.png
new file mode 100644
index 0000000..9861c7a
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_29.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_30.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_30.png
new file mode 100644
index 0000000..b61c008
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_30.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_31.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_31.png
new file mode 100644
index 0000000..1f15275
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_31.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_32.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_32.png
new file mode 100644
index 0000000..a92ee23
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_32.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_33.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_33.png
new file mode 100644
index 0000000..dbe3e6e
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_33.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_34.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_34.png
new file mode 100644
index 0000000..9cbc92a
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_34.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_35.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_35.png
new file mode 100644
index 0000000..6a2bcbd
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_35.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_36.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_36.png
new file mode 100644
index 0000000..5f5cad7
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_36.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_37.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_37.png
new file mode 100644
index 0000000..3ddc96a
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_37.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_38.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_38.png
new file mode 100644
index 0000000..bd93206
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_38.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_39.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_39.png
new file mode 100644
index 0000000..ea742cc
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta/JHotDraw_2_delta_39.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_01.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_01.png
new file mode 100644
index 0000000..67a83cf
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_01.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_02.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_02.png
new file mode 100644
index 0000000..3ca43d9
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_02.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_03.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_03.png
new file mode 100644
index 0000000..7fc1b30
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_03.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_04.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_04.png
new file mode 100644
index 0000000..5a98bde
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_04.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_01.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_01.png
new file mode 100644
index 0000000..63c2657
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_01.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_02.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_02.png
new file mode 100644
index 0000000..54f2c74
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_02.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_03.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_03.png
new file mode 100644
index 0000000..5a5753c
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_03.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_04.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_04.png
new file mode 100644
index 0000000..0330f1e
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_04.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_05.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_05.png
new file mode 100644
index 0000000..d74f885
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_05.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_06.png b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_06.png
new file mode 100644
index 0000000..fc58b0b
--- /dev/null
+++ b/courseA/JHotDraw_Reverse/problem2/images/images_problem2_pre/JHotDraw_2_pre_06.png
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_01.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_01.png
deleted file mode 100644
index 18d573b..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_01.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_02.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_02.png
deleted file mode 100644
index f0f6bc5..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_02.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_03.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_03.png
deleted file mode 100644
index 7c605ed..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_03.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_04.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_04.png
deleted file mode 100644
index fe8091e..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_04.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_05.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_05.png
deleted file mode 100644
index cc9d224..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_05.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_06.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_06.png
deleted file mode 100644
index b363c17..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_06.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_07.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_07.png
deleted file mode 100644
index 82bc717..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_07.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_08.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_08.png
deleted file mode 100644
index f306f5e..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_08.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_09.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_09.png
deleted file mode 100644
index 163003c..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_09.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_10.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_10.png
deleted file mode 100644
index ac03727..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_10.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_11.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_11.png
deleted file mode 100644
index 7c526a0..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_11.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_12.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_12.png
deleted file mode 100644
index 8a7ec06..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_12.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_13.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_13.png
deleted file mode 100644
index ca67e25..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_13.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_14.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_14.png
deleted file mode 100644
index 3edc987..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_14.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_15.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_15.png
deleted file mode 100644
index 92a3238..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_15.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_16.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_16.png
deleted file mode 100644
index cd931dd..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_16.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_17.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_17.png
deleted file mode 100644
index cbae41c..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_17.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_18.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_18.png
deleted file mode 100644
index 9129687..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_18.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_19.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_19.png
deleted file mode 100644
index ddadc08..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_19.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_20.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_20.png
deleted file mode 100644
index 4ca4458..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_20.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_21.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_21.png
deleted file mode 100644
index f69746f..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_21.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_22.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_22.png
deleted file mode 100644
index d762fb4..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_22.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_23.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_23.png
deleted file mode 100644
index 903bc64..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_23.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_24.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_24.png
deleted file mode 100644
index e260170..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_24.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_25.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_25.png
deleted file mode 100644
index b8a6a30..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_25.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_26.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_26.png
deleted file mode 100644
index 4cca698..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_26.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_27.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_27.png
deleted file mode 100644
index befeddd..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_27.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_28.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_28.png
deleted file mode 100644
index f3deaaf..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_28.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_29.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_29.png
deleted file mode 100644
index 5e471df..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_29.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_30.png b/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_30.png
deleted file mode 100644
index 91294db..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2/JHotDraw_2_30.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_01.png b/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_01.png
deleted file mode 100644
index c72d5f2..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_01.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_02.png b/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_02.png
deleted file mode 100644
index b0a7569..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_02.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_03.png b/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_03.png
deleted file mode 100644
index c0c31e2..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_03.png
+++ /dev/null
Binary files differ
diff --git a/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_04.png b/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_04.png
deleted file mode 100644
index d3f6d5e..0000000
--- a/courseA/JHotDraw_Reverse/problem2/images_problem2_pre/JHotDraw_2_pre_04.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/ArgoUML1_Reverse.html b/courseB/ArgoUML_Reverse/problem1/ArgoUML1_Reverse.html
index d0f561a..60d5949 100644
--- a/courseB/ArgoUML_Reverse/problem1/ArgoUML1_Reverse.html
+++ b/courseB/ArgoUML_Reverse/problem1/ArgoUML1_Reverse.html
@@ -1,14 +1,14 @@
- 課題B1 (ArgoUML)
+ 課題B3 (アーキテクチャ理解)
- 課題B1
+ 課題B3 (アーキテクチャ理解)
- 課題B1では, ArgoUMLの図形の削除機能について見ていきます.
+ 課題B3では, ArgoUMLの図形の削除機能について見ていきます.
ArgoUMLはオープンソースのUMLモデリングツールで, Javaで書かれております.
また, ArgoUML内部では, グラフ編集用フレームワークであるGEFが使用されています.
ワークスペース内のargouml-*が、ArgoUMLを構成するプロジェクトであり, GEF-0.13.7がGEFのプロジェクトです.
@@ -20,43 +20,43 @@
-
デスクトップのEclipseを起動し, 指定されたワークスペースを開いてください.
-
+
-
ワークスペース中にあるGEF-0.13.7プロジェクトを選択し, メニューバーの Search → Java で Fig という型の宣言を検索してください.
-
-
+
+
-
Figクラスのソースファイルを開いて743行目 (Fig#removeFromDiagram()) にブレークポイントを入れてください.
-
+
-
メニューバーの Window → Perspective → Open Perspective → Other... → トレースデバッガ(逆方向) でトレースデバッガのパースペクティブを開いてください.
-
-
+
+
-
開いたトレースデバッガのパースペクティブ右上のブレークポイントビュー上にあるフォルダアイコン(左から1番目)を
- クリックしてトレースファイル(ArgoUMLBenchMarkWithMoreStandardClasses.trace)を開いてください.
-
-
+ クリックしてトレースファイル (ArgoUMLBenchMarkWithMoreStandardClasses.trace) を開いてください.
+
+
-
トレースファイルの読み込みが終わるまで待ってから, ブレークポイントビュー上にある「ブレークポイントをEclipseから取り入れる」アイコン(左から2番目)を
クリックしてトレースデバッガ用のブレークポイントを作成してください.
-
+
-
ブレークポイントビュー上にあるデバッグアイコン(左から3番目)をクリックしてください.
トレースデバッガによるデバッグ実行が起動し, ブレークポイントを入れた位置の行が選択された状態で一時停止します.
-
+
- 課題B1
+ アーキテクチャ理解
Fig クラスはグラフィックエディタ上の図形を表すGEFの内部のクラスです.
また, FigClass クラスはクラス図上に配置された「クラス」を表す ArgoUML のクラスで, Fig クラスの子孫クラスにあたります.
@@ -70,56 +70,56 @@
ここで, 変数ビューを確認すると, このメソッド実行は FigClass クラスのインスタンス (id = 1675174935) に対する呼び出しだとわかります.
この FigClass クラスのインスタンス (id = 1675174935) がどこから来たのかを確認していきます.
まずは呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である FigNode クラスの removeFromDiagram() メソッドを見ています.
ここで, 変数ビューを見ると, このメソッドも同一の FigClass クラスのインスタンス (id = 1675174935) に対して呼び出されていることがわかります.
これを確認したら, 呼び出しスタック上でさらに1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である FigNodeModelElement クラスの removeFromDiagramImpl() メソッドを見ています.
ここで, 変数ビューを見ると, このメソッドも先ほどと同様に FigClass クラスのインスタンス (id = 1675174935) によって呼び出されていることがわかります.
これを確認したら, 呼び出しスタック上でさらに1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である FigNodeModelElement クラスの removeFromDiagram() メソッドを見ています.
ここで, ソースコードを見ると, ローカル変数 delegate が参照しているインスタンスに対して removeFromDiagramImpl() メソッドが呼び出されていることがわかります.
-
+
このローカル変数 delegate で参照されるインスタンスはどこから来たのかを確認します.
ソースコードを見ると, 1965行目に delegate への代入文があることがわかるので,
ステップバックオーバーを1回押して, その代入文の実行直前の時点まで戻ってください.
1965行目の delegate への代入文の時点まで戻ったら, ステップインを1回押して getRemoveDelegate() メソッドの中に前から入ってください.
-
+
FigNodeModelElement クラスの getRemoveDelegate() メソッドに入りました.
ここで, ソースコードを見ると, このメソッドでは return this で自分自身を戻り値として返していることが確認できます.
これを確認したら, ステップバックリターンを1回押して呼び出し元へと戻ってください.
-
+
呼び出し元に戻ると, 先ほどの return this の値が delegate に代入されていることがわかります.
ここで, 再びステップバックリターンを1回押してさらに呼び出し元に戻ってください.
-
+
呼び出し元である ActionRemoveFromDiagram クラスの actionPerformed() メソッドの89行目に戻ってきました.
ここで, 「トレースデバッガ」パースペクティブの右下にある「実行時点の登録」ビューの追加ボタンをクリックしてください.
そうすると, 現在の実行時点がこのビュー上に登録されます.
-
+
89行目では, FigClass クラスのインスタンス (id = 1675174935) のメソッドを呼び出していることがわかります.
この FigClass クラスのインスタンスがどこから来たのかを確認するために, ステップバックオーバーを3回押して, 86行目の拡張for文まで戻ってください.
- ここで FigClass クラスのインスタンスは Figクラスを保持するリストであるローカル変数 figs から拡張for文で取得されてきたことがわかります.
- ここからは, FigClass クラスのインスタンスを保持していた figs がどこから来たのかと, figs にそのインスタンスがどこで追加されたのかを見ていきます.
+ ここで FigClass クラスのインスタンスは Figクラスを参照するリストであるローカル変数 figs から拡張for文で取得されてきたことがわかります.
+ ここからは, FigClass クラスのインスタンスを参照していた figs がどこから来たのかと, figs にそのインスタンスがどこで追加されたのかを見ていきます.
まずは, ステップバックインを3回押して, 85行目の getFigs() メソッドの中に後ろから入ってください.
-
+
SelectionManager クラスの getFigs() メソッドに後ろから入りました.
@@ -129,43 +129,43 @@
また, この時点で「実行時点の登録」ビューの追加ボタンをクリックして実行時点の登録を行ってください.
Vector クラスの addElement(Object) メソッドの引数には Selection クラスの getContent() メソッドの戻り値が渡されています.
getContent() メソッドの戻り値を確認するために, ステップバックインを1回押して, このメソッドの中に後ろから入ってください.
-
-
+
+
Selection クラスの getContent() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, Selection クラスの子孫クラスである SelectionClass クラスのインスタンスが
- フィールド content として FigClass クラスのインスタンス (id = 1675174935) を保持していることがわかります.
-
+ フィールド content として FigClass クラスのインスタンス (id = 1675174935) を参照していることがわかります.
+
- 先ほどの結果から, FigClass クラスのインスタンス (id = 1675174935) は SelectionClass クラスのインスタンス (id = 1672744985) が保持していることがわかりました.
+ 先ほどの結果から, FigClass クラスのインスタンス (id = 1675174935) は SelectionClass クラスのインスタンス (id = 1672744985) が参照していることがわかりました.
次は, この SelectionClass クラスのインスタンスがどこから来たのかを見ていきます.
呼び出しスタック上で呼び出し元である SelectionManger クラスの getFigs() メソッドをクリックしてください.
ここで, ソースコードを見ると, SelectionClass クラスのインスタンスは selections から取得していることが確認でき,
- それは SelectionManager クラスのインスタンス (id = 4310438) がフィールドとして保持していることがわかります.
-
+ それは SelectionManager クラスのインスタンス (id = 4310438) がフィールドとして参照していることがわかります.
+
先ほどの結果から, SelectionClass クラスのインスタンス (id = 1672744985) は
- SelectionManager クラスのインスタンス (id = 4310438) が保持していることがわかりました.
+ SelectionManager クラスのインスタンス (id = 4310438) が参照していることがわかりました.
次は, この SelectionManager クラスのインスタンスがどこから来たのかを見ていきます.
呼び出しスタック上でさらに呼び出し元である ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドをクリックしてください.
ここでは, ステップバックインを1回押して Editor クラスの getSelectionManager() メソッドの中に後ろから入ってください.
-
+
Editor クラスの getSelectionManager() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, この Editor クラスがフィールド _selectionManager として
- SelectionManager クラスのインスタンス (id = 4310438) を保持していることがわかります.
-
+ SelectionManager クラスのインスタンス (id = 4310438) を参照していることがわかります.
+
先ほどの結果から, SelectionManager クラスのインスタンス (id = 431048) は
- Editor クラスのインスタンス (id = 371019845) が保持していることがわかりました.
+ Editor クラスのインスタンス (id = 371019845) が参照していることがわかりました.
次は, この Editor クラスのインスタンスがどこから来たのかを見ていきます.
呼び出しスタック上で呼び出し元をクリックしてください.
-
+
現在は, ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドの85行目を見ています.
@@ -174,19 +174,19 @@
ステップバックオーバーを2回押して83行目まで戻ってください.
83行目ではローカル変数 ce に Globals クラスの curEditor() メソッドの戻り値が代入されています.
ステップインを1回押してこのメソッドの中に前から入ってください.
-
+
Globals クラスの curEditor() メソッドに入りました.
ここで, ソースコードを見ると, Globalsクラスが static フィールド _curEditor として
- Editor クラスのインスタンス (id = 371019845) を保持していることがわかります.
-
+ Editor クラスのインスタンス (id = 371019845) を参照していることがわかります.
+
先ほどの結果から, Editor クラスのインスタンス (id = 371019845) は Globals クラスの static フィールド _curEditor から取得していることがわかりました.
呼び出しスタック上で呼び出し元をクリックしてください.
- ここで, 課題B1は終了です. 時間計測を終了してください.
-
+ ここで, 課題B3は終了です. 時間計測を終了してください.
+
diff --git a/courseB/ArgoUML_Reverse/problem1/ArgoUML1_Reverse_Delta.html b/courseB/ArgoUML_Reverse/problem1/ArgoUML1_Reverse_Delta.html
new file mode 100644
index 0000000..1e4085b
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/ArgoUML1_Reverse_Delta.html
@@ -0,0 +1,102 @@
+
+
+
+ 課題B3 (接近過程抽出)
+
+
+
+
+ 課題B3 (接近過程抽出)
+
+
+ 接近過程抽出
+
+ Fig クラスはグラフィックエディタ上の図形を表すGEFの内部のクラスです.
+ また, FigClass クラスはクラス図上に配置された「クラス」を表す ArgoUML のクラスで, Fig クラスの子孫クラスにあたります.
+
+
+
+
+ 課題B3終了直後は下図のような状態になっているはずです.
+ まずは, ActionRemoveFromDiagram クラスのインスタンスに FigClass クラスのインスタンス (id = 1675174935) が接近する過程を抽出して見ていきます.
+ ここで, 「実行時点の登録」ビュー上で登録している「89行目 ActionRemoveFromDiagram.actionPerformed(ActionEvent)」をダブルクリックしてください.
+ すると, 現在の実行時点が ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドの89行目に移ります.
+
+
+
+
+ 先ほどの操作によって, 現在は ActionRemoveFromDiagram クラスの actionPerformed(ActionEvent) メソッドの89行目にいます.
+ ここで, 変数ビュー上の「呼び出し前」を開いて, レシーバを右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので,「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照先側001」から「参照先側018」までを順番にクリックしていってください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしていってください.
+
+
+
+ ここまでで, ActionRemoveFromDiagram クラスのインスタンスに FigClass クラスのインスタンス (id = 1675174935) が接近する過程を見てきました.
+ 抽出した結果を見ると, SelectionManager クラスのインスタンス (id = 4310438) のローカル変数 figs が参照している Vector に追加されていた FigClass クラスのインスタンスを
+ 取得してきていることがわかりましたが, その FigClass クラスのインスタンスがどうやって追加されたのかについては, この抽出範囲だけではわかりません.
+ そこで, ここからは, そのローカル変数 figs に FigClass クラスのインスタンス (id = 1675174935) が追加されるまでの過程を見ていきます.
+ まずは, 「オブジェクトの接近過程抽出」ビュー上の「参照先側012」をクリックしてください.
+
+
+
+ 先ほどの操作によって, 現在は SelectionManager クラスの getFigs() メソッドの360行目にいます.
+ ここで, まずはステップオーバーを2回押して363行目にまで進んでください.
+ 363行目にまで進んだら, 次はステップネクストを4回押してください.
+
+
+
+
+ ここで, 変数ビュー上の「呼び出し前」を開いて, 引数を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照先側001」から「参照先側009」までを順番にクリックしていってください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照元側001」から「参照元側002」までを順番にクリックしていってください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしていってください.
+
+
+
+ ここまでで, SelectionManager クラスのインスタンス (id = 4310438) のローカル変数 figs が参照している Vector に
+ FigClass クラスのインスタンス (id = 1675174935) が追加されるまでの過程を見てきました.
+ ここで, 課題B3の接近過程抽出は終了です.
+ 「オブジェクトの接近過程」ビューを全て閉じてください.
+ なお, デバッグ実行は終了せずにそのままの状態にしておいてください.
+
+
+
+
+
\ No newline at end of file
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_01.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_01.png
new file mode 100644
index 0000000..45ef735
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_01.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_02.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_02.png
new file mode 100644
index 0000000..48b625d
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_02.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_03.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_03.png
new file mode 100644
index 0000000..6e1c943
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_03.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_04.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_04.png
new file mode 100644
index 0000000..439d680
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_04.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_05.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_05.png
new file mode 100644
index 0000000..3ea19f0
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_05.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_06.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_06.png
new file mode 100644
index 0000000..de676fb
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_06.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_07.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_07.png
new file mode 100644
index 0000000..e78a994
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_07.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_08.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_08.png
new file mode 100644
index 0000000..cae32d7
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_08.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_09.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_09.png
new file mode 100644
index 0000000..c6f6713
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_09.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_10.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_10.png
new file mode 100644
index 0000000..22915db
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_10.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_11.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_11.png
new file mode 100644
index 0000000..a52e13f
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_11.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_12.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_12.png
new file mode 100644
index 0000000..407a7de
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_12.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_13.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_13.png
new file mode 100644
index 0000000..a9f4530
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_13.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_14.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_14.png
new file mode 100644
index 0000000..ee9fbac
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_14.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_15.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_15.png
new file mode 100644
index 0000000..8b7859f
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_15.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_16.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_16.png
new file mode 100644
index 0000000..fe88de9
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_16.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_17.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_17.png
new file mode 100644
index 0000000..88304fc
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_17.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_18.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_18.png
new file mode 100644
index 0000000..a101566
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_18.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_19.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_19.png
new file mode 100644
index 0000000..ae1a767
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1/ArgoUML_1_19.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_01.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_01.png
new file mode 100644
index 0000000..ddcf745
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_01.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_02.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_02.png
new file mode 100644
index 0000000..faab80b
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_02.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_03.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_03.png
new file mode 100644
index 0000000..6bf48cb
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_03.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_04.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_04.png
new file mode 100644
index 0000000..1e1be4e
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_04.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_05.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_05.png
new file mode 100644
index 0000000..7c3428d
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_05.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_06.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_06.png
new file mode 100644
index 0000000..b1c9c72
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_06.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_07.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_07.png
new file mode 100644
index 0000000..42d5669
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_07.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_08.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_08.png
new file mode 100644
index 0000000..2308733
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_08.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_09.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_09.png
new file mode 100644
index 0000000..606eb47
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_09.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_10.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_10.png
new file mode 100644
index 0000000..962ca3c
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_10.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_11.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_11.png
new file mode 100644
index 0000000..6eb0120
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_11.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_12.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_12.png
new file mode 100644
index 0000000..ea9827f
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_12.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_13.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_13.png
new file mode 100644
index 0000000..0af7a15
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_13.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_14.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_14.png
new file mode 100644
index 0000000..6807f68
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_14.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_15.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_15.png
new file mode 100644
index 0000000..486a526
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_15.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_16.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_16.png
new file mode 100644
index 0000000..3afd797
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_16.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_17.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_17.png
new file mode 100644
index 0000000..4cb6e86
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_17.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_18.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_18.png
new file mode 100644
index 0000000..39fa743
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_18.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_19.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_19.png
new file mode 100644
index 0000000..dc9f594
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_19.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_20.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_20.png
new file mode 100644
index 0000000..a600f19
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_20.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_21.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_21.png
new file mode 100644
index 0000000..8a470bf
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_21.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_22.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_22.png
new file mode 100644
index 0000000..4757d4f
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_22.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_22_2.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_22_2.png
new file mode 100644
index 0000000..c3b44e3
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_22_2.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_23.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_23.png
new file mode 100644
index 0000000..abe2fdc
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_23.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_23_2.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_23_2.png
new file mode 100644
index 0000000..acbb61c
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta/ArgoUML_1_delta_23_2.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_01.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_01.png
new file mode 100644
index 0000000..e0370c5
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_01.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_02.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_02.png
new file mode 100644
index 0000000..734af5a
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_02.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_03.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_03.png
new file mode 100644
index 0000000..135d878
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_03.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_04.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_04.png
new file mode 100644
index 0000000..8a7cc19
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_delta_pre/ArgoUML_1_delta_pre_04.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_00_1.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_00_1.png
new file mode 100644
index 0000000..ae7daa7
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_00_1.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_01.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_01.png
new file mode 100644
index 0000000..ea96483
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_01.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_02.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_02.png
new file mode 100644
index 0000000..6ea5526
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_02.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_03.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_03.png
new file mode 100644
index 0000000..f8441e7
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_03.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_04.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_04.png
new file mode 100644
index 0000000..a139768
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_04.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_05.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_05.png
new file mode 100644
index 0000000..8dab940
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_05.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_06.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_06.png
new file mode 100644
index 0000000..3aeee97
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_06.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_07.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_07.png
new file mode 100644
index 0000000..624d3e3
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_07.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_08.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_08.png
new file mode 100644
index 0000000..9739e30
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_08.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_09.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_09.png
new file mode 100644
index 0000000..453cbc2
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_09.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_10.png b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_10.png
new file mode 100644
index 0000000..c8a142d
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem1/images/images_problem1_pre/ArgoUML_1_pre_10.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_01.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_01.png
deleted file mode 100644
index 45ef735..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_01.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_02.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_02.png
deleted file mode 100644
index 48b625d..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_02.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_03.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_03.png
deleted file mode 100644
index 6e1c943..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_03.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_04.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_04.png
deleted file mode 100644
index 439d680..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_04.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_05.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_05.png
deleted file mode 100644
index 3ea19f0..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_05.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_06.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_06.png
deleted file mode 100644
index de676fb..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_06.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_07.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_07.png
deleted file mode 100644
index e78a994..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_07.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_08.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_08.png
deleted file mode 100644
index cae32d7..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_08.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_09.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_09.png
deleted file mode 100644
index c6f6713..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_09.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_10.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_10.png
deleted file mode 100644
index 22915db..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_10.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_11.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_11.png
deleted file mode 100644
index a52e13f..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_11.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_12.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_12.png
deleted file mode 100644
index 407a7de..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_12.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_13.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_13.png
deleted file mode 100644
index a9f4530..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_13.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_14.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_14.png
deleted file mode 100644
index ee9fbac..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_14.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_15.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_15.png
deleted file mode 100644
index 8b7859f..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_15.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_16.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_16.png
deleted file mode 100644
index fe88de9..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_16.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_17.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_17.png
deleted file mode 100644
index 88304fc..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_17.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_18.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_18.png
deleted file mode 100644
index a101566..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_18.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_19.png b/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_19.png
deleted file mode 100644
index ae1a767..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1/ArgoUML_1_19.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_01.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_01.png
deleted file mode 100644
index ea96483..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_01.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_02.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_02.png
deleted file mode 100644
index 6ea5526..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_02.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_03.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_03.png
deleted file mode 100644
index f8441e7..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_03.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_04.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_04.png
deleted file mode 100644
index a139768..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_04.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_05.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_05.png
deleted file mode 100644
index 8dab940..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_05.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_06.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_06.png
deleted file mode 100644
index 3aeee97..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_06.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_07.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_07.png
deleted file mode 100644
index 624d3e3..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_07.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_08.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_08.png
deleted file mode 100644
index 9739e30..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_08.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_09.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_09.png
deleted file mode 100644
index 453cbc2..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_09.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_10.png b/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_10.png
deleted file mode 100644
index c8a142d..0000000
--- a/courseB/ArgoUML_Reverse/problem1/images_problem1_pre/ArgoUML_1_pre_10.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/ArgoUML2_Reverse.html b/courseB/ArgoUML_Reverse/problem2/ArgoUML2_Reverse.html
index 45e4866..22704e8 100644
--- a/courseB/ArgoUML_Reverse/problem2/ArgoUML2_Reverse.html
+++ b/courseB/ArgoUML_Reverse/problem2/ArgoUML2_Reverse.html
@@ -1,14 +1,14 @@
- 課題B2 (ArgoUML)
+ 課題B4 (アーキテクチャ理解)
- 課題B2
+ 課題B4 (アーキテクチャ理解)
- 課題B2では, ArgoUMLの図形の選択機能について見ていきます.
+ 課題B4では, ArgoUMLの図形の選択機能について見ていきます.
ArgoUMLはオープンソースのUMLモデリングツールで, Javaで書かれております.
また, ArgoUML内部では, グラフ編集用フレームワークであるGEFが使用されています.
ワークスペース内のargouml-*が、ArgoUMLを構成するプロジェクトであり, GEF-0.13.7がGEFのプロジェクトです。
@@ -18,77 +18,69 @@
前準備
- 課題1(削除機能)が終了した直後は下図のような状態になっているはずです.
-
+ 課題B3が終了した直後は下図のような状態になっているはずです.
+
- まずは, 課題1の途中で「実行時点の登録」ビューに登録しておいた SelectionManager.getFigs() 363行目 の実行時点をダブルクリックしてください.
- ダブルクリックすることで, 現在の実行時点が登録した実行時点へと移ります.
-
-
-
- SelectionManager クラスの getFigs() メソッドの 363行目に現在の実行時点が移りました.
ここで, ステップバックオーバーを1回押してから, ステップオーバーを1回押してください.
すると, 下図のように363行目に入った直後の状態になるので, そこから続けてステップネクストを3回押してください.
-
+
ステップネクストを3回実行すると, selections の get() メソッドの呼び出し直後に実行時点が変わっているはずです.
ここで, 変数ビュー上にある「呼び出し後」を開き, 戻り値を右クリックしてください.
右クリックするとポップアップメニューが現れるので, 「オブジェクトの追加時点に飛ぶ」を選択してください.
-
+
「オブジェクトの追加時点に飛ぶ」を選択すると, selections に この SelectionClass クラスが追加された時点である
SelectionManager クラスの addFig(Fig) メソッドの130行目にまで現在の実行時点が遡ります.
下図の状態になっていれば前準備は終了です.
-
+
-
- 課題B2
+ アーキテクチャ理解
Fig クラスはグラフィックエディタ上の図形を表すGEFの内部のクラスです.
また, FigClass クラスはクラス図上に配置された「クラス」を表す ArgoUML のクラスで, Fig クラスの子孫クラスにあたります.
現在の実行時点の行は、図形を選択するたびに実行されます.
-
先ほどの前準備にしたがって進めていくと, 下図のように SelectionManager クラスの addFig(Fig) メソッド内の130行目で一時停止している状態になっているはずです.
この状態になっていれば, ここから時間計測を開始してください.
まずは,「実行時点の登録」ビューの追加ボタンをクリックして実行時点の登録を行ってください.
-
+
- ここで, ソースコードと変数ビューを見ると, SelectionManager クラスのインスタンス (id = 4310438) が保持するフィールド selections へは
+ ここで, ソースコードと変数ビューを見ると, SelectionManager クラスのインスタンス (id = 4310438) が参照するフィールド selections へは
makeSelectionFor(Fig) メソッドの戻り値である SelectionClass クラスのインスタンス (id = 1672744985) が追加されていることがわかります.
- 課題B2では, このオブジェクトの追加に関わっている SelectionManager クラスのインスタンスと SelectionClass クラスのインスタンスについて見ていきます.
+ 課題B4では, このオブジェクトの追加に関わっている SelectionManager クラスのインスタンスと SelectionClass クラスのインスタンスについて見ていきます.
まずは, SelectioClass クラスのインスタンスの方がどこから来たのかを見ていくために,
ステップバックインを1回押して SelectionManager クラスの makeSelectionFor(Fig) メソッドの中に後ろから入ってください.
-
+
SelectionManager クラスの makeSelectionFor(Fig) メソッドの1131行目に入ってきました.
ソースコードを見ると, return customSelection でローカル変数 customSelection が参照する値が返されていることがわかります.
-
+
この値がどこから来ているのかを見るために, ステップバックオーバーを1回押して1129行目に戻ってください.
1129行目では 仮引数 f で参照されているインスタンスに対して makeSelection() メソッドが呼び出され,
その戻り値がローカル変数 customSelection に代入されていることが確認できます.
ここで, ステップインを1回押してこのメソッドの中に前から入ってください.
-
+
FigClass クラスの makeSelection() メソッドに入りました.
ここでは new SelectionClass(this) で 自分自身を引数に渡して SelectionClass クラスが生成されており,
- 生成された SelectionClass クラスのインスタンスは 引数で渡された FigClass クラスのインスタンス (id = 1675174935) を保持していることがわかります.
+ 生成された SelectionClass クラスのインスタンスは 引数で渡された FigClass クラスのインスタンス (id = 1675174935) を参照していることがわかります.
これを確認したら, 呼び出しスタック上で2つ呼び出し元である SelectionManager クラスの addFig(Fig) メソッドをクリックしてください.
-
+
現在は SelectionManager クラスの addFig(Fig) メソッドの130行目を見ています.
@@ -96,124 +88,124 @@
FigClass クラスのインスタンス (id = 1675174935) が渡されていることが確認できます.
ここからは, この FigClass クラスのインスタンス (id = 1675174935) がどこから来たのかを見ていきます.
呼び出しスタック上で1つ呼び出し元である SelectionManager クラスの select(Fig) メソッドをクリックしてください.
-
+
現在は 呼び出し元である SelectionManager クラスの select(Fig) メソッドの180行目を見ています.
ここで, ソースコードを見ると, 呼び出し先の addFig(Fig) メソッドには 仮引数 f の値が実引数として渡されていることが確認できます.
これを確認したら, 呼び出しスタック上でさらに1つ呼び出し元である ModeSelect クラスの mousePressed(MouseEvent) メソッドをクリックしてください.
-
+
呼び出し元である ModeSelect クラスの mousePressed(MouseEvent) メソッドの187行に戻ってきました.
ここで, ソースコードを見ると, 呼び出し先である SelectinoManager クラスの select(Fig) メソッドには
ローカル変数 underMouse の値が実引数として渡されていたことがわかります.
-
+
この underMouse の値がどこから来たのかを見るために, ステップバックオーバーを8回押して163行目まで戻ってください.
163行目では, ローカル変数 underMouse が参照するインスタンスが FigGroup にキャストされたあと,
それに対して deepSelect(Rectangle) メソッドが呼び出され, その戻り値が改めて underMouse に代入されていることがわかります.
ここで, 戻り値がどのようになっているのかを確認するために, FigGroup クラスの deepSelect(Rectangle) メソッドの中に前から入ってください.
-
+
FigGroup クラスの deepSelect(Rectangle) メソッドに入りました.
すると, deepSelect(Rectangle) メソッドの中では return this で自分自身を戻り値として返していることがわかります.
これを確認したら, ステップバックリターンを1回押して呼び出し元に戻ってください.
-
+
ModeSelect クラスの mousePressed(MouseEvent) メソッドの163行目に戻ってきました.
underMouse の値がどこから来ているのかを見るために, ステップバックオーバーを1回押して160行目に戻ってください.
160行目では Editor クラスの hit(Point) メソッドが呼び出され, その戻り値がローカル変数 underMouse に代入されていることが確認できます.
ここで, ステップインを1回押してこのメソッドの中に前から入ってください.
-
+
Editor クラスの hit(Point) メソッドに入りました.
ここでは, ステップオーバーを1回実行したあとに, ステップインを2回押して hit(Rectangle) メソッドの中に前から入ってください.
-
+
Editor クラスの hit(Rectangle) メソッドに入りました.
ここでは, ステップインを2回押して getLayerManager() メソッドの中に前から入ってください.
-
+
Editor クラスの getLayerManager() メソッドに入りました.
ここでは, return _layerManager で LayerManager クラスのインスタンスが返されていることが確認でき,
変数ビュー上の this を開くと, このEditor クラスのインスタンス (id = 371019845) がフィールド _layerManager として
- LayerManager クラスのインスタンス (id = 1975264229) を保持していることがわかります.
+ LayerManager クラスのインスタンス (id = 1975264229) を参照していることがわかります.
これを確認したら, ステップリターンで呼び出し元に戻ってください.
-
+
Editor クラスの hit(Rectangle) メソッドに戻ってきました.
次は, ステップインで LayerManager クラスの hit(Rectangle) メソッドの中に前から入ってください.
-
+
LayerManager クラスの hit(Rectangle) メソッドの中に入りました.
ここで, 変数ビューを確認すると, この LayerManager クラスのインスタンス (id = 1975264229) は,
- フィールド _activeLayer として LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) を保持していることがわかります.
+ フィールド _activeLayer として LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) を参照していることがわかります.
また, ソースコードを見ると, このフィールド _activeLayer が参照しているインスタンスに対して hit(Rectangle) メソッドが呼び出されていることが確認できます.
ここでは, ステップインを4回押してこのメソッドの中に前から入ってください.
-
+
LayerPerspectiveMutable クラスの hit(Rectangle) メソッドに入りました.
ここで, ソースコードを見ると, 231行目で LayerPerspectiveMutable クラスのインスタンスの
フィールド contents から get() メソッドで Fig クラスのインスタンスを取得していることが確認できます.
-
+
取得している値を確認するために, ステップオーバーを2回押して232行目まで進んでください.
232行目まで進んだら, 変数ビュー上の「呼び出し後」を開くと, 戻り値として FigClass クラスのインスタンス (id = 1675174935) が返されていることが確認でき,
- したがって, このインスタンスは LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) がリスト内の要素として保持していることがわかります.
-
+ したがって, このインスタンスは LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) がリスト内の要素として参照していることがわかります.
+
先ほどの結果から, FigClass クラスのインスタンス (id = 1675174935) は
- LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) が保持していることがわかりました.
+ LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) が参照していることがわかりました.
ここで, ステップオーバーを1回押して, 実行時点が return f に止まることを確認してください.
これを確認したら, 呼び出しスタック上で4つ呼び出し元である ModeSelect クラスの mousePressed(MouseEvent) メソッドをクリックしてください.
-
+
現在は, ModeSelect クラスの mousePressed(MouseEvent) メソッドを見ています.
ここで, 変数ビュー上で this を開くと, Editor クラスのインスタンス (id = 371019845) は
- ModeSelect クラスのインスタンス (id = 1807431709) が フィールド editor として保持していることがわかります.
-
+ ModeSelect クラスのインスタンス (id = 1807431709) が フィールド editor として参照していることがわかります.
+
ここまでの結果から, SelectionClass クラスのインスタンスに関わる各オブジェクトの関係について, 以下のことがわかりました.
- SelectionClass クラスのインスタンス (id = 1672744985) は Fig クラスのインスタンス (id = 1675174935) を引数に渡して生成している.
- - FigClass クラスのインスタンス (id = 1675174935) は LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) が保持している.
- - LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) は LayerManager クラスのインスタンス (id = 1975264229) が保持している.
- - LayerManager クラスのインスタンス (id = 1975264229) は Editor クラスのインスタンス (id = 371019845) が保持している.
- - Editor クラスのインスタンス (id = 371019845) は ModeSelect クラスのインスタンス (id = 1807431709) が保持している.
+ - FigClass クラスのインスタンス (id = 1675174935) は LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) が参照している.
+ - LayerPerspectiveMutable クラスのインスタンス (id = 1248750852) は LayerManager クラスのインスタンス (id = 1975264229) が参照している.
+ - LayerManager クラスのインスタンス (id = 1975264229) は Editor クラスのインスタンス (id = 371019845) が参照している.
+ - Editor クラスのインスタンス (id = 371019845) は ModeSelect クラスのインスタンス (id = 1807431709) が参照している.
- 課題B2では, オブジェクトの追加に関わっている SelectionManager クラスのインスタンスと SelectionClass クラスのインスタンスについて見ていくのでした.
+ 課題B4では, オブジェクトの追加に関わっている SelectionManager クラスのインスタンスと SelectionClass クラスのインスタンスについて見ていくのでした.
ここからは, SelectionManager クラスのインスタンスの方がどこから来たかを見ていきます.
まずは, ステップバックオーバーを1回押して156行目に戻ってください.
ソースコードを見ると, Editor クラスの getSelectionManager() メソッドの戻り値がローカル変数 sm に代入されていることがわかります.
ここで, ステップインを1回押して このメソッドの中に前から入ってください.
-
+
Editor クラスの getSelectionManager() メソッドに入りました.
ここで, 変数ビュー上の thisを開くと, Editor クラスのインスタンス (id = 371019845) が フィールド _selectionManager として
- SelectionManager クラスのインスタンス (id = 4310438) を保持していることがわかります.
-
+ SelectionManager クラスのインスタンス (id = 4310438) を参照していることがわかります.
+
先ほどの結果から, SelectionManager クラスのインスタンス (id = 4310438) は
- Editor クラスのインスタンス (id = 371019845) が保持していることがわかりました.
+ Editor クラスのインスタンス (id = 371019845) が参照していることがわかりました.
呼び出しスタック上で1つ呼び出し元である ModeSelect クラスの mousePressed(MouseEvent) メソッドをクリックしてください.
- ここで, 課題B2は終了です. 時間計測を終了してください.
-
+ ここで, 課題B4は終了です. 時間計測を終了してください.
+
diff --git a/courseB/ArgoUML_Reverse/problem2/ArgoUML2_Reverse_Delta.html b/courseB/ArgoUML_Reverse/problem2/ArgoUML2_Reverse_Delta.html
new file mode 100644
index 0000000..60a91a7
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/ArgoUML2_Reverse_Delta.html
@@ -0,0 +1,64 @@
+
+
+
+ 課題B4 (接近過程抽出)
+
+
+
+
+ 課題B4 (接近過程抽出)
+
+
+ 接近過程抽出
+
+ Fig クラスはグラフィックエディタ上の図形を表すGEFの内部のクラスです.
+ また, FigClass クラスはクラス図上に配置された「クラス」を表す ArgoUML のクラスで, Fig クラスの子孫クラスにあたります.
+
+
+
+
+ 課題B4終了直後は下図のような状態になっているはずです.
+ まずは, SelectionManager クラスのインスタンス (id = 4310438) のフィールド selections が参照している ArrayList に
+ SelectionClass クラスのインスタンス (id = 1672744985) が追加されるまでの過程を見ていきます.
+ ここで, 「実行時点の登録」ビュー上で登録している「130行目 SelectionManager.addFig(Fig)」をダブルクリックしてください.
+ すると, 現在の実行時点が SelectionManager クラスの addFig(Fig) メソッドの130行目に移ります.
+
+
+
+
+ ここで, 変数ビュー上で「呼び出し前」を開いて, 引数を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照先側001」から「参照先側040」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照元側001」から「参照元側009」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, SelectionManager クラスのインスタンス (id = 4310438) のフィールド selections が参照している ArrayList に
+ SelectionClass クラスのインスタンス (id = 1672744985) が追加されるまでの過程を見てきました.
+ ここで, 課題B4の接近過程抽出は終了です.
+ 「オブジェクトの接近過程」ビューを全て閉じ, そのあとデバッグ実行を終了してください.
+
+
+
+
+
\ No newline at end of file
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_01.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_01.png
new file mode 100644
index 0000000..0e67ef0
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_01.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_02.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_02.png
new file mode 100644
index 0000000..31ccb5f
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_02.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_03.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_03.png
new file mode 100644
index 0000000..b08b058
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_03.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_04.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_04.png
new file mode 100644
index 0000000..e10413a
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_04.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_05.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_05.png
new file mode 100644
index 0000000..e215abc
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_05.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_06.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_06.png
new file mode 100644
index 0000000..04f6bf7
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_06.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_07.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_07.png
new file mode 100644
index 0000000..18a2e47
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_07.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_08.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_08.png
new file mode 100644
index 0000000..be7472e
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_08.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_09.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_09.png
new file mode 100644
index 0000000..3763d65
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_09.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_10.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_10.png
new file mode 100644
index 0000000..393e242
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_10.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_11.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_11.png
new file mode 100644
index 0000000..0f6c07a
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_11.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_12.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_12.png
new file mode 100644
index 0000000..83f7d7d
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_12.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_13.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_13.png
new file mode 100644
index 0000000..d2acaa5
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_13.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_14.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_14.png
new file mode 100644
index 0000000..bb879cf
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_14.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_15.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_15.png
new file mode 100644
index 0000000..ffd7c92
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_15.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_16.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_16.png
new file mode 100644
index 0000000..97c99e8
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_16.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_17.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_17.png
new file mode 100644
index 0000000..fb009b2
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_17.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_18.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_18.png
new file mode 100644
index 0000000..56dea89
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_18.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_19.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_19.png
new file mode 100644
index 0000000..409fb86
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_19.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_20.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_20.png
new file mode 100644
index 0000000..f7049d8
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_20.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_21.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_21.png
new file mode 100644
index 0000000..a9f3495
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_21.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_22.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_22.png
new file mode 100644
index 0000000..05391cd
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_22.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_23.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_23.png
new file mode 100644
index 0000000..c346b64
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2/ArgoUML_2_23.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_01.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_01.png
new file mode 100644
index 0000000..e0ad5ad
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_01.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_02.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_02.png
new file mode 100644
index 0000000..93403d7
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_02.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_03.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_03.png
new file mode 100644
index 0000000..718f948
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_03.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_04.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_04.png
new file mode 100644
index 0000000..c92a466
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_04.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_05.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_05.png
new file mode 100644
index 0000000..a9ba472
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_05.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_06.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_06.png
new file mode 100644
index 0000000..e9c2ef9
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_06.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_07.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_07.png
new file mode 100644
index 0000000..4bd1836
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_07.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_08.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_08.png
new file mode 100644
index 0000000..f41c979
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_08.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_09.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_09.png
new file mode 100644
index 0000000..784092a
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_09.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_10.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_10.png
new file mode 100644
index 0000000..5356a6e
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_10.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_11.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_11.png
new file mode 100644
index 0000000..b6853c2
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_11.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_12.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_12.png
new file mode 100644
index 0000000..4d2d87f
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_12.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_13.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_13.png
new file mode 100644
index 0000000..afe34d5
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta/ArgoUML_2_delta_13.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_01.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_01.png
new file mode 100644
index 0000000..db84325
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_01.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_02.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_02.png
new file mode 100644
index 0000000..1cd0877
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_02.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_03.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_03.png
new file mode 100644
index 0000000..6fca579
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_03.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_04.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_04.png
new file mode 100644
index 0000000..4fff8dc
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_delta_pre/ArgoUML_2_delta_pre_04.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_00_1.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_00_1.png
new file mode 100644
index 0000000..ebc6986
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_00_1.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_01.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_01.png
new file mode 100644
index 0000000..220a06e
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_01.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_02.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_02.png
new file mode 100644
index 0000000..c483a08
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_02.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_03.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_03.png
new file mode 100644
index 0000000..aeaca9e
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_03.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_04.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_04.png
new file mode 100644
index 0000000..6a2fce6
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_04.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_05.png b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_05.png
new file mode 100644
index 0000000..e104861
--- /dev/null
+++ b/courseB/ArgoUML_Reverse/problem2/images/images_problem2_pre/ArgoUML_2_pre_05.png
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_01.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_01.png
deleted file mode 100644
index 0e67ef0..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_01.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_02.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_02.png
deleted file mode 100644
index 31ccb5f..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_02.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_03.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_03.png
deleted file mode 100644
index b08b058..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_03.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_04.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_04.png
deleted file mode 100644
index e10413a..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_04.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_05.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_05.png
deleted file mode 100644
index e215abc..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_05.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_06.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_06.png
deleted file mode 100644
index 04f6bf7..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_06.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_07.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_07.png
deleted file mode 100644
index 18a2e47..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_07.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_08.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_08.png
deleted file mode 100644
index be7472e..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_08.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_09.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_09.png
deleted file mode 100644
index 3763d65..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_09.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_10.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_10.png
deleted file mode 100644
index 393e242..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_10.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_11.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_11.png
deleted file mode 100644
index 0f6c07a..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_11.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_12.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_12.png
deleted file mode 100644
index 83f7d7d..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_12.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_13.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_13.png
deleted file mode 100644
index d2acaa5..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_13.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_14.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_14.png
deleted file mode 100644
index bb879cf..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_14.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_15.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_15.png
deleted file mode 100644
index ffd7c92..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_15.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_16.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_16.png
deleted file mode 100644
index 97c99e8..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_16.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_17.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_17.png
deleted file mode 100644
index fb009b2..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_17.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_18.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_18.png
deleted file mode 100644
index 56dea89..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_18.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_19.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_19.png
deleted file mode 100644
index 409fb86..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_19.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_20.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_20.png
deleted file mode 100644
index f7049d8..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_20.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_21.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_21.png
deleted file mode 100644
index a9f3495..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_21.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_22.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_22.png
deleted file mode 100644
index 05391cd..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_22.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_23.png b/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_23.png
deleted file mode 100644
index c346b64..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2/ArgoUML_2_23.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_01.png b/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_01.png
deleted file mode 100644
index 220a06e..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_01.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_02.png b/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_02.png
deleted file mode 100644
index c483a08..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_02.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_03.png b/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_03.png
deleted file mode 100644
index aeaca9e..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_03.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_04.png b/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_04.png
deleted file mode 100644
index 6a2fce6..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_04.png
+++ /dev/null
Binary files differ
diff --git a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_05.png b/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_05.png
deleted file mode 100644
index e104861..0000000
--- a/courseB/ArgoUML_Reverse/problem2/images_problem2_pre/ArgoUML_2_pre_05.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/JHotDraw1_Forward.html b/courseB/JHotDraw_Forward/problem1/JHotDraw1_Forward.html
index 4800561..b25ed42 100644
--- a/courseB/JHotDraw_Forward/problem1/JHotDraw1_Forward.html
+++ b/courseB/JHotDraw_Forward/problem1/JHotDraw1_Forward.html
@@ -1,14 +1,14 @@
- 課題A1 (JHotDraw)
+ 課題B1 (アーキテクチャ理解)
- 課題A1
+ 課題B1 (アーキテクチャ理解)
- 課題A1では, JHotDrawの図形の移動機能について見ていきます.
+ 課題B1では, JHotDrawの図形の移動機能について見ていきます.
JHotDrawはオープンソースの図形描画ツールで, Javaで書かれております.
ワークスペース内のjhotdraw7が、JHotDrawを構成するプロジェクトです。
@@ -19,48 +19,44 @@
-
デスクトップのEclipseを起動し, 指定されたワークスペースを開いてください.
-
+
-
ワークスペース中にあるjhotdraw7プロジェクトを選択し, メニューバーの Search → Java で DefaultDragTracker というタイプの宣言を検索してください.
-
-
+
+
-
DefaultDragTrackerクラスのソースファイルを開いて159行目 (DefaultDragTracker#mouseDragged(MouseEvent)) にブレークポイントを入れてください.
-
+
-
メニューバーの Window → Perspective → Open Perspective → Other... → トレースデバッガ(順方向) でトレースデバッガのパースペクティブを開いてください.
-
-
+
+
-
開いたトレースデバッガのパースペクティブ右上のブレークポイントビュー上にあるフォルダアイコン(左から1番目)を
- クリックしてトレースファイル(jHotDrawBenchMarkWithMoreStandardClasses.trace)を開いてください.
-
-
+ クリックしてトレースファイル (jHotDrawBenchMarkWithMoreStandardClasses.trace) を開いてください.
+
+
-
トレースファイルの読み込みが終わるまで待ってから, ブレークポイントビュー上にある「ブレークポイントをEclipseから取り入れる」アイコン(左から2番目)を
クリックしてトレースデバッガ用のブレークポイントを作成してください.
-
+
-
ブレークポイントビュー上にあるデバッグアイコン(左から3番目)をクリックしてください.
トレースデバッガによるデバッグ実行が起動し, ブレークポイントを入れた位置の行が選択された状態で一時停止します.
-
+
- 課題A1
+ アーキテクチャ理解
-
ブレークポイントを置いた行は、図形を移動するたびに実行されます.
@@ -69,49 +65,49 @@
先ほどの実行手順にしたがって進めていくと, 下図のように DefaultDragTracker クラスの
mouseDragged(MouseEvent) メソッド内の159行目で一時停止している状態になっているはずです.
この状態になっていれば, ここから時間計測を開始してください.
-
+
DefaultDragTracker クラスの mouseDragged(MouseEvent) メソッドの159行では,
ローカル変数 f で参照されているインスタンスに対してメソッドが呼び出されていることが確認できます.
ここで, 変数ビュー上の「呼び出し前」を開いてレシーバのIDを見ると, これは RectangleFigure クラスのインスタンス (id = 1952912699) であることがわかります.
また, ソースコードを見ると, このローカル変数 f の値は, 157行目の拡張for文でフィールド transformedFigures が取得してきたものだと確認できます.
-
+
次は, フィールド transformedFigures に RectangleFigure クラスのインスタンス (id = 1952912699) を実際に追加しているのはどこなのかを見ていきます.
ソースコード中の157行目の transformedFigures にカーソルを入れ, そのフィールドに対してオブジェクトを追加している全ての行にブレークポイントを入れてください.
今回は DefaultDragTracker クラスの118行目のみです。
-
+
- ここで, いったんデバッグ実行を終了してから, ブレークポイントビュー上にある「ブレークポイントを取り入れる」ボタンを押してください.
+ ここで, いったんデバッグ実行を終了してから, ブレークポイントビュー上にある「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
そのあと, 再びデバッグ実行すると今度は118行目に止まります.
ステップインを2回押してから変数ビュー上の「呼び出し前」を開いて引数のオブジェクトのIDを確認してください.
すると, 先ほど確認した RectangleFigure クラスのインスタンス (id = 1952912699) がここで追加されていることがわかります.
-
+
ここで, 最初にブレークポイントを入れた地点である159行目に実行が進むかどうかを確認します.
再開ボタンを1回押すと, すぐには159行目に移らず, 同じ118行目に再び止まります.
先ほどと同様に変数ビューを開いて引数のオブジェクトのIDを確認してください.
すると, ここでも同じ RectangleFigure クラスのインスタンス (id = 1952912699) が追加されていることがわかります.
-
+
再び再開ボタンを押すと, 今度は159行目に止まります.
ここで, 変数ビューの「呼び出し前」を開いてレシーバのIDを見ると, 先ほどの RectangleFigure クラスのインスタンス (id = 1952912699) と同一であることが確認できます.
したがって, ここでは直前に止まっていた2回目の118行目で追加した RectangleFigure を取得していることがわかります.
それを確認したら, ここでいったんデバッグ実行を終了してください.
-
+
ソースコードを見ると, 116行目の拡張for文で DrawingView クラスの getSelectedFigures() を呼び出し,
その戻り値のコレクションから取得してきた RectangleFigure クラスのインスタンスを, 118行目で selectedFigures に追加していることがわかります.
そこで, 次はこの view がどこから来たのかと, getSelectedFigures() メソッドの戻り値がどうなっているのかを見ていきます.
- 98行目と116行目にブレークポイントを入れ, ブレークポイントビュー上にある「ブレークポイントを取り入れる」ボタンを押してください.
+ 98行目と116行目にブレークポイントを入れ, ブレークポイントビュー上にある「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
そのあと, 再びデバッグ実行すると, まずは98行目で止まることをを確認してください.
-
+
先ほどの実行によって, 現在は98行目に止まっているはずです.
@@ -122,22 +118,22 @@
そのままの状態で再びデバッグ実行し, 再開ボタンを3回押して2回目の98行目に止まって下さい.
ここで, ステップインを1回押して getView() メソッドの中に入ってください.
-
+
AbstractTool クラスの getView() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DefaultDragTracker クラスのインスタンス(id = 758826749) が
- フィールド editor として DefaultDrawingEditor クラスのインスタンス (id = 1859859960) を保持していることがわかります.
+ フィールド editor として DefaultDrawingEditor クラスのインスタンス (id = 1859859960) を参照していることがわかります.
これを確認したら, ステップインを3回押して getActiveView() メソッドの中に入ってください.
-
+
DefaultDrawingView クラスの getActiveView() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が
- フィールド activeView として DefaultDrawingView クラスのインスタンス (id = 150367587) を保持していることがわかります.
+ フィールド activeView として DefaultDrawingView クラスのインスタンス (id = 150367587) を参照していることがわかります.
これを確認したら, ステップリターンを1回押して呼び出し元に戻ってください.
(このとき, 2つ呼び出し元である DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドまで戻ることに注意してください)
-
+
先ほどの操作によって, 現在の実行時点は DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの106行目になっているはずです.
@@ -145,22 +141,22 @@
116行目まで進んだら, 変数ビュー上の「呼び出し前」を開いて, レシーバのオブジェクトのIDを見ると,
先ほど取得してきた DefaultDrawingView クラスのインスタンス (id = 150367587) に対して getSelectedFigures() メソッドが呼び出されていることがわかります.
これを確認したら, ステップインを1回押して, このメソッドの中に入ってください.
-
-
+
+
DefaultDrawingView クラスの getSelectedFigures() メソッドの中に入りました.
ここで, 変数ビュー上の this を開くと, DefaultDrawingView クラスのインスタンス (id = 150367587) が
- フィールド selectedFigures として LinkedHashSet を保持していることがわかります.
+ フィールド selectedFigures として LinkedHashSet を参照していることがわかります.
また, ソースコードを見ると, Collections クラスの static メソッドである unmodifiableSet(Set) が呼び出されており,
その引数として フィールド getSelectedFigures が渡されていることが確認できます.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの116行目を見ています.
- ここで課題A1は終了です. 時間計測を終了してください.
-
+ ここで課題B1は終了です. 時間計測を終了してください.
+
diff --git a/courseB/JHotDraw_Forward/problem1/JHotDraw1_Forward_Delta.html b/courseB/JHotDraw_Forward/problem1/JHotDraw1_Forward_Delta.html
new file mode 100644
index 0000000..3b01f96
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/JHotDraw1_Forward_Delta.html
@@ -0,0 +1,81 @@
+
+
+
+ 課題B1 (接近過程抽出)
+
+
+
+
+ 課題B1 (接近過程抽出)
+
+
+ 接近過程抽出
+
+
+
+
+
+
+ 課題B1終了直後は下図のような状態になっているはずです.
+ 右上にあるパースペクティブを右クリックし, いったん「トレースデバッガ(順方向)」のパースペクティブを閉じてください.
+
+
+
+ ここで, 「トレースデバッガ(逆方向)」のパースペクティブを開いてください.
+
+
+
+ その状態のままで, ブレークポイントビュー上にある「ブレークポイントを取り入れる」をクリックしてください.
+ ブレークポイントを取り入れたら, ブレークポイントビュー上で下記2つのブレークポイントのチェックを外してください.
+
+ - 98行目 DefaultDragTracker.mousePressed(MouseEvent)
+ - 116行目 DefaultDragTracker.mousePressed(MouseEvent)
+
+ そのあと, デバッグ実行してください.
+
+
+
+ 現在は, DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの118行目にいます.
+ まずは, DefaultDragTracker クラスのインスタンス (id = 758826749) のフィールド transformedFigures が参照している HashSet に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を抽出して見ていきます.
+ ここで, ステップネクストを2回押してください.
+
+
+
+ ここで, 変数ビュー上の「呼び出し後」を開いて, 引数を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側020」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側002」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, DefaultDragTracker クラスのインスタンス (id = 758826749) のフィールド transformedFigures が参照している HashSet に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を見てきました.
+ ここで, 課題B1の接近過程抽出は終了です.
+ 「オブジェクトの接近過程」ビューを全て閉じてください.
+ デバッグ実行を終了したら, この「トレースデバッガ(逆方向)」のパースペクティブを閉じてください.
+
+
+
+
+
\ No newline at end of file
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_01.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_01.png
new file mode 100644
index 0000000..f1b4725
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_01.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_02.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_02.png
new file mode 100644
index 0000000..9df5518
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_02.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_03.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_03.png
new file mode 100644
index 0000000..2ec13f0
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_03.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_05.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_05.png
new file mode 100644
index 0000000..e776b23
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_05.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_06.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_06.png
new file mode 100644
index 0000000..ff44c70
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_06.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_07.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_07.png
new file mode 100644
index 0000000..441a057
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_07.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_08.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_08.png
new file mode 100644
index 0000000..18d79c1
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_08.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_09.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_09.png
new file mode 100644
index 0000000..d69a777
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_09.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_10.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_10.png
new file mode 100644
index 0000000..2f1e2a0
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_10.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_11.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_11.png
new file mode 100644
index 0000000..ba0291f
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_11.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_12.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_12.png
new file mode 100644
index 0000000..1a73c79
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_12.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_13.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_13.png
new file mode 100644
index 0000000..30559f7
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_13.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_14.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_14.png
new file mode 100644
index 0000000..979ff00
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_14.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_15.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_15.png
new file mode 100644
index 0000000..c6db1a9
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1/JHotDraw_1_15.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_01.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_01.png
new file mode 100644
index 0000000..7ce44cc
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_01.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_02.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_02.png
new file mode 100644
index 0000000..aa8653f
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_02.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_03.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_03.png
new file mode 100644
index 0000000..5dbd8cb
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_03.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_04.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_04.png
new file mode 100644
index 0000000..6a9ae6d
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_04.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_05.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_05.png
new file mode 100644
index 0000000..b051fae
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_05.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_06.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_06.png
new file mode 100644
index 0000000..5bced31
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_06.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_07.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_07.png
new file mode 100644
index 0000000..c2bcd69
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_07.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_08.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_08.png
new file mode 100644
index 0000000..cc9e93e
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_08.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_09.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_09.png
new file mode 100644
index 0000000..441e06b
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_09.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_10.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_10.png
new file mode 100644
index 0000000..0357cd5
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_10.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_11.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_11.png
new file mode 100644
index 0000000..12b2ede
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_11.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_12.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_12.png
new file mode 100644
index 0000000..5e7bc49
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_12.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_13.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_13.png
new file mode 100644
index 0000000..a5f92c8
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_13.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_14.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_14.png
new file mode 100644
index 0000000..b6a0169
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_14.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_15.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_15.png
new file mode 100644
index 0000000..aa9cf5e
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_15.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_16.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_16.png
new file mode 100644
index 0000000..1cd1202
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta/JHotDraw_1_delta_16.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_01.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_01.png
new file mode 100644
index 0000000..48bcf82
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_01.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_02.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_02.png
new file mode 100644
index 0000000..5c26527
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_02.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_03.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_03.png
new file mode 100644
index 0000000..a83cec3
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_03.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_04.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_04.png
new file mode 100644
index 0000000..4293059
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_04.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_05.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_05.png
new file mode 100644
index 0000000..c762aaf
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_05.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_06.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_06.png
new file mode 100644
index 0000000..0cce013
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_06.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_07.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_07.png
new file mode 100644
index 0000000..f2e51ad
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_07.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_08.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_08.png
new file mode 100644
index 0000000..ef3cfc3
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_08.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_09.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_09.png
new file mode 100644
index 0000000..6929ddf
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_09.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_10.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_10.png
new file mode 100644
index 0000000..f3b45e1
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_10.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_11.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_11.png
new file mode 100644
index 0000000..6835dee
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_11.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_12.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_12.png
new file mode 100644
index 0000000..a08069e
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_12.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_13.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_13.png
new file mode 100644
index 0000000..fd5a5f2
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_13.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_14.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_14.png
new file mode 100644
index 0000000..39aadac
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_delta_pre/JHotDraw_1_delta_pre_14.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_01.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_01.png
new file mode 100644
index 0000000..f0e6c51
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_01.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_02.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_02.png
new file mode 100644
index 0000000..13a341c
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_02.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_03.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_03.png
new file mode 100644
index 0000000..c4f5274
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_03.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_04.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_04.png
new file mode 100644
index 0000000..edebae3
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_04.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_05.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_05.png
new file mode 100644
index 0000000..a3ed54c
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_05.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_06.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_06.png
new file mode 100644
index 0000000..764fdbc
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_06.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_07.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_07.png
new file mode 100644
index 0000000..5499142
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_07.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_08.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_08.png
new file mode 100644
index 0000000..bc5d3ac
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_08.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_09.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_09.png
new file mode 100644
index 0000000..ed48dc7
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_09.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_10.png b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_10.png
new file mode 100644
index 0000000..cc2a995
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem1/images/images_problem1_pre/JHotDraw_1_pre_10.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_01.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_01.png
deleted file mode 100644
index f1b4725..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_01.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_02.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_02.png
deleted file mode 100644
index 9df5518..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_02.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_03.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_03.png
deleted file mode 100644
index 2ec13f0..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_03.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_05.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_05.png
deleted file mode 100644
index e776b23..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_05.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_06.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_06.png
deleted file mode 100644
index ff44c70..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_06.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_07.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_07.png
deleted file mode 100644
index 441a057..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_07.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_08.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_08.png
deleted file mode 100644
index 18d79c1..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_08.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_09.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_09.png
deleted file mode 100644
index d69a777..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_09.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_10.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_10.png
deleted file mode 100644
index 2f1e2a0..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_10.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_11.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_11.png
deleted file mode 100644
index ba0291f..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_11.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_12.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_12.png
deleted file mode 100644
index 1a73c79..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_12.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_13.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_13.png
deleted file mode 100644
index 30559f7..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_13.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_14.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_14.png
deleted file mode 100644
index 979ff00..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_14.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_15.png b/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_15.png
deleted file mode 100644
index c6db1a9..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1/JHotDraw_1_15.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_01.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_01.png
deleted file mode 100644
index f0e6c51..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_01.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_02.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_02.png
deleted file mode 100644
index 13a341c..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_02.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_03.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_03.png
deleted file mode 100644
index c4f5274..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_03.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_04.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_04.png
deleted file mode 100644
index edebae3..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_04.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_05.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_05.png
deleted file mode 100644
index a3ed54c..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_05.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_06.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_06.png
deleted file mode 100644
index 764fdbc..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_06.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_07.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_07.png
deleted file mode 100644
index 5499142..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_07.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_08.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_08.png
deleted file mode 100644
index bc5d3ac..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_08.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_09.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_09.png
deleted file mode 100644
index ed48dc7..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_09.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_10.png b/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_10.png
deleted file mode 100644
index cc2a995..0000000
--- a/courseB/JHotDraw_Forward/problem1/images_problem1_pre/JHotDraw_1_pre_10.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/JHotDraw2_Forward.html b/courseB/JHotDraw_Forward/problem2/JHotDraw2_Forward.html
index 2f43cf3..020184d 100644
--- a/courseB/JHotDraw_Forward/problem2/JHotDraw2_Forward.html
+++ b/courseB/JHotDraw_Forward/problem2/JHotDraw2_Forward.html
@@ -1,14 +1,14 @@
- 課題A2 (JHotDraw)
+ 課題B2 (アーキテクチャ理解)
- 課題A2
+ 課題B2 (アーキテクチャ理解)
- 課題A2では, JHotDrawの図形の選択機能について見ていきます.
+ 課題B2では, JHotDrawの図形の選択機能について見ていきます.
JHotDrawはオープンソースの図形描画ツールで, Javaで書かれております.
ワークスペース内のjhotdraw7が、JHotDrawを構成するプロジェクトです。
@@ -17,30 +17,43 @@
前準備
- 課題B1(移動機能)が終了した直後は下図のような状態になっているはずです.
-
+ 課題B1と同様に「トレースデバッガ(順方向)」のパースペクティブを開いてください.
+
- まずは, 呼び出しスタック上でもう一度呼び出し先である DefaultDrawingView クラスの getSelectedFigures() メソッドに移ってください.
- フィールド selectedFigures に RectangleFigure クラスのインスタンス (id = 1952912699) を実際に追加しているのはどこなのかを見ていきます.
+ ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
+ ブレークポイントを入れたら, 全てのブレークポイントにチェックが入った状態にしてください.
+
+
+
+ デバッグ実行してください.
+ すると, まずは DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの98行目で実行時点が一時停止します.
+ そのまま, 再開ボタンを4回押して, 2回目の DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの116行目にまで進んでください.
+ ここで, ステップインを押して DefaultDrawingView クラスの getSelectedFigures() メソッドの中に入ってください.
+
+
+
+
+ 先ほどの操作によって, 現在は DefaultDrawingView クラスの getSelectedFigures() メソッドの931行目にいます.
+ ここで, フィールド selectedFigures に RectangleFigure クラスのインスタンス (id = 1952912699) を実際に追加しているのはどこなのかを見ていきます.
ソースコード中の selectedFigures にカーソルを入れ, そのフィールドに対してオブジェクトを追加している全ての行にブレークポイントを入れてください.
今回は, DefaultDrawingView クラスの780行目と815行目と889行目の三か所が該当します.
-
-
-
+
+
+
DefaultDrawingView クラスの780行目と815行目と889行目にブレークポイントを入れた状態で,
- ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
+ ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
すると, 実際にトレース上に実行された記録が残っている780行目にだけブレークポイントが新規追加されます.
そのあと, ブレークポイントビュー上で下記3つのブレークポイントのチェックを外してください.
- - DefaultDragTracker クラスの mouseDragged(MouseEvent) メソッド 159行目
- - DefaultDragTracker クラスの mousePressed(MouseEvent) メソッド 98行目
- - DefaultDragTracker クラスの mousePressed(MouseEvent) メソッド 116行目
+ - 159行目 DefaultDragTracker.mouseDragged(MouseEvent)
+ - 98行目 DefaultDragTracker.mousePressed(MouseEvent)
+ - 116行目 DefaultDragTracker.mousePressed(MouseEvent)
- ここで, 課題B1から続いているデバッグ実行をいったん停止してください.
-
+ ここで, デバッグ実行をいったん停止してください.
+
デバッグ実行を押すと, DefaultDrawingView クラスの addToSelection(Figure) メソッドの780行目で止まります.
@@ -49,17 +62,13 @@
そこからさらに再開ボタンを押していくと, 現在の実行時点は118行目に2回止まることが確認できます.
これを確認したら, デバッグ実行をいったん終了してから再び実行して, 再開ボタンを1回押して2回目の780行目に進めてください.
下図の状態になれば, ここで課題2の前準備は終了です.
-
+
- 課題A2
+ アーキテクチャ理解
-
ブレークポイントを置いた行は、図形を選択するたびに実行されます.
@@ -70,19 +79,19 @@
この状態になっていれば, ここから時間計測を開始してください.
DefaultDrawingView クラスの addToSelection(Figures) メソッドの780行目では, フィールド selectedFigures に
仮引数 f で参照される RectangleFigure クラスのインスタンス (id = 1952912699) を追加していることが確認できます.
-
+
まずは, この仮引数 figure の値がどこから来たのかを見るために, 呼び出しスタック上で1つ呼び出し元をクリックして戻ってください.
ソースコードを見ると, ここではローカル変数 view で参照されているインスタンスに対して先ほどの addToSelection(Figure) メソッドが呼び出されていることがわかります.
ここで, 変数ビュー上で「呼び出し前」および this を開いてオブジェクトのIDを確認してください.
すると, view の値は DefaultDrawingView クラスのインスタンス (id = 150367587) であり, その引数には DefaultDragTracker クラスのインスタンス (id = 758826749) が
- フィールド anchorFigure として保持している RectangleFigure クラスのインスタンス (id = 1952912699) が渡されていることがわかります.
-
+ フィールド anchorFigure として参照している RectangleFigure クラスのインスタンス (id = 1952912699) が渡されていることがわかります.
+
ここでは, 先にローカル変数 view の値がどこから来たのかを見ていきます.
- DefaultDragTracker クラスの98行目にブレークポイントを入れてから, ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
+ ブレークポイントビュー上の DefaultDragTracekr クラスの mousePressed(MouseEvent) メソッドの98行目のブレークポイントにチェックを入れてください.
ブレークポイントを入れたら, デバッグ実行をいったん終了してから, もう一度デバッグ実行してください.
すると, まずは DefaultDrawingView クラスの addToSelection(Figure) メソッドの780行目に止まります.
続けて, 現在の実行時点がどのように移り変わっていくかを確認するために再開ボタンを押していくと, 現在の実行が98行目 → 780行目 と移っていくことが確認できます.
@@ -91,41 +100,41 @@
再びデバッグ実行してから, 再開ボタンを1回押して DefaultDragTracekr クラスの mousePressed(MouseEvent) メソッドの98行目にまで進めてください.
ここで, ステップインを1回押して, getView() メソッドの中に入ってください.
-
+
AbstractTool クラスの getView() メソッドの中に入りました.
ここで, 変数ビュー上の this を開くと, DefaultDragTracker クラスのインスタンス(id = 758826749) が
- フィールド editor として DefaultDrawingEditor クラスのインスタンス (id = 1859859960) を保持していることがわかります.
+ フィールド editor として DefaultDrawingEditor クラスのインスタンス (id = 1859859960) を参照していることがわかります.
これを確認したら, ステップインを3回押して getActiveView() メソッドの中に入ってください.
-
+
DefaultDrawingView クラスの getActiveView() メソッドの中に入りました.
ここで, 変数ビュー上の this を開くと, DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が
- フィールド activeView として DefaultDrawingView クラスのインスタンス (id = 150367587) を保持していることがわかります.
+ フィールド activeView として DefaultDrawingView クラスのインスタンス (id = 150367587) を参照していることがわかります.
これを確認したら, 呼び出しスタック上で2つ呼び出し元をクリックしてください.
-
+
現在は DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの98行目を見ています.
ここで, 変数ビュー上で this を開いて, フィールド anchorFigure と this 自体のIDを確認してください.
DefaultDragTracker クラスのインスタンス (id = 758826749) が anchorFigure として
- RectangleFigure クラスのインスタンス (id = 1952912699) を保持していることが確認できます.
-
+ RectangleFigure クラスのインスタンス (id = 1952912699) を参照していることが確認できます.
+
ここからは, このフィールド anchorFigure に RectangleFigure クラスのインスタンスが代入された時点を見ていきます.
ソースコード中の anchorFigure にカーソルを入れて, ソースコード中で代入しているところ全てにブレークポイントを入れてください.
今回は, DefaultDragTracker クラスの84行目と218行目の二か所が該当します.
-
-
+
+
- DefaultDragTracker クラスの84行目と218行目にブレークポイントを入れたら, ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
+ DefaultDragTracker クラスの84行目と218行目にブレークポイントを入れたら, ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
すると, 実際にトレース上に実行された記録が残っている218行目にだけブレークポイントが新規追加されます.
そのあと, ブレークポイントビュー上で780行目と218行目以外のブレークポイントのチェックを外してください.
-
+
デバッグ実行をいったん終了してから, 再びデバッグ実行してください.
@@ -139,45 +148,45 @@
そのあと, 再開ボタンを1回押して DefaultDragTracker クラスの setDraggedFigure(Figure) メソッドの218行目にまで進んでください.
ここで, 変数ビューを見て this と 引数の f のIDをそれぞれ確認してください.
これを確認したら, 呼び出しスタック上で1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である SelectionTool クラスの getDragTracker(Figure) メソッドを見ています.
ここで, ソースコードを見ると, DefaultDragTracker クラスのインスタンス (id = 758826749) が
フィールド dragTracker に代入されており, それが戻り値としても返されることがわかります.
これを確認したら, 呼び出しスタック上でさらに1つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である SelectionTool クラスの mousePressed(MouseEvent) メソッドを見ています.
ここで, 変数ビュー上で「呼び出し前」を開いて引数と, this を開いてフィールド dragTracker のIDをそれぞれ確認してください.
すると, 先ほどの DefaultDragTracker クラスのインスタンス (id = 758826749) を フィールド dragTracker として
- DelegationSelectionTool クラスのインスタンス (id = 599587451) が保持していることが確認できます.
-
+ DelegationSelectionTool クラスのインスタンス (id = 599587451) が参照していることが確認できます.
+
ソースコードを見ると, 278行目で呼び出されている getDragTracker() メソッドの戻り値をいったんローカル変数 newTracker に代入しておいてから,
289行目で setTracker(Tool) メソッドに引数として渡していることが確認できます.
ここで, ステップオーバーを2回押して, 実際に289行目に止まることを確認し, ステップインを2回押して, setTracker() メソッドの中に入ってください.
-
+
SelectionTool クラスの setTracker(Tool) メソッドに入りました.
ここでは, ステップオーバーを4回押して301行目まで進めてください.
そのあと, 変数ビュー上で this を開くと, フィールド tracekr の値が 仮引数 newTracker と同じ値に更新されていることがわかります.
これを確認したら, ステップリターンを1回押して呼び出し元に戻ってください.
-
-
+
+
先ほどの呼び出し先から戻ってきたことで, 現在は SelectionTool クラスの mousePressed() メソッドの291行目にいます.
ここでは, ステップインを4回押して, DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの中に入ってください.
-
+
DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドに入りました.
ここで, 変数ビュー上で this を開いて, フィールド anchorFigure と this 自体のIDを確認してください.
-
+
呼び出しスタック上で呼び出し元をクリックして戻ってください.
@@ -186,9 +195,9 @@
ここからはローカル変数 figure の値がどこから来たのかを見ていきます.
ローカル変数 figure にカーソルを入れ, この figure に代入された箇所を探していきます.
ローカル変数 figure の宣言は234行目にあるため, ここではその次の行である235行目にブレークポイントを入れてください.
- 235行目にブレークポイントを入れたら, ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
-
-
+ 235行目にブレークポイントを入れたら, ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
+
+
いったんデバッグ実行を終了してから, もう一度デバッグ実行してください.
@@ -200,7 +209,7 @@
いったんデバッグ実行を終了してから, もう一度デバッグ実行してください.
そのあと, 再開ボタンを2回押して, 2回目の235行目にまで進んでください.
-
+
ローカル変数 figure に値が代入された時点がどこなのかを見ていきます.
@@ -209,67 +218,67 @@
その戻り値がローカル変数 figure に代入されていることがわかります.
ここで, いったんステップオーバーを3回実行して, この戻り値の代入のあとに別の時点で figure が更新されることなく,
278行目で getDragTracker(Figure) メソッドの引数として渡されることを確認してください.
-
+
先ほどの操作によって, ローカル変数 figure に値を代入した箇所がわかりました.
ここで, いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
まずは DefaultDrawingViewクラスの addToSelection(Figure) メソッドの780行目で止まるので, 再開ボタンを2回押して2回目の235行目にまで進んでください.
そのあと, ステップオーバーを8回押して270行目にまで進み, ステップインを3回押して findFigure(Point) メソッドの中に入ってください.
-
+
DefaultDrawingView クラスの findFigure(Point) メソッドに入りました.
ここでは, ステップインを2回押して, getDrawing() メソッドの中に入ってください.
-
+
DefaultDrawingView クラスの getDrawing() メソッドに入りました.
ここで, 変数ビュー上の this を開くと, DefaultDrawingView クラスのインスタンス (id = 150367587) が
- フィールド drawing として QuadTreeDrawing クラスのインスタンス (id = 1583174451) のインスタンスを保持していることがわかります.
+ フィールド drawing として QuadTreeDrawing クラスのインスタンス (id = 1583174451) のインスタンスを参照していることがわかります.
これを確認したら, ステップリターンを1回押して呼び出し元に戻ってください.
-
+
DefaultDrawingView クラスの findFigure(Point) メソッドに戻ってきました.
ソースコードを見ると, 先ほどの getDrawing() メソッドで取得してきた QuadTreeDrawing クラスのインスタンスに対して findFigure(Point2D#Double) メソッドが呼び出され,
その引数として, DefaultDrawingView クラスの viewToDrawing(Point) メソッドの戻り値が渡されていることが確認できます.
次は, ステップインを1回押して, viewToDrawing(Point) メソッドの中に入ってください.
-
+
DefaultDrawingView クラスの viewToDrawing(Point) メソッドに入りました.
そのままステップリターンを1回押して呼び出し元に戻ってください.
-
+
DefaultDrawingView クラスの findFigure(Point) メソッドに戻ってきました.
ステップインを1回押して QuadTreeDrawing クラスの findContains(Point2D#Double) メソッドの中に入ってください.
-
+
QuadTreeDrawing クラスの findContains(Double) メソッドに入りました.
ここで, 変数ビュー上の this を開くと, QuadTreeDrawing クラスのインスタンス (id = 1583174451) が,
- フィールド quadTree として QuadTree クラスのインスタンス (id = 808853315) を保持していることがわかります.
+ フィールド quadTree として QuadTree クラスのインスタンス (id = 808853315) を参照していることがわかります.
これを確認したら, ステップインを3回押して, QuadTree クラスの findContains(Point2D#Double) メソッドの中に入ってください.
-
+
QuadTree クラスの findContains(Point2D#Double) メソッドに入りました.
ここで, 変数ビュー上の this を開くと, QuadTree クラスのインスタンス (id = 808853315) がフィールド root として
- QuadTree クラスの内部クラスである QuadNode クラスのインスタンス (id = 2120356010) を保持していることがわかります.
+ QuadTree クラスの内部クラスである QuadNode クラスのインスタンス (id = 2120356010) を参照していることがわかります.
また, ソースコードを見ると, 82行目で生成された HashSet がローカル変数 result に代入されたあと,
83行目ではいったん呼び出し先に引数として渡され, 最終的には89行目で戻り値として返されていることが確認できます.
ここでは, ステップオーバーを1回押したあと, ステップインを2回押して QuadNode クラスの findContains(Point2D#Double, HashSet) メソッドの中に入ってください.
-
+
QuadNode クラスの findContains(Point2D#Double, HashSet) メソッドに入りました.
ここで, 変数ビュー上の this を開くと, QuadNode クラスのインスタンス (id = 2120356010) が
- フィールド objects として HashMap を保持していることがわかります.
+ フィールド objects として HashMap を参照していることがわかります.
また, ソースコードを見ると, 224行目の拡張for文でこの HashMap から取り出してきた要素を, 226行目で仮引数 result に追加していることが確認できます.
ここでは, ステップオーバーを3回押して226行目にまで進んでください.
-
+
先ほどの操作によって, 現在は226行目にいます.
@@ -278,15 +287,15 @@
すると, RectangleFigure クラスのインスタンス (id = 1952912699) が引数として渡されており,
それが 仮引数 result に対して追加されることがわかります.
これを確認したら, ステップオーバーを4回押して呼び出し元に戻ってください.
-
+
呼び出し元である QuadTree クラスの findContains(Point2D#Double) メソッドに戻ってきました.
ここで, ステップオーバーを1回押して, ローカル変数 result にそれ以上何も追加されずに
そのまま89行目の return result まで進むことを確認してください.
これを確認したら, ステップオーバーを1回押して呼び出し元に戻ってください.
-
-
+
+
呼び出し元である QuadTreeDrawing クラスの findContains(Double) メソッドに戻ってきました.
@@ -294,7 +303,7 @@
ここで, 変数ビュー上の「呼び出し後」を開いて戻り値のIDを確認してください.
すると, 先ほどの RectangleFigure クラスのインスタンス (id = 1952912699) を取得していることがわかります.
これを確認したら, 呼び出しスタック上で2つ呼び出し元をクリックしてください.
-
+
現在は, 呼び出し元である SelectionTool クラスの mousePressed(MouseEvent) メソッドの270行目を見ています.
@@ -302,13 +311,13 @@
そのあと, 変数ビュー上の「呼び出し後」を開いて戻り値のIDを確認してください.
すると, 実際に戻り値として先ほどの RectangleFigure クラスのインスタンス (id = 1952912699) が返されていることが確認でき,
したがって, その値がローカル変数 figure に代入されていることがわかります.
-
+
ここからは, ローカル変数 view の値がどこから来たのかを見ていきます.
ソースコード中のローカル変数 view にカーソルを入れて view に代入している箇所を探していきます.
- 今回は, 228行目に該当するのでブレークポイントを入れ, ブレークポイントビュー上の「ブレークポイントを取り入れる」ボタンを押してください.
-
+ 今回は, 228行目に該当するのでブレークポイントを入れ, ブレークポイントビュー上の「ブレークポイントをEclipseから取り入れる」アイコンを押してください.
+
いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
@@ -321,26 +330,27 @@
いったんデバッグ実行を終了してから, 再びデバッグ実行してください.
そのあと, 再開ボタンを3回押して, 2回目の228行目にまで進んでください.
ここで, ステップインを1回押して, getView() メソッドの中に入ってください.
-
+
AbstractTool クラスの getView() メソッドの中に入りました.
ここで, 変数ビュー上の this を開くと, DelegationSelectionTool クラスのインスタンス(id = 599587451) が
- フィールド editor として DefaultDrawingEditor クラスのインスタンス (id = 1859859960) を保持していることがわかります.
+ フィールド editor として DefaultDrawingEditor クラスのインスタンス (id = 1859859960) を参照していることがわかります.
これを確認したら, ステップインを3回押して getActiveView() メソッドの中に入ってください.
-
+
DefaultDrawingView クラスの getActiveView() メソッドの中に入りました.
ここで, 変数ビュー上の this を開くと, DefaultDrawingEditor クラスのインスタンス (id = 1859859960) が
- フィールド activeView として DefaultDrawingView クラスのインスタンス (id = 150367587) を保持していることがわかります.
+ フィールド activeView として DefaultDrawingView クラスのインスタンス (id = 150367587) を参照していることがわかります.
これを確認したら, 呼び出しスタック上で2つ呼び出し元をクリックして戻ってください.
-
+
呼び出し元である SelectionTool クラスの mousePressed(MouseEvent) メソッドに戻ってきました.
- ここで課題A2は終了です. 時間計測を終了してください.
-
+ ここで課題B2は終了です. 時間計測を終了してください.
+
+
\ No newline at end of file
diff --git a/courseB/JHotDraw_Forward/problem2/JHotDraw2_Forward_Delta.html b/courseB/JHotDraw_Forward/problem2/JHotDraw2_Forward_Delta.html
new file mode 100644
index 0000000..e548055
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/JHotDraw2_Forward_Delta.html
@@ -0,0 +1,172 @@
+
+
+
+ 課題B2 (接近過程抽出)
+
+
+
+
+ 課題B2 (接近過程抽出)
+
+
+ 接近過程抽出
+
+
+
+
+
+
+ 課題B2終了直後は下図のような状態になっているはずです.
+ 右上にあるパースペクティブを右クリックし, いったんパースペクティブを閉じてください.
+
+
+
+ ここで, 「トレースデバッガ(逆方向)」のパースペクティブを開いてください.
+
+
+
+ その状態のままで, ブレークポイントビュー上にある「ブレークポイントを取り入れる」をクリックしてください.
+ ブレークポイントを取り入れたら, DefaultDrawingView クラスの addToSelection(Figure) メソッドの780行目以外のブレークポイントのチェックを外してください.
+ チェックを外したら, デバッグ実行してください.
+ まずは, DefaultDrawingView クラスのインスタンス (id = 150367587) のフィールド selectedFigures が参照している LinkedHashSet に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を見ていきます.
+ デバッグ実行したら, 再開ボタンを1回押してください.
+ すると, 現在の実行時点が, 2回目の DefaultDrawingView クラスの addToSelection(Figure) メソッドの780行目に移ります.
+ ここで, ステップネクストを1回押してください.
+
+
+
+
+ ここで, 変数ビュー上で「呼び出し前」を開いて, 引数を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側004」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側013」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, DefaultDrawingView クラスのインスタンス (id = 150367587) のフィールド selectedFigures が参照している LinkedHashSet に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が接近する過程を見てきました.
+ 抽出した結果を見ると, DefaultDragTracker クラスのインスタンス (id = 758826749) のフィールド anchorFigure に代入されていた RectangleFigure クラスのインスタンスを
+ 取得してきていることがわかりましたが, その RectangleFigure クラスのインスタンスがどうやって代入されたのかについては, この抽出範囲だけではわかりません.
+ そこで, ここからは, DefaultDragTracker クラスのインスタンス (id = 758826749) に RectangleFigure クラスのインスタンス (id = 1952912699) が
+ 接近する過程を抽出して見ていきます.
+ まずは, 「オブジェクトの接近過程抽出」ビュー上の「参照先側002」をクリックしてください.
+
+
+
+ 先ほどの操作によって, 現在は DefaultDragTracker クラスの mousePressed(MouseEvent) メソッドの109行目にいます.
+ ここで, 変数ビュー上の this を開き, フィールド anchorFigure を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+ すると, 現在の実行時点が DefaultDragTracker クラスの setDraggedFigure(Figure) メソッドの218行目に移ります.
+
+
+
+
+ 先ほどの操作によって, 現在は DefaultDragTracker クラスの setDraggedFigure(Figure) メソッドの218行目にいます.
+ ここで, 変数ビュー上の「フィールド代入前」を開いて, 参照先を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので,「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側036」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側004」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, DefaultDragTracker クラスのインスタンス (id = 758826749) に RectangleFigure クラスのインスタンス (id = 1952912699) が接近する過程を見てきました.
+ 抽出した結果を見ると, QuadTree クラスのインスタンス (id = 808853315) のローカル変数 result に追加されていた RectangleFigure クラスのインスタンスを
+ 取得してきていることがわかりましたが, RectangleFigure クラスのインスタンスがどうやって追加されたのかについては, この抽出範囲だけではわかりません.
+ そこで, ここからは, そのローカル変数 result に RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を見ていきます.
+ まずは, 「オブジェクトの接近過程抽出」ビュー上の「参照先側028」をクリックしてください.
+
+
+
+ 先ほどの操作によって, 現在は QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドの129行目にいます.
+ ここで, ステップネクストを1回押して130行目にまで進んでください.
+
+
+
+
+ 先ほどの操作によって, 現在は QuadTreeDrawing クラスの findFigure(Point2D$Double) メソッドの130行目にいます.
+ ここで, 変数ビュー上で「呼び出し後」を開いて, 戻り値を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 「オブジェクトの追加時点に飛ぶ」をクリックしてください.
+ すると, 現在の実行時点が QuadTree$QuadNode クラスの findContains(Point2D$Double, HashSet) メソッドの226行目に移ります.
+
+
+
+
+ 先ほどの操作によって, 現在は QuadTree$QuadNode クラスの findContains(Point2D$Double, HashSet) メソッドの226行目にいます.
+ ここで, 変数ビュー上で「呼び出し後」を開いて, 戻り値を右クリックしてください.
+ 右クリックすると, ポップアップメニューが出てくるので, 上の方の「オブジェクトの接近過程抽出」をクリックしてください.
+
+
+
+ 実際に「オブジェクトの接近過程抽出」を実行すると, 下図のような状態になります.
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「開始時点」をクリックしてください.
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照先側001」から「参照先側013」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程抽出」ビュー上の「参照元側001」から「参照元側004」までを順番にクリックしてください.
+
+
+
+
+ 「オブジェクトの接近過程」ビュー上の「参照時点」をクリックしてください.
+
+
+
+ ここまでで, QuadTree クラスのインスタンス (id = 808853315) のローカル変数 result に
+ RectangleFigure クラスのインスタンス (id = 1952912699) が追加されるまでの過程を見てきました.
+ ここで, 課題B2の接近過程抽出は終了です.
+ 「オブジェクトの接近過程」ビューを全て閉じ, そのあとデバッグ実行を終了してください.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_01.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_01.png
new file mode 100644
index 0000000..bf567e1
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_01.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_02.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_02.png
new file mode 100644
index 0000000..4915d54
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_02.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_03.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_03.png
new file mode 100644
index 0000000..ef630a1
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_03.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_04.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_04.png
new file mode 100644
index 0000000..03b4722
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_04.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_05.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_05.png
new file mode 100644
index 0000000..c23c54b
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_05.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_06.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_06.png
new file mode 100644
index 0000000..fc42145
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_06.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_07.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_07.png
new file mode 100644
index 0000000..8f6b3a0
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_07.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_08.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_08.png
new file mode 100644
index 0000000..00bad40
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_08.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_09.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_09.png
new file mode 100644
index 0000000..3d133d3
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_09.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_10.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_10.png
new file mode 100644
index 0000000..06d5d2c
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_10.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_11.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_11.png
new file mode 100644
index 0000000..a51864b
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_11.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_12.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_12.png
new file mode 100644
index 0000000..b4addba
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_12.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_13.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_13.png
new file mode 100644
index 0000000..4d55ac0
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_13.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_14.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_14.png
new file mode 100644
index 0000000..eae13eb
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_14.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_15.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_15.png
new file mode 100644
index 0000000..86364a4
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_15.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_16.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_16.png
new file mode 100644
index 0000000..761d79a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_16.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_17.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_17.png
new file mode 100644
index 0000000..e26a460
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_17.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_18.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_18.png
new file mode 100644
index 0000000..3274c16
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_18.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_19.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_19.png
new file mode 100644
index 0000000..bdae041
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_19.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_20.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_20.png
new file mode 100644
index 0000000..997013a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_20.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_21.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_21.png
new file mode 100644
index 0000000..cfed717
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_21.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_22.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_22.png
new file mode 100644
index 0000000..15c3dab
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_22.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_23.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_23.png
new file mode 100644
index 0000000..d5d392e
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_23.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_24.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_24.png
new file mode 100644
index 0000000..a09826c
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_24.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_25.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_25.png
new file mode 100644
index 0000000..4d95132
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_25.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_26.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_26.png
new file mode 100644
index 0000000..a643a57
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_26.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_27.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_27.png
new file mode 100644
index 0000000..f7aa417
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_27.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_28.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_28.png
new file mode 100644
index 0000000..3e2a144
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_28.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_29.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_29.png
new file mode 100644
index 0000000..3cf4a3f
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_29.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_30.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_30.png
new file mode 100644
index 0000000..d414eb1
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_30.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_31.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_31.png
new file mode 100644
index 0000000..094d1e7
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_31.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_32.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_32.png
new file mode 100644
index 0000000..3458b08
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_32.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_33.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_33.png
new file mode 100644
index 0000000..c94213a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_33.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_34.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_34.png
new file mode 100644
index 0000000..e0f272d
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_34.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_35.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_35.png
new file mode 100644
index 0000000..9224181
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_35.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_36.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_36.png
new file mode 100644
index 0000000..700c30d
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_36.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_37.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_37.png
new file mode 100644
index 0000000..b3bd275
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_37.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_38.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_38.png
new file mode 100644
index 0000000..38747b1
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_38.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_39.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_39.png
new file mode 100644
index 0000000..1e9eedf
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_39.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_40.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_40.png
new file mode 100644
index 0000000..0d3cf48
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2/JHotDraw_2_40.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_01.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_01.png
new file mode 100644
index 0000000..bc39336
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_01.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_02.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_02.png
new file mode 100644
index 0000000..6f69e01
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_02.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_03.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_03.png
new file mode 100644
index 0000000..bf71a2c
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_03.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_04.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_04.png
new file mode 100644
index 0000000..5b6fe33
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_04.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_05.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_05.png
new file mode 100644
index 0000000..52d0f62
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_05.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_06.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_06.png
new file mode 100644
index 0000000..fdd444f
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_06.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_07.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_07.png
new file mode 100644
index 0000000..9f65eea
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_07.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_08.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_08.png
new file mode 100644
index 0000000..b2ce094
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_08.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_09.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_09.png
new file mode 100644
index 0000000..53bd81a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_09.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_10.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_10.png
new file mode 100644
index 0000000..a7dd9ec
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_10.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_11.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_11.png
new file mode 100644
index 0000000..f96cd44
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_11.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_12.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_12.png
new file mode 100644
index 0000000..7fbcbba
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_12.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_13.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_13.png
new file mode 100644
index 0000000..8f2635a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_13.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_14.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_14.png
new file mode 100644
index 0000000..35eaf31
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_14.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_15.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_15.png
new file mode 100644
index 0000000..1b5497e
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_15.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_16.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_16.png
new file mode 100644
index 0000000..ac9ea8c
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_16.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_17.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_17.png
new file mode 100644
index 0000000..04d0c32
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_17.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_18.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_18.png
new file mode 100644
index 0000000..554455f
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_18.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_19.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_19.png
new file mode 100644
index 0000000..33ae836
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_19.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_20.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_20.png
new file mode 100644
index 0000000..fde128a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_20.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_21.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_21.png
new file mode 100644
index 0000000..8ac55f4
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_21.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_22.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_22.png
new file mode 100644
index 0000000..0761e19
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_22.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_23.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_23.png
new file mode 100644
index 0000000..d3f6ce0
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_23.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_24.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_24.png
new file mode 100644
index 0000000..370958a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_24.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_25.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_25.png
new file mode 100644
index 0000000..00f65bb
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_25.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_26.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_26.png
new file mode 100644
index 0000000..60d8737
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_26.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_27.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_27.png
new file mode 100644
index 0000000..9bdb496
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_27.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_28.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_28.png
new file mode 100644
index 0000000..287d161
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_28.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_29.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_29.png
new file mode 100644
index 0000000..9861c7a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_29.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_30.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_30.png
new file mode 100644
index 0000000..b61c008
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_30.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_31.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_31.png
new file mode 100644
index 0000000..1f15275
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_31.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_32.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_32.png
new file mode 100644
index 0000000..a92ee23
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_32.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_33.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_33.png
new file mode 100644
index 0000000..dbe3e6e
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_33.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_34.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_34.png
new file mode 100644
index 0000000..9cbc92a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_34.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_35.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_35.png
new file mode 100644
index 0000000..6a2bcbd
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_35.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_36.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_36.png
new file mode 100644
index 0000000..5f5cad7
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_36.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_37.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_37.png
new file mode 100644
index 0000000..3ddc96a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_37.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_38.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_38.png
new file mode 100644
index 0000000..bd93206
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_38.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_39.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_39.png
new file mode 100644
index 0000000..ea742cc
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta/JHotDraw_2_delta_39.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_01.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_01.png
new file mode 100644
index 0000000..f250b0a
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_01.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_02.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_02.png
new file mode 100644
index 0000000..99bd234
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_02.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_03.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_03.png
new file mode 100644
index 0000000..033dfb2
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_03.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_04.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_04.png
new file mode 100644
index 0000000..92ae538
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_04.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_05.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_05.png
new file mode 100644
index 0000000..b545d71
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_05.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_06.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_06.png
new file mode 100644
index 0000000..829a40d
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_06.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_07.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_07.png
new file mode 100644
index 0000000..5dc17f1
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_07.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_08.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_08.png
new file mode 100644
index 0000000..868ae7b
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_08.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_09.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_09.png
new file mode 100644
index 0000000..6e77e65
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_09.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_10.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_10.png
new file mode 100644
index 0000000..bcbde56
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_10.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_11.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_11.png
new file mode 100644
index 0000000..7c739ef
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_delta_pre/JHotDraw_2_delta_pre_11.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_01.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_01.png
new file mode 100644
index 0000000..4853fed
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_01.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_02.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_02.png
new file mode 100644
index 0000000..ba1b2d4
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_02.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_03.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_03.png
new file mode 100644
index 0000000..3d22509
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_03.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_04.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_04.png
new file mode 100644
index 0000000..ea0e50b
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_04.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_05.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_05.png
new file mode 100644
index 0000000..5708e1d
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_05.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_06.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_06.png
new file mode 100644
index 0000000..14d52d2
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_06.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_07.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_07.png
new file mode 100644
index 0000000..8c56cbc
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_07.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_08.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_08.png
new file mode 100644
index 0000000..401de23
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_08.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_09.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_09.png
new file mode 100644
index 0000000..c6db1a9
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_09.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_10.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_10.png
new file mode 100644
index 0000000..1805653
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_10.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_11.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_11.png
new file mode 100644
index 0000000..43a8f81
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_11.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_12.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_12.png
new file mode 100644
index 0000000..74ad2a0
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_12.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_13.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_13.png
new file mode 100644
index 0000000..698f291
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_13.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_14.png b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_14.png
new file mode 100644
index 0000000..28d06d1
--- /dev/null
+++ b/courseB/JHotDraw_Forward/problem2/images/images_problem2_pre/JHotDraw_2_pre_14.png
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_01.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_01.png
deleted file mode 100644
index bf567e1..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_01.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_02.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_02.png
deleted file mode 100644
index 4915d54..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_02.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_03.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_03.png
deleted file mode 100644
index ef630a1..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_03.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_04.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_04.png
deleted file mode 100644
index 03b4722..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_04.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_05.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_05.png
deleted file mode 100644
index c23c54b..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_05.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_06.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_06.png
deleted file mode 100644
index fc42145..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_06.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_07.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_07.png
deleted file mode 100644
index 8f6b3a0..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_07.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_08.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_08.png
deleted file mode 100644
index 00bad40..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_08.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_09.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_09.png
deleted file mode 100644
index 3d133d3..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_09.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_10.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_10.png
deleted file mode 100644
index 06d5d2c..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_10.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_11.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_11.png
deleted file mode 100644
index a51864b..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_11.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_12.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_12.png
deleted file mode 100644
index b4addba..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_12.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_13.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_13.png
deleted file mode 100644
index 4d55ac0..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_13.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_14.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_14.png
deleted file mode 100644
index eae13eb..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_14.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_15.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_15.png
deleted file mode 100644
index 86364a4..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_15.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_16.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_16.png
deleted file mode 100644
index 761d79a..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_16.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_17.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_17.png
deleted file mode 100644
index e26a460..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_17.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_18.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_18.png
deleted file mode 100644
index 3274c16..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_18.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_19.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_19.png
deleted file mode 100644
index bdae041..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_19.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_20.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_20.png
deleted file mode 100644
index 997013a..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_20.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_21.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_21.png
deleted file mode 100644
index cfed717..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_21.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_22.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_22.png
deleted file mode 100644
index 15c3dab..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_22.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_23.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_23.png
deleted file mode 100644
index d5d392e..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_23.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_24.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_24.png
deleted file mode 100644
index a09826c..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_24.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_25.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_25.png
deleted file mode 100644
index 4d95132..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_25.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_26.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_26.png
deleted file mode 100644
index a643a57..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_26.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_27.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_27.png
deleted file mode 100644
index f7aa417..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_27.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_28.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_28.png
deleted file mode 100644
index 3e2a144..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_28.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_29.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_29.png
deleted file mode 100644
index 3cf4a3f..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_29.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_30.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_30.png
deleted file mode 100644
index d414eb1..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_30.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_31.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_31.png
deleted file mode 100644
index 094d1e7..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_31.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_32.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_32.png
deleted file mode 100644
index 3458b08..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_32.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_33.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_33.png
deleted file mode 100644
index c94213a..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_33.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_34.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_34.png
deleted file mode 100644
index e0f272d..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_34.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_35.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_35.png
deleted file mode 100644
index 9224181..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_35.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_36.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_36.png
deleted file mode 100644
index 700c30d..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_36.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_37.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_37.png
deleted file mode 100644
index b3bd275..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_37.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_38.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_38.png
deleted file mode 100644
index 38747b1..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_38.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_39.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_39.png
deleted file mode 100644
index 1e9eedf..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_39.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_40.png b/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_40.png
deleted file mode 100644
index 0d3cf48..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2/JHotDraw_2_40.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_01.png b/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_01.png
deleted file mode 100644
index c6db1a9..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_01.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_02.png b/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_02.png
deleted file mode 100644
index 1805653..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_02.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_03.png b/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_03.png
deleted file mode 100644
index 43a8f81..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_03.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_04.png b/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_04.png
deleted file mode 100644
index 74ad2a0..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_04.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_05.png b/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_05.png
deleted file mode 100644
index 698f291..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_05.png
+++ /dev/null
Binary files differ
diff --git a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_06.png b/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_06.png
deleted file mode 100644
index 28d06d1..0000000
--- a/courseB/JHotDraw_Forward/problem2/images_problem2_pre/JHotDraw_2_pre_06.png
+++ /dev/null
Binary files differ