1. UMLとクラス図


演習 1-1 (チーム): クラス図を画像検索して見てみましょう。

チームみんなで手分けして「クラス図」で画像検索し、指定場所に「クラス図の画像」を貼り付けて下さい(自分の氏名も入れて最低一人1件) 。


演習 1-2 (個人): 単一クラス図を描いてみましょう。

オブジェクト指向プログラミングの三大要素の演習で作成したOELM_2_2フォルダの中にある Score.java を開いて下さい。
任意のドローツールを起動します。
Score スーパークラスのクラス図を描いて下さい。フィールドの型、メソッドの戻り値、メソッドの引数、コンストラクタや getter/setter は省略して構いません。
「CDIAG_1_2」の名前で保存して下さい(拡張子はドローツールによります)。
チーム内で答え合わせをし、クラス図を画像ファイルとして保存してください。
指定場所に「画像」を貼り付けて下さい。


2. 汎化 (is-a 関係)


演習 1-3 (個人): 汎化のクラス図を描いてみましょう。

引き続き「OELM_2_2」のクラス図を作成します。
「CDIAG_1_2」をコピーして「CDIAG_1_3」に名前を変えて下さい(拡張子はドローツールによります)。
「CDIAG_1_3」を任意のドローツールで開いて下さい。
Taro、Hanako の単一クラス図を描いて下さい。
Score と Taro、Hanako を汎化の矢印で繋いで下さい。
チーム内で答え合わせをし、クラス図を画像ファイルとして保存してください。
指定場所に「画像」を貼り付けて下さい。


3. 関連

4. 集約 (has-a/part-of 関係)


演習 1-4 (個人): 「OELM_2_2」に集約を導入してみましょう

仕様:

MyWorld クラスを新規作成し、Taro型のインスタンスを2つ、Hanako型のインスタンスを3つフィールドとして定義する
MyWorld クラスのコンストラクタで各インスタンスを作成し、名前を表示する

結果:

MyWorldのコンストラクタ実行
引数なしコンストラクタ実行
引数なしコンストラクタ実行
引数なしコンストラクタ実行
引数なしコンストラクタ実行
引数なしコンストラクタ実行
name = タロー
name = タロー
name = ハナコ
name = ハナコ
name = ハナコ

フォルダ「OELM_2_2」をフォルダ「CDIAG_1_4」に丸ごとコピーし、その中に移動します。
MyWorld.java を新規作成し、以下のソースコードを貼り付けてください。

public class MyWorld{

	private Taro taro0;
	private Taro taro1;

	private Hanako hanako0;
	private Hanako hanako1;
	private Hanako hanako2;

	public MyWorld() {

		System.out.println("MyWorldのコンストラクタ実行");

		taro0 = new Taro();
		taro1 = new Taro();

                hanako0 = new Hanako();
                hanako1 = new Hanako();
                hanako2 = new Hanako();

                // ※

                System.out.println( "name = " + taro0.get_name());
                System.out.println( "name = " + taro1.get_name());

                System.out.println( "name = " + hanako0.get_name());
                System.out.println( "name = " + hanako1.get_name());
                System.out.println( "name = " + hanako2.get_name());
	}
}

Main.java を新規作成し、以下のソースコードを貼り付けてください。

public class Main{

	public static void main(String[] args) {
		MyWorld myworld = new MyWorld();
	}
}

実行します。
提出物はありません。


演習 1-5 (個人): 集約のクラス図を描いてみましょう。

「CDIAG_1_4」のクラス図を作成します。
「CDIAG_1_3」をコピーして「CDIAG_1_5」に名前を変えて下さい(拡張子はドローツールによります)。
「CDIAG_1_5」を任意のドローツールで開いて下さい。
MyWorld の単一クラス図を描いて下さい。
MyWorld と Taro、Hanako を集約の矢印で繋ぎ、多重度の数字を記述して下さい。
チーム内で答え合わせをし、クラス図を画像ファイルとして保存してください。
指定場所に「画像」を貼り付けて下さい。